我是Forge的新手,正在阅读一些文档,但是要使一些较旧的示例正常工作(页面无法正确加载等)似乎非常困难,而且我目前正在使用版本6,该版本比也有很多例子。
是否可以在客户端代码中获取一些用户数据并基于该数据生成热图(覆盖房屋地板的顶部)(即,不同的颜色块,可能非常简单)。 / p>
这使用的是Revvitt模型,该模型已上传到Forge并显示在查看器中。
我没有使用Three.JS的经验,但是如果有人可以向我指出正确的方向,向我展示一个有效的示例,或者至少告诉我是否有可能,我将不胜感激!
答案 0 :(得分:0)
有两个选项,具有不同的复杂度:
您可以使用setThemingColor和clearThemingColors等官方查看器API向选定的对象添加半透明的颜色。
如果需要用更复杂的东西覆盖场景元素,则可以用自定义THREE.ShaderMaterial替换其原始材质。只要确保遵循Forge Viewer使用的three.js 71版文档即可。 https://forge.autodesk.com/blog/forge-viewer-custom-shaders-part-1中说明了向Forge Viewer添加新材料并将其分配给特定对象的过程。这篇文章有些陈旧,但是我认为其中的相关部分(主要是createShaderMaterial
和selectionHandler
函数)可以重复使用。