opengl:dcc_tools
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| opengl:dcc_tools [2014/04/22 01:50] – [Maya] oga | opengl:dcc_tools [2014/04/22 22:28] (現在) – [Scripting] oga | ||
|---|---|---|---|
| 行 8: | 行 8: | ||
| - | * 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 を使う。 | ||
| 行 18: | 行 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 ); | ||
| + | </ | ||
| + | |||
| 関数名とファイル名を一致させておくと自動的に検索が行われ、勝手に読み込んでくれる。 | 関数名とファイル名を一致させておくと自動的に検索が行われ、勝手に読み込んでくれる。 | ||
| 行 27: | 行 47: | ||
| + | * [[opengl: | ||
| ==== Plug-in ==== | ==== Plug-in ==== | ||
| 行 33: | 行 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 内部の定数値とみなす。 | ||
| + | |||
| + | " | ||
| + | |||
| + | |||
| + | * [[: | ||
| 行 40: | 行 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 より対応したらしい。 | ||
| + | 基本的に情報は番号管理でシンプル。 | ||
| 行 56: | 行 114: | ||
| ===== Blender ===== | ===== Blender ===== | ||
| - | 動作環境: | + | * 動作環境: |
| + | * Z-up | ||
| + | ==== Plug-in ==== | ||
| - | plug-in は Python 3.x のみ | + | |
| + | * Python 3.x | ||
| + | * plug-in は Python 3.x のみ | ||
| 行 66: | 行 128: | ||
| * [[http:// | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| + | |||
| + | |||
opengl/dcc_tools.1398099054.txt.gz · 最終更新: by oga
