| □(ハーフランバート) | 2008-03-17 Mon |
360などのHalf-Life2で実装されている
シェーディングを実装してみましたよ
まずはハーフランバート
これは、チェルシーのランパートをオフェンシブMFとボランチの間に置いて
自由に動かして、ミドルをバンバン狙っていこうと言う作戦
・・・
寒い?
実際は普通のランバード処理よりもちょいと陰影をやわらかくしてみようって言う処理みたい
結果はこんな感じ

(普通のランバートシェーディング)

(ハーフランバート)
正直言って、自己発光を上げたり、アンビエントカラーを薄くするのとなんら代わりの無い印象
やり方は簡単
本来の計算max(0,dot(N,L))に0.5をかけて0.5を足し、それを二乗するだけ
で、その次は環境キューブと言う話・・・
多分意味が解らなかった前回のキューブマップに当たる物を反射させてるだけだと思う
動的に生成はしてなく、静的に生成してるらしい(コストの問題)
これも、乗算か加算でかなり印象が変わってくる
正直乗算の方が好き


(加算)


(乗算)
Half-Life2の技術解説に出てる画像とあまりにも違うので
ここは要改良ですな
人の肌だと、また違った印象を持つのかもしれませんね
それで、この前からはまっているアンビエントオクリュージョンマップを加えると
いい感じの陰影が出るかと

(加算)

(乗算)
さすがに6面レンダリングでぼかして環境キューブマップを作成するのは重いと思うので
(Half-Life2クラスでもやっていないため)
双放物面環境マップと言う、2枚でもいい感じに映りこみ画像が作れる方法を試してみたいと思いましたよ^^
と言うことでt-pot様を参考に
マップだけ作成してみました

モデルデータ、シーン設定共にあやふやなため、いい結果が得られてませんが
一応魚眼レンズっぽくなってます^^
SHってのが理解できませんが、少しReal-Time GIに近づけたような気がしますよ
まぁどんな手法を使っても、最終的に出てきたシェーディングが好みなら何でもいいんですがね
シェーディングを実装してみましたよ
まずはハーフランバート
これは、チェルシーのランパートをオフェンシブMFとボランチの間に置いて
自由に動かして、ミドルをバンバン狙っていこうと言う作戦
・・・
寒い?
実際は普通のランバード処理よりもちょいと陰影をやわらかくしてみようって言う処理みたい
結果はこんな感じ

(普通のランバートシェーディング)

(ハーフランバート)
正直言って、自己発光を上げたり、アンビエントカラーを薄くするのとなんら代わりの無い印象
やり方は簡単
本来の計算max(0,dot(N,L))に0.5をかけて0.5を足し、それを二乗するだけ
で、その次は環境キューブと言う話・・・
多分意味が解らなかった前回のキューブマップに当たる物を反射させてるだけだと思う
動的に生成はしてなく、静的に生成してるらしい(コストの問題)
これも、乗算か加算でかなり印象が変わってくる
正直乗算の方が好き


(加算)


(乗算)
Half-Life2の技術解説に出てる画像とあまりにも違うので
ここは要改良ですな
人の肌だと、また違った印象を持つのかもしれませんね
それで、この前からはまっているアンビエントオクリュージョンマップを加えると
いい感じの陰影が出るかと

(加算)

(乗算)
さすがに6面レンダリングでぼかして環境キューブマップを作成するのは重いと思うので
(Half-Life2クラスでもやっていないため)
双放物面環境マップと言う、2枚でもいい感じに映りこみ画像が作れる方法を試してみたいと思いましたよ^^
と言うことでt-pot様を参考に
マップだけ作成してみました

モデルデータ、シーン設定共にあやふやなため、いい結果が得られてませんが
一応魚眼レンズっぽくなってます^^
SHってのが理解できませんが、少しReal-Time GIに近づけたような気がしますよ
まぁどんな手法を使っても、最終的に出てきたシェーディングが好みなら何でもいいんですがね
| □(暗礁に乗り上げる・・・) | 2008-02-29 Fri |
XSI → XNAを久々にいじってるんですが
やはりアニメーションがうまく表示されませぬ・・・
MAXでエンベやら設定した後
FBX経由でXSIに持ってきて
XNA用に一骨2頂点に設定して
OKだわさの確認をもらって

XNAに出力
そして表示・・・

エイリアン誕生ってな具合になっちゃいますよぉぅ
付属しているサンプルが使いやすくなってるのと
やはりXSIってことで、布シュミとか、モーフとか全て持っていけそうで(確信無し)
使えるなら使いたいんですがね・・・
どなたか成功されている方はいらっしゃるのでしょうか?
FBX経由じゃなくてXSI上で全て設定しなきゃいけないのかな?
どこかに設定済みのdotXSIサンプルがあればいいけど・・・
やはりアニメーションがうまく表示されませぬ・・・
MAXでエンベやら設定した後
FBX経由でXSIに持ってきて
XNA用に一骨2頂点に設定して
OKだわさの確認をもらって

XNAに出力
そして表示・・・

エイリアン誕生ってな具合になっちゃいますよぉぅ
付属しているサンプルが使いやすくなってるのと
やはりXSIってことで、布シュミとか、モーフとか全て持っていけそうで(確信無し)
使えるなら使いたいんですがね・・・
どなたか成功されている方はいらっしゃるのでしょうか?
FBX経由じゃなくてXSI上で全て設定しなきゃいけないのかな?
どこかに設定済みのdotXSIサンプルがあればいいけど・・・
| □(カメラ制御) | 2008-02-28 Thu |
Game Programming Gemsという高く、難しい本を図書館で借りてきて
中に載っている、カメラ制御の項目を試して見ましたよ^^
・・・
まぁ得られてる結果としては去年E3Dで作った物に酷似してるんですが
これで酔いにくいカメラが出来たんじゃないかと思ってますよ^^
改善点としては、現在カメラ中心の考え方をしていないので
モデルの方向算出をカメラでやると言うことでしょうかね^^
それをすれば斜めの移動やカメラの追い方がもう少し自然になると思いますよぉぅ
こういう、光の当たり方が頻繁に変わる物の場合
VF5みたいに女の子の顔にはレフ版を当てるのがいいのかもしれませんね
「美人度」のために^^
後はパフォーマンスアップのためになんチャラツリーって言う空間分割を試してみたいと思います
考えてる方法としては
地形オブジェクトのバウンディングボックスを習得
↓
バウンディングボックスの最大値と最小値で地形のサイズ習得
↓
任意セルに空間分割
で空間設定は出来るんじゃないかと思います
地形の場合2Dでよさそうですしね^^
ただ、空間ごとの三角形の習得の仕方がわかりませんがね・・・
オブジェクトごとだったら出来そうなんですが・・・
中に載っている、カメラ制御の項目を試して見ましたよ^^
・・・
まぁ得られてる結果としては去年E3Dで作った物に酷似してるんですが
これで酔いにくいカメラが出来たんじゃないかと思ってますよ^^
改善点としては、現在カメラ中心の考え方をしていないので
モデルの方向算出をカメラでやると言うことでしょうかね^^
それをすれば斜めの移動やカメラの追い方がもう少し自然になると思いますよぉぅ
こういう、光の当たり方が頻繁に変わる物の場合
VF5みたいに女の子の顔にはレフ版を当てるのがいいのかもしれませんね
「美人度」のために^^
後はパフォーマンスアップのためになんチャラツリーって言う空間分割を試してみたいと思います
考えてる方法としては
地形オブジェクトのバウンディングボックスを習得
↓
バウンディングボックスの最大値と最小値で地形のサイズ習得
↓
任意セルに空間分割
で空間設定は出来るんじゃないかと思います
地形の場合2Dでよさそうですしね^^
ただ、空間ごとの三角形の習得の仕方がわかりませんがね・・・
オブジェクトごとだったら出来そうなんですが・・・