2012-12-27 23 views
6

質問:Three.jsスプライトテクスチャを反転/ミラーリングすることはできますか?Three.js:スプライトを反転できますか?

背景:私が最初にそれがどんな影響を受けることなく、3D回転です変更するtry'd:これまで three.js

調査結果の現在のDEVブランチを使用します。それから私は、スプライトのコードを検査し、回転がSprite.jsにこのラインにresetedされていることを見た:そこの値を変更する

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

は何の効果もなかったしませんでした。もっと深く掘り下げてしまうと、SpriteRendererプラグインで私は完全に失われてしまいました。

私の理解は、three.jsがスプライトをレンダリングするためにシェーダを使用していることと、これは巨大なパフォーマンスプラスだと私は理解しています。したがって、単純な面を使って自分のスプライトの実装を書くのは間違った方向に感じます。

+0

あなたは常にTHREEスプライトのための独自の '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

これはSphereGeometryのBackSideにあったビデオテクスチャで私のために働いた。 –

関連する問題