質問: お世話になります。Three.jsについて勉強しておりますが、 ビルボードについて分からないことがあり質問させていただきます。 現在、Three.jsでビルボードを使用したいと思っています。 ビルボードをカメラに正対させているのは、以下の1行です。 billboard.rotation.setFromRotationMatrix( camera.matrix ); これですと、ビルボードがシーンに配置(add)されている場合は、 正常にカメラの方を向きますが、例えばキャラクタに追従するパーティクル等 シーン内にあるオブジェクトに配置する(ビルボードが子オブジェクトになる) 場合、カメラに正対してくれません。 どの様にすれば良いかご存じの方がいらっしゃいましたら、 ご教授下さい。よろしくお願いします。
回答: これが正しいかどうかはわかりませんが、一応考え方としては、親オブジェクトの回転の逆の回転をさせて回転を帳消しにして、カメラの回転を与えた回転を子オブジェクトに与えるカメラに正対させることができました。 ``` var q = parentObj.quaternion.clone().inverse().multiply(camera.quaternion.clone()); for (var i = 0; i < meshCnt; i++) { parentObj.children[i].quaternion.copy(q); } ``` デモページ