spriteMaterial是Three.js中的点精灵材质。
利用它我们可以在场景中加载图片,贴上纹理。并且效果很棒。
但是它默认是不可以旋转的。
即,不管你怎么旋转场景,它的角度都是固定的,就静静的伫立在那里一动不动。
这个问题在three.js github issues讨论里面好像也有人吐槽过,但是我没有找到解决办法。只能自己动手试啦。
那么,如果我们需要控制它随着控制器旋转,该怎么做呢?
很简单:
mesh.material.rotation = - controls.constraint.getAzimuthalAngle()
只需要获取控制器的旋转角度,然后在update的时候实时改变材质的旋转角度,保持一致,即可。
需要注意的是,必须在update的时候,也就是场景不停的render的时候改变它的值。
然后你可以在后面根据需求加上角度即可!
网友评论