Three.js: three.jsの法線マップの利き手規則とは何ですか?

作成日 2017年05月11日  ·  3コメント  ·  ソース: mrdoob/three.js

これを文書化しておくと役立つ場合があります。 @emackeyは GLTF2Loader (https://github.com/donmccurdy/three-gltf-viewer/issues/10) の問題を指摘しており、法線マップの反転が原因のようです。 比較のために:

BabylonJS: x 軸 = 左、y 軸 = 下
OpenGL:x軸=右、y軸=上
DirectX:x軸=右、y軸=下

Question

最も参考になるコメント

答えは@WestLangley@donmccurdyによってここでhttps

うまくいけば、私は正しく要約しています:

  • ThreeJSのデフォルトの法線マップの利き手は、glTFと同じ、右利きのOpenGLです。
  • ThreeJSのデフォルトのUV原点は左下で、glTFの左上のUV原点とは反対です。
  • その結果、GLTFLoaderはUVを反転してから、通常の利き手を反転して補正する必要があります。

全てのコメント3件

これについて進展はありましたか?

私自身のプロジェクトでは、次のように設定し

    material.normalScale.x = -1;

何も聞いていません。 知っておくといいのですが、サンプルモデルで正しく機能する場合は、 normalScale.x反転する傾向があります。

答えは@WestLangley@donmccurdyによってここでhttps

うまくいけば、私は正しく要約しています:

  • ThreeJSのデフォルトの法線マップの利き手は、glTFと同じ、右利きのOpenGLです。
  • ThreeJSのデフォルトのUV原点は左下で、glTFの左上のUV原点とは反対です。
  • その結果、GLTFLoaderはUVを反転してから、通常の利き手を反転して補正する必要があります。
このページは役に立ちましたか?
0 / 5 - 0 評価