spriteMaterial (rotate) 旋转问题

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容