プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:3Dテストプログラム開発
FXComposer
FXComposer2.5
NVIDIA社のシェーダプログラミング開発環境。
スポットライトは簡単に配置できるが、これをHLSLコードに変換する方法は不明。



◎どうしたもんだかHLSL

DirectX9には「D3DLIGHT9構造体」と「SetLight関数」があって、これを使うとスポットライトが出来るらしいのですが、XNAからDirectXを直接操作する方法は不明です。(やると誤動作するかも?)

というわけで、XNA標準エフェクトを超える場合は、HLSLで実装するのが一般的らしいのですが…以前書いたように、一筋縄ではいかないんですね、これが。

言語仕様は単純そうなんですが、それよりも「要求を実現するためには、何をすればいいか」がさっぱりです。3Dの基礎を知らずに踏み込める領域じゃないんでしょうね~。

ネットや地元の本屋など探してみましたが、私が理解できそうなものは見つかりませんでした。



◎FX Composerを試してみる

何か取っ掛かりが欲しくて、FX Composerを試してみました。似たようなツールに「Render Monkey」がありますが、サブPCのグラフィックカードがたまたまGeForce FXだったので、こちらにしました。

スポットライトが簡単に配置出来たので、「あとはこのスポットライトをHLSLに変換してくれればOK」と思ったのですが、その方法が分かりません。

ネットで調べると「FX Composerは、先にコードを記述して、そのエフェクトのかかり具合を目で確認するツール」のようなことが書かれてました。本当でしょうか?
FX Composerに関する情報はわりと多いのですが、バージョンによる変化が激しいようで、いまいち確信が持てません。マニュアルも英語だし…うーん。。。

ちなみに、.Xファイルをインポートする機能はありますが、RokDeBone2サンプルデータを読み込んだらエラーになりました。まぁこれは.Xファイルのテンプレートの問題かもしれません。



◎mental millを試してみる

FX Composerが行き詰まってしまったので、付属の「mental mill」を試してみました。こちらはGUIベースでシェーダエフェクトの構築が出来るツールです。

こちらの記事を参考に使ってみると、直感的でシンプルな作りになっています。特に、入力パラメータと出力パラメータをマウスでドラッグして繋げる、というのは面白いし分かり易いですね。

ただ、肝心のライト設定はちょっと特殊でよく分かりませんでした。ライトのパラメータの意味は別の所で勉強しないといけないなぁ。

さて、肝心のHLSLですが、部品を2、3個繋げてエクスポートしたら、25KBものコードが出力されました。うわ~これを解析してXNAに取り込むなんて出来ませーん!



◎というわけで

今回は「FX Composerを使いこなせませんでした」というヘタレ日記でした。(爆)
誰か、配置したスポットライトのHLSLコードを生成出来るか知ってる人がいたら教えてください。

次回は、懲りずに「RenderMonkey」やる予定です。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

こんばんは。
なんかまたすごいことに挑戦されているようですね。自分にはまったく意味不明ですが(笑
テキストにもHLSLのことは少し載っていたので、見てみようと思います。(理解できるかはおいといて)
自分は、エフェクト=BasicEffectって感じだったので、エフェクトについても勉強していこうと思います。
ところで、前々回のモーションブレンディングについてなのですが(ここで聞くべきではないのかもしれませんが・・・)、モーションブレンドは、単純にいうと二つのモーションを混ぜる ということでいいのでしょうか。
仮に、左手を上げるモーションと右手を上げるモーションをブレンドしたら両手を上げる のような感じです。この解釈で正しいのか少し自信がないのですが、いかがでしょうか。

こんばんは

いつもコメント寄せて頂いてありがとうございます。(^^)

見ての通り、エフェクトは現在苦戦中でして…基礎を飛ばしてきた報いですね(汗)
もしテキストに何か良さげなことが載っていたら、教えてもらえるとありがたいです。

さて、モーションブレンディングですが、まさにコメントに書かれた通りです。右手と左手のモーションをブレンドすると両手を上げます。

通常は、首や手足を分割してモーション管理するのでしょうけど、今回のプログラムはそれを逆手に取って、わざとおかしなブレンドを狙っています。

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。