目次
Softimage SDK プログラミング ガイド
新機能と変更点
Softimage 2014
Softimage 2013
Softimage 2012 Subscription Advantage Pack
Softimage 2012
Softimage 2011
はじめに
SDK コンポーネントの紹介
Softimage SDK アーキテクチャについて
Softimage API の構造について
Softimage オブジェクトモデルと C++ API の違いについて
Softimage でのカスタマイズのタイプ
ヘルプを使用する
『コマンドおよびスクリプト リファレンスのガイド』の読み方
SDK を使用して Softimage をカスタマイズする
自己インストール プラグイン
自己インストールプラグインの概要
プラグイン ウィザードを使って作業する
プラグイン プロパティの設定
プラグイン用ヘルプファイルの指定
プラグイン項目の登録
プラグイン項目の命名
カスタム プロパティでのプリフィックスの使用
コールバックの書き出し
自己インストール プラグインを配布する
自己インストール プラグインのコールバック
プラグイン タイプによるコールバック
コールバック リスト
カスタム プリミティブ
カスタム プリミティブを作成する
カスタム プリミティブ ウィザード
カスタム コマンド
カスタム コマンドとは
カスタム コマンド ウィザード
コマンドの登録
コマンドの機能の設定
コマンドのユーザ インターフェイス テキストの提供
引数の追加
引数の操作
値を返す
C++ コールバックの書き出し
スクリプトからの C++ カスタム コマンドの呼び出し
メニューへのコマンドの追加
カスタム コマンドを元に戻す/やり直す
カスタム オペレータ
カスタム オペレータとは
オペレータの登録
カスタム オペレータ ウィザード
接続の作成
カスタム パラメータの追加
スタティック オペレータとダイナミック オペレータ
Softimage でのオペレータの適用
制限事項
ランタイム オペレータと自己インストール カスタム オペレータ
ヒントとテクニック
カスタム プロパティ
カスタム プロパティとは
カスタム プロパティを作成する
ダイアログのビルド
カスタム プロパティを定義する
自己インストール プロパティの作成
プロパティの自己インストール式への移行
プロパティ コールバック
プロパティ ページ コントロール
ラベル
固定テキスト
ビットマップ ウィジット
編集可能テキスト ボックス
単一行テキスト
複数行テキスト
テキスト エディタ ウィジェット
Enum コントロール
リスト ボックス
コンボ ボックスとドロップダウン ボックス
ラジオ ボタン
アイコン ボタン
ビットフィールド
パス コントロール
ファイル ブラウザ ウィジット
フォルダ ウィジット
数値コントロール
スライダ付き数値編集ボックス
RGB カラー コントロール
RGBA カラー コントロール
F カーブ ウィジット
GridData ウィジット
シノプティック ウィジット
チェック ボックス
コマンド ボタン
コントロール属性を設定する
グループ コントロール
ラッピング コントロール(行)
複数ページ(タブ)の使用
コントロールウィンドウのサイズ変更
カスタム プロパティを動的に変更する
処理中のプロパティページの定義
ヘルプ ファイルのを提供する
カスタム プロパティ ページのサンプル
カスタム ICENode
カスタム ICENode とは
処理フェーズ
実装の概要
カスタム ICENode の登録
ICENodeDefオブジェクト
登録の例
カスタム ICENode の処理
ポートデータへのアクセス
ポート データのインデックス処理
ポート データの繰り返し適用
マルチ ポート接続
ポートのポリモーフィズムを処理する
ユーザデータ
CustomVector3ToScalar の例
カスタム ICENode のカテゴリ
標準カスタム ICENode
シングルスレッド カスタム ICENode
マルチフェーズ カスタム ICENode
エレメント ジェネレータ カスタム ICENode
シングルスレッド/エレメント ジェネレータ カスタム ICENode
マルチフェーズ/エレメント ジェネレータ カスタム ICENode
カスタムICENodeの適用
カスタム ICENode ウィザード
ポート
カスタム タイプ
オプション
Code
カスタム ICENodes のアイコンをカスタマイズする
制限事項
カスタム シェーダ
Softimage カスタム シェーダについて
シェーダ定義のインスタンス化と ProgID
シェーダ定義プラグインを作成する
シェーダ言語パーサ定義を作成する
リアルタイム(ハードウェア)シェーダ プラグインの作成
Preset Manager の登録
シェーダ ファミリ
シェーダ ファミリの検出
ネイティブ Softimage シェーダ ファミリ
カスタム シェーダ ファミリの作成
シェーダ パラメータ定義
パラメータ データ タイプ
パラメータ定義の追加
パラメータ定義の UI コントロールを調整する
VBScript の例: レンダツリーでのポートのグループ化
JScript の例: UI のないパラメータ定義
ShaderDef 属性を設定する
レンダラ情報の提供
Softimage でのシェーダコードの編集
シェーダ定義とパーサの例
mental ray シェーダ ウィザードを使用する
カスタム Fx オペレータ
カスタム Fx オペレータとは
ソース コードの例
UFO の用語
実装
定義
ラスターの入力と出力
ユーザ データ
レンダリング
画面描画と画面インタラクション
メモリ割り当て
Fx オペレータのコンパイル
UFO のインストール
キャラクタ開発キット
キャラクタ開発キットを使用する
二足、ドッグレッグ、および四足からリグへのコマンド アクセス
カスタマイズリグの作成
例: カスタム リグ スクリプトの分析
デフォルト ガイド内のガイド オブジェクトを識別する
頭と首
胸とスパイン
腹部と腰
尾
腕、手、および指
脚と足
スキン
戻り値を使って作業する
例: タコリグの作成
CDK オブジェクト リファレンス
Biped
Quadruped
Head
Arm
Hand
Belly
Spine
Torso
Tail
Leg
DogLeg
Foot
Joint
Shadow
BicepRoll
ForeArmRoll
ControlSpline
PointSlide
ThighSlide
UI
カスタム フィルタ
カスタム フィルタとは
フィルタ タイプ
フィルタ コールバック
フィルタの作成
3D オブジェクトフィルタの記述
SubComponent フィルタの記述
プロパティ フィルタの記述
オブジェクト フィルタの記述
コード内でのカスタム フィルタの使用
フィルタの登録
カスタム イベント
イベントとは
対応イベント
イベントの作成
イベントハンドラの登録
イベントコールバック
コンテキスト属性
イベントのミュート
イベントハンドラをプログラムによってインストールする
カスタム ディスプレイ ホスト
Custom Display Host について
開発環境のセットアップ
カスタム ディスプレイ ホストのコンポーネント
カスタム レンダラ
カスタム レンダラとは
レンダリング エンジンの登録
プロパティの追加
ファイル形式の指定
イメージのレンダリング
アーカイブの書き出し
単一フレーム/複数フレームのアーカイブ
シーンのサブセットのレンダリング
デバイス ドライバ
デバイス ドライバとは
デバイス ドライバの作成
Softimage でのデバイスドライバの登録
デバイス ドライバのパッケージング
デバイス ドライバの例
標準メニューとコンテキスト メニュー
メニューでカスタマイズできる内容
ユーザ独自のメニューの作成方法
Softimage でのカスタム メニューの登録
カスタム メニューのパッケージング
カスタムメニューのサンプル
スプレッドシート クエリ
スプレッドシートクエリとは
スプレッドシート クエリのスクリプティング
スプレッドシート クエリをインストールする
カスタマイズのビルドおよび配布
個人用配備オプション
Softimage User Interface Toolkit(XSIUIToolkit)の使用
ウォークスルー: プラグイン マネージャ
プラグイン マネージャを使った作業
プラグイン ツリーを使った作業
プラグインの競合を解決する
ワークグループを使用する
ワークグループの管理
ウォークスルー: アドオンのビルド
アドオン パッケージ
アドオン ディレクトリ
アドオンを記録する
アドオンをパッケージングする
アドオン パッケージを編集する
アドオンをインストールおよびアンインストールする
アドオン パッケージの内容
Install Shield を使った Softimage プラグインのインストール
パッケージ ダイアログを使用する
ファイルのインストールなどにおけるコマンド ラインの使用
オブジェクト モデルでのアドオン操作
制限事項
クロスプラットフォームの配備
1 つのライブ ラリファイル(.DLL/SO)に複数のハンドラをバンドル
グラフィックシーケンサ
Softimage でのハードウェア ディスプレイの制御について
Softimage グラフィック シーケンサ(XGS)プラグインの作成
ビューポート コールバックのタイプ
SDK での作業
選択
選択範囲のアクセス
現在選択されている内容の確認
選択されているオブジェクトのリストへのアクセス
オブジェクト モデルから選択されているコンポーネントのリストにアクセスする
C++ API を介して選択されたコンポーネントのリストにアクセスする
CRefArray として選択リストを操作する(C++ API の場合のみ)
現在の選択フィルタの取得
選択の操作
単一のアイテムの選択(選択範囲への追加)
項目のリストを選択する
特定のアイテムの選択解除(選択範囲からの削除)
すべての選択の解除(選択範囲のクリア)
階層の操作
モデリング
ジオメトリのデフォーム(コンポーネントの変更)
トポロジの変更(コンポーネントの追加と削除)
クラスタを取得する
テクスチャUVへのアクセス
頂点カラーへのアクセス
ポリゴン アイランドの列挙
ローカルリファレンスフレームの取得
モード値の操作
アニメーション
アニメーション レベル
エクスプレッション
エクスプレッションを作成する
エクスプレッションのアクセス
リンク パラメータ
F カーブ
F カーブの補間と外挿
コンストレイント
シェイプ アニメーション
エンベロープ
ソースとクリップ
DataSource
相対名
Animation Mixer
再生コントロール
PlayControl プロパティ セットにアクセスする
現在のフレームを取得および変更する
タイムライン上で移動する
目的の方向への再生開始
PlayControl オプションを変更する
フレーム レートおよびフォーマットを制御する
再生中の各フレーム変更におけるコマンドを実行する
ICE ノード
ICE とは
ポート ポリモーフィズムとデータの整合性
配列ノードのデータへのアクセス
ICE グラフをデバッグする
ICE ノード パーティクル
パーティクル クラウドの作成
シミュレート ICE ツリーのコンポーネントのアクセス
Softimage シーン グラフを使った作業
3D オブジェクトの検索
ツリー内の移動
特別なナビゲーション ツール
フルパスによるエレメントの検索
パラメータを使った作業
パラメータとは
パラメータ値へのアクセス
コンパウンド パラメータ
プロキシ パラメータ
シーンのロード完了後の値の設定(補助ファイル)
戻り値および出力引数を使って操作する
戻り値の概要
出力引数の概要
各言語でサポートされている出力引数
ISIVTCollectionの概要
関数がすでに値を戻している場合の処理について
戻り値および出力引数の処理の例
VBScript の例: 出力引数と ISIVTCollection
VBScript の例: メソッドから出力引数を取得する
JScript の例: メソッド「2」の回避策の使用
JScript の例: ISIVTCollection の使用
Python の例: コマンドから戻された ISIVTCollection を使用した作業
Python の例: メソッドから出力引数にアクセスするためにタプルを使用する
例: 出力引数と戻り値のカスタム コマンドによる回避策
オペレータでの作業
オペレータとは
オペレータを適用する
コネクション セットについて
オペレータとその他へのアクセス
ファイルとパスを使った作業
外部ファイルの情報の取得
UNC パス
カスタムデータ(ユーザデータ)の格納
ユーザ データとは
バイナリ ユーザ データのオブジェクトにアタッチする
コンポーネント上のバイナリ ユーザ データにアクセスする
コンポーネント上のユーザ データ テンプレートにアクセスする
シーン内のユーザ データの検索
SOFTIMAGE|3D のユーザ データを読み込む
実行した操作に対する情報の表示
ユーザ設定を使った操作
スクリプト開発
Softimage スクリプト入門
サポートされるスクリプト言語
Softimage オブジェクトモデルの使い方(初心者向け)
詳細情報の参照先
Python スクリプト
Python を取得して Softimage 定数(enum)を認識する
メソッドからの出力引数の取得
Python クラスをコマンドボタンにリンクする
Softimage でPython カスタム モジュールを使って操作する
カスタム コマンドから Python タイプを返す
Python のショートカット
ヒント
例
コマンド例
オブジェクト モデルの例
Script Editor の使用
Script Editor について
スクリプトを編集する
コーディングの簡素化
スクリプト環境のカスタマイズ
コマンドヒストリの使用
ヘルプの取得
スクリプト ファイルを管理する
スクリプトを実行する
シーン エレメントへのアクセス
文字列式
オブジェクト名
コンポーネント
エレメント タイプ
パラメータ
オブジェクト リスト
マーク パラメータ リスト
スクリプト コマンドで選択する
データ型と戻り値
「型」について
言語間でのデータ タイプを比較する
整数
Long
Float
Double
文字列
ブール
Variant
配列
KeyValue
値を返す
戻り値に関する必要な知識
オブジェクトおよびコレクションに関する注意事項
戻り値が有効であるかどうかを確認する
戻り値の型をチェックする
Softimage で配列(およびその他のコレクション)を使った作業
ネイティブ配列の使用
GridData オブジェクトの使用
カスタムプロパティセット内での GridData オブジェクトの使用
GridData オブジェクトを一時的に使用する
コレクションと配列
コレクションを使用する
コレクションを作成および追加する
コレクションとコレクション項目の削除
グループとコレクションおよび配列
Softimage ネイティブ コマンドによるグループへのアクセス
オブジェク トモデルを使用してグループにアクセスする
特殊なスクリプト関数およびオブジェクト
ActiveX オブジェクトの作成
グローバル(ネイティブ)オブジェクト
最適化されたコードの記述
GetValue および SetValue の代わりにオブジェクト モデルを使用する
現在のフレームを変更する代わりに EvaluateAt()を使用する
オブジェクト モデルでグローバル変数を使用する
文字列式とオブジェクト ポインタの間の不要な変換を回避する
スクリプトのデバッグ
Microsoft Script Debugger の使用
PyWin Debugger の使用
エラー メッセージについて
ERROR<so>ERROR:2001-<function_name> - Argument <#> is invalid<so>2001function_name Argument <#> is invalid
ERROR : 2038 - Bad Variable Type
ERROR : 2000 - Argument <#>(<parametername>)is invalid
ERROR : Cannot use parentheses when calling a Sub
ERROR : Expected end of statement
ERROR : Invalid argument specified
ERROR : <enum_name> is not defined
ERROR : <tuple_name> is not defined
ERROR : ’tuple’ object has no attribute
ERROR : Object doesn't support this property or method:
ERROR : Object not a collection
ERROR : Object required
ERROR : (Python)dict can not be converted to a COM VARIANT
ERROR : Syntax error
ERROR : Type mismatch
ERROR : Wrong number of arguments or invalid property assignment
バッチ スクリプトの実行
Softimage の稼動モードを確認する方法(バッチ モードまたはインタラクティブ モード)
バッチ スクリプトに引数を渡す方法
バッチ モードでスクリプトを実行する
リモートでのスクリプト実行
コマンド ウィンドウを自動的に閉じる
リアルタイム メッセージ ログ
他のアプリケーションとの相互運用性
C++ API 開発
C++ API について
C++ プラグインのビルド
C++ プラグインの作成
プラグインのコンパイル
プラグインのデバッグ
プラグインのリビルド
ビルドに関する一般的な問題
環境変数およびビルドフラグ
C++ API を使用したプログラミング
Softimage オブジェクトの参照: CRef
CRef キャスト オペレータについて
Softimage での操作
Variant および SafeArray の使用
UV順序
パラメータパフォーマンスの最適化
C++ からのコマンドの呼び出し
戻り値へのアクセス
出力引数を操作する
レガシー プラグイン コールバック
レガシープラグインの移行
C++ API と Softimage オブジェクト モデルの混在
C# 開発
Softimage で C# を使用する
C# プラグインのビルド
C# プラグインを作成する
プラグインのコンパイル
プラグインのデバッグ
プラグインのリビルド
ビルドまたはロードに関する一般的な問題
共有ネットワークからプラグインをロードできない
Softimage で .NET プラグインをロードできない
C#を使用したプログラミング
Softimage での操作
C# のデータ型とキャスティングについて
列挙型定数と文字列定数の使用
オブジェクトモデルメンバの呼び出し
C# からのコマンドの呼び出し
C# による Softimage プラグインのビルド
XSICollection オブジェクトの作成