当前位置:  开发笔记 > 编程语言 > 正文

THREE.BufferGeometry - 如何手动设置面部颜色?

如何解决《THREE.BufferGeometry-如何手动设置面部颜色?》经验,为你挑选了1个好方法。

我有一个BufferedGeometry,我想为每个脸设置颜色.但是,据我所知,color几何上的属性设置每个顶点的颜色,而不是面.

我无论如何都试着通过在材质上设置每面的着色方案,material.vertexColors = THREE.FaceColors;并在每个面上放置一个Float32Array颜色属性(RGB,每个范围从0到1)来尝试使用它.这没有所需的输出.



1> WestLangley..:

您想在使用时指定面部颜色BufferGeometry.为此,请执行以下操作:

使用非索引BufferGeometry.

添加color属性.

geometry.addAttribute( 'color', new THREE.BufferAttribute( colors, 3 ) );

color属性中,指定每个面的所有三个顶点具有相同的颜色.

如果您使用的是three.js内置材质,请在材质定义中进行设置

vertexColors: THREE.VertexColors

如果您正在使用ShaderMaterial,则必须自己编写着色器.

three.js r.83

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有