spriteMaterial是Three.js中的点精灵材质。
利用它我们可以在场景中加载图片,贴上纹理。并且效果很棒。
但是它默认是不可以旋转的。
即,不管你怎么旋转场景,它的角度都是固定的,就静静的伫立在那里一动不动。
这个问题在three.js github issues讨论里面好像也有人吐槽过,但是我没有找到解决办法。只能自己动手试啦。
那么,如果我们需要控制它随着控制器旋转,该怎么做呢?
很简单:
mesh.material.rotation = - controls.constraint.getAzimuthalAngle()
只需要获取控制器的旋转角度,然后在update的时候实时改变材质的旋转角度,保持一致,即可。
需要注意的是,必须在update的时候,也就是场景不停的render的时候改变它的值。
然后你可以在后面根据需求加上角度即可!
spriteMaterial (rotate) 旋转问题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Three.js是一个3DJavaScript库,基于右手坐标系,可以创建简单或是比较复杂的三维图形并应用丰富多彩...
- This article is a record of my journey to learn Game Deve...