ユーザ用ツール

サイト用ツール


opengl:dcc_tools

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
opengl:dcc_tools [2014/04/22 01:50] – [Maya] ogaopengl:dcc_tools [2014/04/22 22:28] (現在) – [Scripting] oga
行 8: 行 8:
  
  
-  * mel Maya 独自の script 言語。内部のオペレーションは men コマンドの集合で表現できる。Attribute Editor (AE) 等 UI の記述にも利用。 +  * mel 
-  * <nowiki>C++</nowiki> OpenMaya API を介して、mel よりも深い情報へのアクセスが可能。<nowiki>C++</nowiki> Object ベース。+    * Maya 独自の script 言語。内部のオペレーションは men コマンドの集合で表現できる。Attribute Editor (AE) 等 UI の記述にも利用。 
 +  * <nowiki>C++</nowiki> 
 +    * OpenMaya API を介して、mel よりも深い情報へのアクセスが可能。<nowiki>C++</nowiki> Object ベース。
     * Object と Function を完全に分離している、階層構造の他に Attribute の Connection 情報 (DAG) を保持できるなど。     * Object と Function を完全に分離している、階層構造の他に Attribute の Connection 情報 (DAG) を保持できるなど。
     * 初期の Plug-in はすべて <nowiki>C++</nowiki> で記述されていた。     * 初期の Plug-in はすべて <nowiki>C++</nowiki> で記述されていた。
-  * Python 2.x Maya 8.5 より Python をサポート。python からは mel コマンドと <nowiki>C++</nowiki> API の両方にアクセスできる。+  * Python 2.x 
 +    * Maya 8.5 より Python をサポート。python からは mel コマンドと <nowiki>C++</nowiki> API の両方にアクセスできる。
     * AE などの組み込み UI はやはり mel を使う。     * AE などの組み込み UI はやはり mel を使う。
  
行 18: 行 21:
 ==== Scripting ==== ==== Scripting ====
  
-mel は関数言語インターフェースと、Unix のような Command Line インターフェースが混在している。+mel は関数型の書式と、Unix のような Command Line 型の書式が混在している。
 そのため C言語と ShellScript (csh) が混在したような形となっている。 そのため C言語と ShellScript (csh) が混在したような形となっている。
-型付けあり。+静的な型付けあり。 
 + 
 + 
 +<code> 
 +// Function Type 
 +string $result= func( param1 ~ ); 
 + 
 +// Command Line Type 
 +string $result= `command -flag1 param1 ~`; 
 +</code> 
 + 
 +Command Line 型引数では、Expression 範囲が明確にならないため必ず括弧 '('~')' で囲む必要がある。 
 + 
 +<code> 
 +print ( $param + $param2 ); 
 +</code> 
 + 
  
 関数名とファイル名を一致させておくと自動的に検索が行われ、勝手に読み込んでくれる。 関数名とファイル名を一致させておくと自動的に検索が行われ、勝手に読み込んでくれる。
行 27: 行 47:
  
  
 +  * [[opengl:maya_mel|Maya mel]]
 ==== 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/glsl/cg の出力が可能。
 +
 +従来の Shading Network とは完全に別物で、Shading Network の 1 Node の中に HW 専用の Node 構造が含まれている。
 +Maya から見れば 1 Material 扱いとなる。
 +
 +ShaderFX Node の情報は "Expose as Material Input" にチェックを入れると外部から Connection できる情報となる。
 +チェックがない場合は Shader 内部の定数値とみなす。
 +
 +"Expose as Material Input" を指定した場合、Material node の Attribute として公開される。
 +
 +
 +  * [[:opengl:maya_shaderfx|Maya ShaderFX]]
  
  
行 40: 行 93:
 ===== 3ds Max ===== ===== 3ds Max =====
  
-動作環境: Windows+  * 動作環境: Windows 
 +  * Z-up
  
-  * Plug-in は C言語で Windows API を直接利用する形。+ 
 +  * C言語 
 +    * Plug-in は C言語で Windows API を直接利用する形。
     * Maya のように OS から完全に独立した API セットではなく Windows に依存している。     * Maya のように OS から完全に独立した API セットではなく Windows に依存している。
     * 初期の頃はマニュアルが整備されておらず、API リファレンスがなかった。     * 初期の頃はマニュアルが整備されておらず、API リファレンスがなかった。
-  * MAXScript は Maya のように内部構造と一致していない。 +  * MAXScript 
-  * Python 2.x 2014 より対応したらしい。 +    * Maya のように内部構造と一致していない。 
 +  * Python 2.x 
 +    * 2014 より対応したらしい。
  
  
 +基本的に情報は番号管理でシンプル。
  
  
行 56: 行 114:
 ===== Blender ===== ===== Blender =====
  
-動作環境: Windows, Mac OS X, Linux+  * 動作環境: Windows, Mac OS X, Linux 
 +  * Z-up
  
 +==== Plug-in ====
  
-plug-in は Python 3.x のみ+ 
 +  * Python 3.x 
 +    * plug-in は Python 3.x のみ
  
  
行 66: 行 128:
   * [[http://wlog.flatlib.jp/archive/1/2012-12-28|Blender 2.6 の Export plug-in を作る (2) データアクセス]]   * [[http://wlog.flatlib.jp/archive/1/2012-12-28|Blender 2.6 の Export plug-in を作る (2) データアクセス]]
   * [[http://wlog.flatlib.jp/archive/1/2012-12-27|Blender 2.6 の Export plug-in を作る (1)]]   * [[http://wlog.flatlib.jp/archive/1/2012-12-27|Blender 2.6 の Export plug-in を作る (1)]]
 +
 +
  
  
opengl/dcc_tools.1398099054.txt.gz · 最終更新: 2014/04/22 01:50 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki