yqrashawn
yqrashawn

Reputation: 423

How to set opacity of each nodes

Is there anyway to set opacity of some nodes of the model?

For instance, create a override material and use it in renderer for some nodes rather than whole scene.

Upvotes: 1

Views: 836

Answers (2)

Felipe
Felipe

Reputation: 4375

When loading a model, the viewer builds its internal spatial indexing structures (BVHs), and one of the factors it takes into account is the transparency of the different fragments. This is in order to ensure that semi-transparent objects are rendered after the opaque ones.

However, when changing the material of a fragment on-the-fly (after initial load of your model), the order is not updated because the viewer doesn't have a way to rebuild the BVHs on demand, and you can end up with something like opaque objects hidden by transparent ones ... We have a pending change request in order to add an API that would allow developers to rebuild BVHs, unfortunately it has not yet been added yet.

You may take a look at the following resources for example of modifying materials in the viewer:

Autodesk.ADN.Viewing.Extension.Material

Forge Viewer Custom Shaders - Part 1

Forge Viewer Custom Shaders - Part 2

Custom transparent meshes with View & Data API

Hope that helps

Upvotes: 1

Jeremy Tammik
Jeremy Tammik

Reputation: 8294

Yes, sure.

The ForgeFader app creates and sets override materials on certain nodes in the viewer:

Check it out in:

src/client/viewer.components/Viewing.Extension.Fader/Viewing.Extension.Fader.Core.js.

Upvotes: 0

Related Questions