更改网格面的材质或颜色
Change material or color in mesh face
我有一个由许多顶点和面(网格)组成的Three.Geometry对象。我想动态更改选定面的颜色或材质。
geometry.colorsNeedUpdate = true;
geometry.faces[1].color.setHex(0xcccccc); //this doesn't work
上面的代码使新的不透明度奇怪。它的行为就像不替换颜色,而是将新颜色与旧颜色混合。因此,用ligher覆盖深色是不可能的。如何解决此问题?我的材料确实适用:
mat = new THREE.MeshBasicMaterial({color:"white",shading: THREE.FlatShading,side: THREE.DoubleSide,vertexColors: THREE.FaceColors, needsUpdate : true});
我想做的另一种方法也是将引用改为其他材料:
geometry.faces[0].materialIndex = 1; // works only when disabled OpenGL in browser
已set material.needsUpdate flag to true
并检查https://github.com/mrdoob/three.js/wiki/Updates
仍然没有变化。
你在把苹果和桔子混合。不要同时使用面部颜色和MeshFaceMaterial
。
首先,在WebGLRenderer中,网格渲染一次后,不能更改面materialIndex
。但是,您可以更改材质阵列中的一种材质。
需要使用MeshBasicMaterial
作为网格材质,并指定vertexColors: THREE.FaceColors
。这样你就可以控制每一张脸的颜色。一定要在每个脸的颜色上加上首字母,这样你就可以得到棋盘图案了。同时将材质颜色设置为0xffffff
,否则您将看到您试图避免的倍增效果。
three.js r.58
相关文章:
- Chart.js条形图:网格颜色和隐藏标签
- 合并具有不同颜色的网格
- 更改光滑网格中特定行的背景颜色
- CRM 4.0:自定义网格颜色
- 三.js WebGL 网格材质获得与画布背景相同的颜色
- 更改网格 extjs3 中的记录边框颜色
- 如何更改网格中一列的字体颜色
- 在WebGL中渲染多网格对象时,背景(画布)颜色将消失
- 如何在ASP.net网格视图中修改jQuery进度条颜色
- Threejs更改网格颜色;我没有被认出
- Dojo1.7数据网格根据隐藏列中的文本更改行颜色
- 更改网格面的材质或颜色
- 网格系统不像文档中那样显示颜色
- 我想把不同的颜色为每个Y轴值网格线的颜色
- 如何改变图标或图标的颜色在剑道ui网格过滤器
- 如何删除或颜色线/网格在极地图表区域使用chart .js
- 网格在场景中,但是除了渲染器的清晰颜色之外什么都没有出现
- 如何保留组合框选定的背景颜色,内部网格面板一旦移动到下一行.或者可以说集中注意力
- 如何为动态变化的数据更改ag网格单元格的颜色
- 如何更改Telerik ASP的文本颜色.净网格