外部 Python モジュールを使って Houdini で Vicon のモーションキャプチャデータである .c3d ファイルフォーマットを読み込む方法を紹介。元ネタは、MIKE DATSIK 氏によるこちら。
使用したバージョン: 15.0.439
1. Python ファイルのダウンロード
必要な Python モジュールは https://github.com/mikedatsik/C3DtoHoudini からダウンロード。
- Download ZIP ボタンをクリックすれば全部一括ダウンロード可能。
2. ファイルの配置
ダウンロードした C3DtoHoudini-master.zip を解凍する。C3DtoHoudini-master というディレクトリが出来、その直下には以下のようなディレクトリ構造が出来る。
+ python2.7libs/ + PyC3D/ + sample/ - MainMenuMaster.xml - README.md
このうち、MainMenuMaster.xml は、~/houdini<version>/ 以下に配置する。例えば、Windows 7 上で Houdini 15.0 を使っている場合には、/Users/<username>/My Documents/houdini15.0/ に配置 (以下このディレクトリは HOUDINI_USER_PREF_DIR と記述)。
python2.7libs/ 以下の PyC3D/ ディレクトリは、
- 単独のビルドで使う場合
- 一つのバージョン(複数のビルド)で使う場合
- すべてのバージョンとビルドで同じように使う場合
- 単独のビルド (例: 15.0.439) で使う場合 (お勧めしません)
- 使っている Houdini のインストールディレクトリ ($HFS) 以下のpython27/lib/site-packages にディレクトリをコピー。例えば、C:\Program Files\Side Effects Software\Houdini 15.0.439\python27\lib\site-packages 以下に PyC3D をコピー。
- 既存のディレクトリにコピーするので手っ取り早いが、何よりも一つのビルドに限定されてしまうので、お勧めできない。
- 一つのバージョン(複数のビルド)で使う場合
- $HOUDINI_USER_PREF_DIR に python2.7libs という名のディレクトリを作成。
- その中に PyC3D を移動。
- こうすることで、同じバージョンのビルドすべてで使用可能。
- すべてのバージョンとビルドで使う場合
-
Python が既に単体でインストールされている場合やHoudini 以外のソフトウェアや複数のバージョンの Houdini からアクセスしたい場合、以下の方法を取る。
- (Windows で) C:\Python27\ 以下に Python 2.7 がインストールされている場合
- C:\Python27\Lib\site-packages に PyC3D をコピー。
- Windows の場合、環境変数 PYTHONPATH に上記ディレクトリを追加。
- $HOUDINI_USER_PREF_DIR/houdini.env に
PYTHONPATH = "C:/Python27/Lib/site-packages"
としてもよいし、 - システム環境変数に PYTHONPATH を追加、値をC:\Python27\Lib\site-packages としても良い。
- $HOUDINI_USER_PREF_DIR/houdini.env に
3. モジュールが正しく認識されているかの確認
PyC3D モジュールが正しく Houdini に認識されているか確認するには、以下の方法を使う。
- Houdini を起動。Python Shell を開く。
- 以下のコマンドを入力。
import sys for p in sys.path: print p
再度改行を押した際に表示されるパスに指定したディレクトリ(例: C:\Python27\Lib\site-packages) があれば、Python モジュールは正しく認識されるはず。 - File ->Import 以下に Import C3D... というメニューが追加され、実行すればファイル選択のブラウザが表示される。
4. .c3d ファイルの読み込み
上記で追加された File->Import -> Import C3D... を実行、開いたパネルで読み込む .c3d ファイルを指定、Import ボタンをクリックしてファイルを読み込む。
- このページ一番上のアニメーションGIF は sample 内の Basketball.c3d を読み込み、Playblast した様子。
関連項目:
- Houdini の Python 概要
- *.py の格納位置
- Houdini 環境変数設定
- Houdini 製品概要 (Side Share 外部ファイル)
0 件のコメント:
コメントを投稿