Open GoogleCodeExporter opened 9 years ago
Firstly, you should override viewer's onmousedown/onmouseup callbacks to setup
your own event handlers. Both these methods have the same signatures as
viewer.onmousexxx(x, y, button, depth, mesh). The last parameter indicates
which mesh instance your pointer is currently on or null if none.
Since you have the right mesh, you can create a new material with a different
color and attach it to the mesh using mesh.setMaterial() method. This changes
the looking of the specified mesh.
Finally, the viewer's update() method should be called at least once to apply
the changes and render a new frame.
The implementation code may look like this:
// create viewer instance and load your models, etc.
...
// override viewer's onmousedown callback to implement selection effect
viewer.onmousedown = function(x, y, button, depth, mesh) {
if(button == 0/*left button down*/ && mesh != null) {
// create a new material with a different color (blue for example)
var newMat = new JSC3D.Material('', 0, 0x000080, 0, true);
// set the new material to the selected mesh
mesh.setMaterial(newMat);
// tell viewer to render a new frame
viewer.update();
}
};
...
That's it!
Please note that a material is applied on a whole mesh. There's no way to just
change color of a particular area of it.
Original comment by Humu2...@gmail.com
on 11 Jun 2013 at 2:40
Thank You For your Support.
Original comment by vinj...@gamillc.com
on 13 Jun 2013 at 6:18
Original issue reported on code.google.com by
vinj...@gamillc.com
on 7 Jun 2013 at 9:52