2012-12-27 23 views
6

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

背景:使用three.js所

发现目前Dev分支到目前为止:我第一次try'd改变它没有任何效果的3D旋转。然后,我检查了精灵的代码,看到旋转在此行中reseted Sprite.js:

this.rotation3d.set(0, 0, this.rotation); 

更改值有没有任何效果。深入挖掘我最终在SpriteRenderer插件中完全丢失了。

我的理解是three.js使用着色器渲染精灵,这是一个巨大的性能加。所以使用简单的面写我自己的精灵实现感觉就像是错误的方向。

+0

你总是可以提供自己的'ShaderMaterial'三个精灵,但它似乎是矫枉过正。 –

回答

6

Okey,这是一个远射,但尝试设置你的精灵的比例尺为-1(在你想要翻转它的方向)。

+0

这工作。优雅而简单。谢谢:) –

2

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

+0

实在是太蹩脚了,实际上:) –

+0

但是到目前为止,这是最简单的方法,即使你必须在运行时执行它。 – Gero3

+0

如果我的答案有效(我不确定,现在还不能完全测试),我会争论。 –

2

只是发表它作为一种替代方案:

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

这对我来说是w /一个在SphereGeometry的BackSide上的视频纹理。 –