使用 PointCloudMaterial 旋转纹理
Rotating a texture using PointCloudMaterial
当我使用 CanvasRenderer
和 SpriteMaterial
时,我能够使用 material
中的 rotation
属性设置纹理的旋转。所以,比如说纹理是一个圆锥体,我想将它旋转 180 度:
material = new THREE.SpriteMaterial({
map : texture,
transparent : true,
rotation : Math.PI
});
但这似乎不适用于 WebGLRenderer
中的 PointCloudMaterial
。例如:
material = new THREE.PointCloudMaterial({
depthWrite : true,
alphaTest : 0.1,
map : texture,
transparent : true,
vertexColors : THREE.VertexColors,
rotation : Math.PI
});
那么我怎样才能使用 PointCloudMaterial
和 PointCloud
网格旋转纹理?请注意,在这两种情况下,texture
都作为 base64 字符串加载,如下所示:
var image = document.createElement('img');
var texture = new THREE.Texture(image);
image.src = /* The base64 string */
非常感谢!
我最终使用 canvas
来执行此操作,遵循 Three.js Rotate Texture 中描述的模式。这非常有效。
当我使用 CanvasRenderer
和 SpriteMaterial
时,我能够使用 material
中的 rotation
属性设置纹理的旋转。所以,比如说纹理是一个圆锥体,我想将它旋转 180 度:
material = new THREE.SpriteMaterial({
map : texture,
transparent : true,
rotation : Math.PI
});
但这似乎不适用于 WebGLRenderer
中的 PointCloudMaterial
。例如:
material = new THREE.PointCloudMaterial({
depthWrite : true,
alphaTest : 0.1,
map : texture,
transparent : true,
vertexColors : THREE.VertexColors,
rotation : Math.PI
});
那么我怎样才能使用 PointCloudMaterial
和 PointCloud
网格旋转纹理?请注意,在这两种情况下,texture
都作为 base64 字符串加载,如下所示:
var image = document.createElement('img');
var texture = new THREE.Texture(image);
image.src = /* The base64 string */
非常感谢!
我最终使用 canvas
来执行此操作,遵循 Three.js Rotate Texture 中描述的模式。这非常有效。