Cinema 4DからUnreal Engine 4への書き出し

スクリーンショット 2015-05-17 14.34.38

Cinema 4DからUE4に複数オブジェクトを思っていこうとすると、位置情報が無視されるためUE4内で配置をやり直す必要があります。3dsmaxのスクリプトで、座標情報をコピペ持っていけるものがあると聞いてPythonの連中がてら作成してみました。ただ、プログラム自体は経験がほぼゼロのため、コード的におかしいと思うし、コピペ結果の内容も構造的に間違っているところがあるが、一応持っていけているので公開します。

C4D2UE4.0.4.pyダウンロード

インストール方法

上記のファイルをダウンロードして解凍していください。Cinema 4Dを起動して、編集メニュー/一般設定を開き、一般設定ダイアログの左下にある<一般設定フォルダを開く…>をクリックしてください。

開いたフォルダ内にlibrary/scriptsに解凍したC4D2UE4.0.4.pyをコピーしてください。それからCinema 4Dを再起動すればインストール完了です。

使用方法

  1. まず、書き出したいシーンファイルを半角英数字のファイル名にして保存します。
    シーン内のオブジェクト名も半角英数字にしておいてしてください。
  2. 書き出したいシーンからCinema 4DからUE4にスタティックオブジェクトとして登録するオブジェクトをすべて選択します。この時に、同一形状でUE4で一つのスタティックオブジェクトを使いまわすオブジェクトが重複しないようにします。これをコピーして、新規ファイルにペーストします。
  3. 属性マネージャの座標タブで、P.X、P.Y、P.Zはすべて0、S.X、S.Y、S.Zはすべて1、R.H、R.P、R.Bはすべて0にします。
  4. それができたら、fbx形式で書き出します。fbxのファイル形式は2013を選び、元のC4D形式のファイルと同じ名前の半角英数字のファイル名にして保存します。つまり、1.の段階で保存したファイル名が、「UE_export.c4d」なら「UE_export.fbx」になるように保存します。
  5. 書き出したfbxファイルをUE4のコンテンツブラウザからインポートします。この時、FBXインポートオブションの<Combine Meshes>は、オフにしておきます。
  6. Cinema 4Dで1.で保存していたC4Dファイルを開き、UE4に持って行きたいオブジェクトをすべて選択します。この時に、同一オブジェクトは(たとえばインスタンス)は、すべて同じオブジェクト名にしてください。
  7. スクリプトメニュー/コンソール…を開き、なにかコンソールに書いてある場合は、コンソールウインドウのファイル/コンソールをクリアを選びます。
  8. スクリプトメニュー/ユーザースクリプト/C4D2UE4.04を選び実行すると、コンソールにテキストが出力されるので、それを右クリックして<全てコピー>を選びます。
  9. UE4に移り、編集メニュー/貼り付けを選べば、Cinema 4Dで選択してオブジェクトと同一にオブジェクトが配置されます。

制限

  • このスクリプトには制限があり、オブジェクトの位置はすべて絶対座標で書きだされ、親子関係などは全て無視されます。
  • C4Dのファイル名と書きだしたFBXのファイル名が同一である必要があります。
  • 登録したスタティックメッシュは、/Game/Meshes/の下に保存されている必要があります。

書き出すスタックメッシュをデフォルトのCubeとしてコピペしたい場合は、下記のスクリプトを使ってください。

C4D2UE4.py

 

 

One thought on “Cinema 4DからUnreal Engine 4への書き出し

Comments are closed.