Comments (2)
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 [email protected]
on 11 Jun 2013 at 2:40
from jsc3d.
Thank You For your Support.
Original comment by [email protected]
on 13 Jun 2013 at 6:18
from jsc3d.
Related Issues (20)
- model exported from Maya is not showing textures
- Error Generated When Identifying Canvas by Class
- CTM loader not working on IE11 HOT 1
- Transparent texture render ok in canvas but not in webgl HOT 1
- Mesh transformation working ok in canvas but not in webgl HOT 1
- Memory leak?
- texture loading HOT 1
- Product automatic rotation. HOT 1
- How to load 3ds with bmp file as texture? HOT 4
- Get the volume of loaded models
- ghh_slid
- add a image to .obj file
- Problem loading viewerA scene into viewerB scene HOT 1
- multiple viewers sharing scene HOT 1
- Scroll in newer Firefox HOT 1
- Loading .obj file - No image with no error message
- .obj models on usb flashdisk rendered in xulrunner
- Hide/show models with chechbutton (jsc3d)
- how to get a 3d point when you have canvas 2d point?
- suspect CSS syntax change
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jsc3d.