Javascript 指定对象部分的Three.js gltf

Javascript 指定对象部分的Three.js gltf,javascript,colors,three.js,gltf,Javascript,Colors,Three.js,Gltf,我有一个项目,我们想在three.js中使用gltf模型显示铁门的3d渲染。它们将类似于以下内容:。我需要能够改变的只是框架的颜色,而不是门上的玻璃窗格。如何识别和更改边框的颜色,使窗格玻璃保持相同的颜色? 谢谢最好在对象的设计阶段解决此问题。这意味着,当您在Blender等DCC工具中创建资产时,您必须确保门模型由多个组件(框架、窗格玻璃、把手等)组成,这些组件可能具有独特的材质 在应用程序中,您可以通过光线投射选择各个组件,提取相应的材质,然后更改颜色值。这样,其他组件就不会受到此操作的影响

我有一个项目,我们想在three.js中使用gltf模型显示铁门的3d渲染。它们将类似于以下内容:。我需要能够改变的只是框架的颜色,而不是门上的玻璃窗格。如何识别和更改边框的颜色,使窗格玻璃保持相同的颜色?
谢谢

最好在对象的设计阶段解决此问题。这意味着,当您在Blender等DCC工具中创建资产时,您必须确保门模型由多个组件(框架、窗格玻璃、把手等)组成,这些组件可能具有独特的材质

在应用程序中,您可以通过光线投射选择各个组件,提取相应的材质,然后更改颜色值。这样,其他组件就不会受到此操作的影响。官方的
three.js
示例提供了一些类似工作流的代码,例如:


好的,很高兴知道。如果我希望客户端能够选择three.js html元素之外的颜色,比如颜色选择器,该怎么办?因此,我无法使用光线投射,但需要按id或名称进行选择。只要我知道在设计过程中创建的组件名称,gltf.scene.getObjectByName是否有效?是的,这将是首选方法。选择唯一的名称很重要。