opengl:dcc_tools
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
opengl:dcc_tools [2014/04/22 01:49] – [Maya] oga | opengl:dcc_tools [2014/04/22 22:28] (現在) – [Scripting] oga | ||
---|---|---|---|
行 4: | 行 4: | ||
===== Maya ===== | ===== Maya ===== | ||
- | 動作環境: | + | * 動作環境: |
+ | * Y-up | ||
- | * mel : Maya 独自の script 言語。内部のオペレーションは men コマンドの集合で表現できる。Attribute Editor (AE) 等 UI の記述にも利用。 | + | * mel |
- | * < | + | * Maya 独自の script 言語。内部のオペレーションは men コマンドの集合で表現できる。Attribute Editor (AE) 等 UI の記述にも利用。 |
+ | * < | ||
+ | * OpenMaya API を介して、mel よりも深い情報へのアクセスが可能。< | ||
* Object と Function を完全に分離している、階層構造の他に Attribute の Connection 情報 (DAG) を保持できるなど。 | * Object と Function を完全に分離している、階層構造の他に Attribute の Connection 情報 (DAG) を保持できるなど。 | ||
* 初期の Plug-in はすべて < | * 初期の Plug-in はすべて < | ||
- | * Python 2.x : Maya 8.5 より Python をサポート。python からは mel コマンドと < | + | * Python 2.x |
+ | * Maya 8.5 より Python をサポート。python からは mel コマンドと < | ||
* AE などの組み込み UI はやはり mel を使う。 | * AE などの組み込み UI はやはり mel を使う。 | ||
行 17: | 行 21: | ||
==== Scripting ==== | ==== Scripting ==== | ||
- | mel は関数言語インターフェースと、Unix のような Command Line インターフェースが混在している。 | + | mel は関数型の書式と、Unix のような Command Line 型の書式が混在している。 |
そのため C言語と ShellScript (csh) が混在したような形となっている。 | そのため C言語と ShellScript (csh) が混在したような形となっている。 | ||
- | 型付けあり。 | + | 静的な型付けあり。 |
+ | |||
+ | |||
+ | < | ||
+ | // Function Type | ||
+ | string $result= func( param1 ~ ); | ||
+ | |||
+ | // Command Line Type | ||
+ | string $result= `command -flag1 param1 ~`; | ||
+ | </ | ||
+ | |||
+ | Command Line 型引数では、Expression 範囲が明確にならないため必ず括弧 ' | ||
+ | |||
+ | < | ||
+ | print ( $param + $param2 ); | ||
+ | </ | ||
+ | |||
関数名とファイル名を一致させておくと自動的に検索が行われ、勝手に読み込んでくれる。 | 関数名とファイル名を一致させておくと自動的に検索が行われ、勝手に読み込んでくれる。 | ||
行 26: | 行 47: | ||
+ | * [[opengl: | ||
==== Plug-in ==== | ==== Plug-in ==== | ||
行 32: | 行 54: | ||
Viewport の拡張も可能。 | Viewport の拡張も可能。 | ||
+ | 独自ノードの追加には ID 割り当てが必要。 | ||
+ | ==== Data access ==== | ||
+ | |||
+ | 情報は Node 単位で保持されている。 | ||
+ | JavaScript などの Object と同じで、情報は名前付きの Attribute に格納されている。 | ||
+ | 自由に追加削除が可能。 | ||
+ | |||
+ | 他の言語と異なるのは、Attribute 同士の入出力を Connection 可能なこと。 | ||
+ | 必要な情報を得るためには、Node 同士の Connection (Plug) をたどって関連する情報を調べる必要があり。 | ||
+ | |||
+ | Node の各アトリビュートは mel と同じように名前でアクセスできる。 | ||
+ | |||
+ | 自由度が非常に高いので、データの決め打ちはできない。 | ||
+ | どのような構造になっているのかその都度調べていく。 | ||
+ | |||
+ | |||
+ | |||
+ | ==== ShaderFX ==== | ||
+ | |||
+ | Maya 2015 よりサポートした Connection Base の Hardware シェーダーエディタ。 | ||
+ | Maya 上で Rendring できる他、直接 hlsl/ | ||
+ | |||
+ | 従来の Shading Network とは完全に別物で、Shading Network の 1 Node の中に HW 専用の Node 構造が含まれている。 | ||
+ | Maya から見れば 1 Material 扱いとなる。 | ||
+ | |||
+ | ShaderFX Node の情報は " | ||
+ | チェックがない場合は Shader 内部の定数値とみなす。 | ||
+ | |||
+ | " | ||
+ | |||
+ | |||
+ | * [[: | ||
行 39: | 行 93: | ||
===== 3ds Max ===== | ===== 3ds Max ===== | ||
- | 動作環境: | + | * 動作環境: |
+ | * Z-up | ||
- | | + | |
+ | * C言語 | ||
+ | | ||
* Maya のように OS から完全に独立した API セットではなく Windows に依存している。 | * Maya のように OS から完全に独立した API セットではなく Windows に依存している。 | ||
* 初期の頃はマニュアルが整備されておらず、API リファレンスがなかった。 | * 初期の頃はマニュアルが整備されておらず、API リファレンスがなかった。 | ||
- | * MAXScript | + | * MAXScript |
- | * Python 2.x : 2014 より対応したらしい。 | + | * Maya のように内部構造と一致していない。 |
+ | * Python 2.x | ||
+ | * 2014 より対応したらしい。 | ||
+ | 基本的に情報は番号管理でシンプル。 | ||
行 55: | 行 114: | ||
===== Blender ===== | ===== Blender ===== | ||
- | plug-in は Python 3.x のみ | + | * 動作環境: |
+ | * Z-up | ||
+ | |||
+ | ==== Plug-in ==== | ||
+ | |||
+ | |||
+ | * Python 3.x | ||
+ | * plug-in は Python 3.x のみ | ||
行 62: | 行 128: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Houdini ===== | ||
opengl/dcc_tools.1398098956.txt.gz · 最終更新: 2014/04/22 01:49 by oga