Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js:可以翻转精灵吗?_Three.js - Fatal编程技术网

Three.js:可以翻转精灵吗?

Three.js:可以翻转精灵吗?,three.js,Three.js,问题:是否可以翻转/镜像Three.js sprites纹理 Background:使用three.js的当前开发分支 到目前为止的发现:我首先尝试在没有任何效果的情况下更改它的3d旋转。然后我检查了sprites代码,发现在Sprite.js的这一行中重置了旋转: this.rotation3d.set( 0, 0, this.rotation ); 在那里更改值没有任何效果。深入挖掘之后,我在Spritender插件中完全迷失了方向 我的理解是three.js使用着色器渲染精灵,这是一个巨

问题:是否可以翻转/镜像Three.js sprites纹理

Background:使用three.js的当前开发分支

到目前为止的发现:我首先尝试在没有任何效果的情况下更改它的3d旋转。然后我检查了sprites代码,发现在Sprite.js的这一行中重置了旋转:

this.rotation3d.set( 0, 0, this.rotation );
在那里更改值没有任何效果。深入挖掘之后,我在Spritender插件中完全迷失了方向


我的理解是three.js使用着色器渲染精灵,这是一个巨大的性能提升。因此,使用简单的面编写我自己的sprite实现感觉是错误的方向

翻转纹理最简单的方法实际上是在上传到GPU之前翻转纹理图像。

好的,这是一个很长的过程,但请尝试将您的精灵的比例设置为-1(在您想要翻转它的方向上)。

只是将其作为一个替代方案发布:

texture = new three60.THREE.Texture(video);
texture.repeat.set(-1, 1);
texture.offset.set( 1, 0);

事实上,这是很蹩脚的:)但到目前为止,这是最简单的方法,即使你必须在运行时进行。如果我的答案有效(我不确定,现在还不能完全测试它),我会争辩。我想这也行得通。但我必须在纹理加载到GPU后进行翻转。想象一个具有面向不同方向的实体的平板形状。Barteks的回答非常有效。但无论如何还是要感谢:)你可以为三个精灵提供你自己的
ShaderMaterial
,但这似乎有点过分了。这对我来说很有用,因为它是一个球度仪背面的视频纹理。