インディゲーム開発者のturbocheke氏による、BlenderからUE5へのHair Groom Alembicデータ出力を支援してくれるエクスポーターアドオン「Groom exporter」がリリースされました!無料ですよ!
Groom exporter
Blender から Alembic に新しい Curves オブジェクト タイプをエクスポートすると、エクスポート ファイルは、Unreal Engine で指定された Groom スキーマを使用し、UE 5.1 で使用された新しい属性パラメータに更新されます。
新しいCurvesオブジェクトとGeometryノードは、UE用の新しい毛をより速く、素晴らしい結果で作成する力を与えます。
このアドオンには、依存関係として PyAlembic* ライブラリのインストールが必要で、ZIP に含まれるライブラリは、アドオンフォルダのみにインストールされます。(付属のライブラリは、python 3.10とWindows OS用にコンパイルされています; 別のプリコンパイルされたバージョンは、ここからダウンロードできます)。
- エクスポートされたカーブは、UE用に自動的に補正された変換を持ち、スケールはエクスポート設定に与えられます。
- 複数のオブジェクトを一緒にエクスポートすると、UE は別々のグループとして検出し、それぞれに異なる設定を適用することができます。
- Groom_ (tool, major_version, minor_version, group_id, name). Assets CurveオブジェクトのアセットとBlenderからエクスポートされるファイルにプロパティが付与されます。
- Groom_ (color, roughness, widths, and root_uv).
特殊なケースは未テスト
- Groom_properties;(アセット作成ツールからメタデータを保存するシステムのようです。(一連のUEコードレビューでは、使用されているようには見えません))。
- Groom_ (knots and orders); は、カーブのコントロールです(私の方でももう少し研究が必要です)。
- Groom_ (guide, id, closest_guide, weights_guides); は、UEに補間設定を与えるために使用される。(設定がない場合は、UEが自動的に計算する)。
注意事項
- アニメーションは非サポート
- このアドオンの目的は、Groom スキーマとその動作を知ることであり、blender 上でネイティブに実装するための研究を続けるつもりです。
- *-Blenderにはalembicライブラリがありますが、私の知識ではpythonからアクセスすることができません。
- -pythonのpip installerにはalembicライブラリがありますが、それはSQLデータを保存するために使われる特殊なalembicファイルです。
Blender 3.3.2のGeometry Nodesとカーブを使ったヘアーをUnreal Engine 5.1.0 Preview2に出力するテストを行いましたが問題なくいきましたよ!
とりあえず軽くテストしただけなので、標準のAlembic出力と違う部分がどれくらいあるのか、どれくらいの情報を引き渡すことが出来るかはこれから試して見るところです。
ちなみにアドオンを使わない方法はこちら
h64g氏によるアドオンを使わないフロー
「Groom exporter」アドオンはGumroadにて無料ダウンロード可能です。
PyAlembicを含んだバージョンと、含まないバージョンが存在します。導入方法はPDFドキュメントをご確認を。
現状Windowsのみに対応。是非チェックしてみてください!
コメント