FBXエクスポート時に接線(tangent)・従接線(binormal)を含める方法
4260 4 0- mmmorohoshi
- Member
- 7 posts
- Joined: May 2020
- Offline
お世話になります。
について質問させていただきます。
私はVex等で計算したtangentをFBXに含めて書き出す方法を探しています。
mayaでいうところの「接線・従接線を含める」オプションのようなものがHoudiniにありますでしょうか?
例えば以下のように自分でtangentを計算し、FBXで書き出しても、
現状では接線情報は含まれていないように見えます。(mayaにインポートして接線を表示し確認)
簡単ではございますがsceneファイルも添付させていただきます。
よろしくお願いいたします。
【行ったこと】
pointで計算した接線・従接線をvertexに変換してFBXエクスポート
について質問させていただきます。
私はVex等で計算したtangentをFBXに含めて書き出す方法を探しています。
mayaでいうところの「接線・従接線を含める」オプションのようなものがHoudiniにありますでしょうか?
例えば以下のように自分でtangentを計算し、FBXで書き出しても、
現状では接線情報は含まれていないように見えます。(mayaにインポートして接線を表示し確認)
簡単ではございますがsceneファイルも添付させていただきます。
よろしくお願いいたします。
【行ったこと】
pointで計算した接線・従接線をvertexに変換してFBXエクスポート
Edited by mmmorohoshi - Nov. 15, 2021 08:43:21
- Ken Taki
- Staff
- 334 posts
- Joined: April 2015
- Offline
添付いただいた tangentTest.hiplc の /obj/geo1/OUT の下に ROP FBX Output ノードを追加して $HIP/out.fbx として出力したファイルを再び File ノード (/obj/geo2/file1) で読み込み、Geometry Spreadsheet で Vertex アトリビュートを確認すると、読み込んだジオメトリには定義したアトリビュートとその値が残っていることがわかります。
よって、Houdini からの fbx 出力には tangentu と tangentv が書き出されていることがわかります。これはテキストエディタで開いてみても tangentu と tangentv が存在するのが確認できます。
すると質問は「Houdini から書き出した tangentu と tangentv を Maya に認識させるにはどうしたら良い?」ということになりますが、上の画像で Maya 上での tangent 表示はどのように行っているのでしょうか?
これは、Autodesk に訊いた方が速いかもしれませんが、Maya のバージョンと手順をお知らせいただけると有難いです。
よって、Houdini からの fbx 出力には tangentu と tangentv が書き出されていることがわかります。これはテキストエディタで開いてみても tangentu と tangentv が存在するのが確認できます。
すると質問は「Houdini から書き出した tangentu と tangentv を Maya に認識させるにはどうしたら良い?」ということになりますが、上の画像で Maya 上での tangent 表示はどのように行っているのでしょうか?
これは、Autodesk に訊いた方が速いかもしれませんが、Maya のバージョンと手順をお知らせいただけると有難いです。
- mmmorohoshi
- Member
- 7 posts
- Joined: May 2020
- Offline
- Ken Taki
- Staff
- 334 posts
- Joined: April 2015
- Offline
- mmmorohoshi
- Member
- 7 posts
- Joined: May 2020
- Offline
お世話になっております。
私自身の質問についておそらく答えが見つかりましたので共有いたします。
結論から申しますとmayaでは自動的にUV準拠のtangentが計算され、これが出力されるという仕様でした。
(HoudiniでいうところのPolyframeノード「style」パラメータ「Texture UV」に相当?)
そこでUE5にてHoudiniから書き出したFBXを読み込みますと、作成したカスタム接線をそのまま持ち込むことができました。
(UE5はFBXの接線を再計算することなくそのまま使用するモードがあります。)
また、わたくしの二番目の回答においてHoudiniから読み込んだFBXの接線が読み込めていなかった件に関しましては、アトリビュートとしてUVを
含めていなかったことが原因のようでした。UV込みで再度インポートしなおした所、maya側で再計算されたタンジェントにはなりますが確認することができました。
最後に、いただいた質問も併せて回答しておきます。
➀maya自身が再計算した接線が表示されます。(「接線のスムース」等で接線を編集していたFBXだとしても、再計算された接線が表示されます)
➁mayaでの接線が表示されます。
➂Name: "tangentu"に該当する部分は Name: "map1"となっていました。そこでtangentu の部分を map1に変更してインポートしてみましたが、特に変化はありませんでした。
お忙しい中ご対応ありがとうございました。
私自身の質問についておそらく答えが見つかりましたので共有いたします。
結論から申しますとmayaでは自動的にUV準拠のtangentが計算され、これが出力されるという仕様でした。
(HoudiniでいうところのPolyframeノード「style」パラメータ「Texture UV」に相当?)
そこでUE5にてHoudiniから書き出したFBXを読み込みますと、作成したカスタム接線をそのまま持ち込むことができました。
(UE5はFBXの接線を再計算することなくそのまま使用するモードがあります。)
また、わたくしの二番目の回答においてHoudiniから読み込んだFBXの接線が読み込めていなかった件に関しましては、アトリビュートとしてUVを
含めていなかったことが原因のようでした。UV込みで再度インポートしなおした所、maya側で再計算されたタンジェントにはなりますが確認することができました。
最後に、いただいた質問も併せて回答しておきます。
➀maya自身が再計算した接線が表示されます。(「接線のスムース」等で接線を編集していたFBXだとしても、再計算された接線が表示されます)
➁mayaでの接線が表示されます。
➂Name: "tangentu"に該当する部分は Name: "map1"となっていました。そこでtangentu の部分を map1に変更してインポートしてみましたが、特に変化はありませんでした。
お忙しい中ご対応ありがとうございました。
-
- Quick Links