Javascript 在three.js中以不同颜色显示两个对象的重叠体积
在THREE.js中,我的场景中有两个重叠的对象。我想知道如何以不同的颜色或纹理显示两个对象的重叠体积? 或者至少是两个不同颜色的物体的组合,显示另一种颜色?例如,如果两个对象分别为红色和蓝色,则重叠体积将显示紫色的重叠颜色。提前谢谢你!大概是这样的:Javascript 在three.js中以不同颜色显示两个对象的重叠体积,javascript,three.js,Javascript,Three.js,在THREE.js中,我的场景中有两个重叠的对象。我想知道如何以不同的颜色或纹理显示两个对象的重叠体积? 或者至少是两个不同颜色的物体的组合,显示另一种颜色?例如,如果两个对象分别为红色和蓝色,则重叠体积将显示紫色的重叠颜色。提前谢谢你!大概是这样的: 也可以考虑使用布尔运算来实现像之类的东西。 假设您有两个网格cube\u one和cube\u two。然后你可以做: cube_one_bsp = new ThreeBSP( cube_one ); cube_two_bsp = new Th
也可以考虑使用布尔运算来实现像之类的东西。 假设您有两个网格
cube\u one
和cube\u two
。然后你可以做:
cube_one_bsp = new ThreeBSP( cube_one );
cube_two_bsp = new ThreeBSP( cube_two );
cube_three_bsp = cube_one_bsp.intersect( cube_two_bsp );
现在,您可以使用toMesh
方法将多维数据集转换回three.Mesh
时,为其提供任何材质:
mesh = cube_three_bsp.toMesh( material );
现在,您已经将相交对象作为一个带有自定义材质的
e.Mesh
。快速且肮脏-您是否尝试将两个对象的材质参数分别设置为:透明:真,不透明度:0.6thanks,实际上,当我将其中一个对象的renderOrder更改为1时,这会起作用。但问题是我的一个对象需要100%不透明!嗯,我很难理解你是如何“看到”一个表面不透明的3D物体的内部体积的。如果你发布了一个截图或提供了更多关于你想要实现的目标的描述,这可能会有所帮助。谢谢!我添加了一个图像。这就是我想做的:)你能举个实例来说明你的问题吗?这里是你可以编辑的。