我收到一个错误:
THREE.ShaderMaterial:属性现在应该在THREE.BufferGeometry THREE.ShaderMaterial中定义:“attributes”不是这种材料的属性。
我想弄清楚到底是怎么回事。
我以前做了一个带有属性的缓冲区几何。我从来没有真正弄明白为什么需要这个,但我确实注意到,我需要“键入”它的种类,得到三个连接它与着色器。
{
attributes: {
aSomeAttribute:{
type: 'v3',
value:null
}
}
}我正在试图找出material.prototype.setValues(参数)的作用。据我所见,它接受传递给材料的参数({vertexShader:.,制服:.}),当它遇到属性时就会发疯。
发布于 2015-12-11 00:16:54
现在,您只能在从THREE.BufferGeometry继承的几何图形上应用自定义属性,例如,如果它是一个球体,请使用THREE.SphereBufferGeometry而不是THREE.SphereGeometry。然后创建属性数组,并通过THREE.BufferGeometry将其添加到几何学中。之后,您将能够使用您的属性在您的着色器。您可以找到一个示例这里。
https://stackoverflow.com/questions/34050361
复制相似问题