« 水の表現 | トップページ | 色々と不便 »

2009.03.15

FX Composer 2.5再入門

とりあえず、ニーズがありそうだったので久々にFX Composer 2.5ネタ。

PCを修理に出してていつも使ってるHTMLエディタが無いのでこっちで展開します。

前に2.0のときに下記のような記事を書きましたが、2.5用に改めてみました。内容的には似てますが、今回はXファイルをインポートしています。Xファイルの変わりにobjや3dsでも手順は同じだと思います。

前に書いた記事
http://www.shader.jp/xoops/html/modules/xfsection/article.php?articleid=24

長いので記事を折りたたみます(下のリンクからスタート)。

画像はクリックすると大きなサイズになります。

Fx001

とりあえず、起動するとこんな感じですね。New Projectを選択。

Fx002

作業用のレイアウトは、【View】の【Layout】から変更可能で、今回は【Default】を使います。

Fx003

モデルデータのインポートを行います。モデルデータのインポートは、【Models】のところを右クリックして【Import...】を選択します。左のカラムのような画面にするには、下のほうに切り替えタブがあるので【Assets】を選んでください。

Fx004

適当に読み込んでください。

Fx005

インポート設定です。マテリアルのインポートの有無とZYのフリップを聞かれます。

Fx006

Modelsの下にtestというのができました。

Fx007

次にEffectの作成です。これは【Effects】を右クリックすれば【Add Effect】できます。

Fx008

プロファイルを聞かれます。ようするに使いたいシェーダ言語ですね。とりあえず、HLSL FXにしておきます。

Fx009

エフェクトのテンプレートの選択です。新しいものを作りたい人はEmptyを選べばOKですが、今回はGoochにしておきます。

Fx010

デフォルトのまま話を進めます。

Fx011

【Effects】と【Materials】の下に"Gooch"と"Gooch_Material"ができてます。

Fx012

エフェクトを追加しましたが、右下のレンダリング結果を見るとRender Viewは更新されてません。これにエフェクトを適用する必要があります。

適用には、"Gooch"でも"Gooch_Material"でも良いのでマウスでRender View内のボックスのメッシュにドラッグ&ドロップしてください。

Fx013

そうすると上のようにGoochエフェクトが適用されます。

Fx014

シェーダコードをいじりたい場合には、【Effects】の下の【Gooch】のさらに下に【Gooch.fx】をクリックすると真ん中にコードが出てきます。

エフェクトのグローバルに書かれてる定数をいじりたい場合には、【Materials】の下の【Gooch Materials】を選択します。

Fx015

そうすると右側のRender Viewの上のPropertiesが有効になって定数をいじれます。下が、Goochデフォルトの定数ですね。

Fx016

ためしに【Gooch Worm Tone】という値をいじってみます。

Fx017

レンダリング結果が変わりますね。

Fx018

コード上では、下記のようになってます(範囲選択しているところ)。WarmColorというfloat3型の変数がGooch Warm Toneです。プロパティのUI上では、"UIName"のStringで表示されてます。"UIWidget"がUI上の振る舞いで"Color"と入れるとカラーピッカーで編集できるわけですね。FX Composerでは<>の中に書いたコードはアノテーションと呼びます。アノテーションには、いくつかキーワードがあってFX Composer側にシェーダコード内の変数などを理解させる仕組みになってます。詳しいことは、【Help】の【DirectX SAS】を見てみてください。

Fx019

・・・ということで、ざっとこんな感じですね。おちついたらShader.jpの方に載せなおすかもしれません。

« 水の表現 | トップページ | 色々と不便 »

Programming」カテゴリの記事

画像付き」カテゴリの記事

コメント

この記事へのコメントは終了しました。