C言語で3Dを勉強 -10 | 2010.02.16 01:19 |
XOPSの陰計算は、どうやらnine-twoさんの独自計算のようです。
C言語で3Dを勉強 -9(02/02)の影計算とXOPS実物の物とは差があります。
(詳細は下記に記載。 暇な人は実際に実行して比較してくださいw)
本物にはDirectXのライティング計算では考えられない(と思う)ような、明暗に段階があります。
どのようにやっているのか。
・・・と考えていると、ヒントは意外な所にありました。
-----
陰影の付け方が分からなかったので面の法線の向きから光の当たり具合をそれとなく算出した
「offensive armor」説明書より引用
-----
これは物凄い貴重なヒントで、重要な証言になります。
nine-twoさんの初作品でXOPSの公開から1年以上前のゲームですが、
やや手を加えて(XOPSでも)そのまま利用している可能性があります。
そうと分かれば試してみるしかありません。
ポリゴン(面)の明暗の付け方を考えたうえで、明暗を法線を元に手動計算で算出します。
お見事!
自分で言うのもアレですが、うまく出来ました。
これでマップ表示はほぼ完成しました。
C言語で3Dを勉強 -9(02/02)の影計算とXOPS実物の物とは差があります。
(詳細は下記に記載。 暇な人は実際に実行して比較してくださいw)
本物にはDirectXのライティング計算では考えられない(と思う)ような、明暗に段階があります。
どのようにやっているのか。
・・・と考えていると、ヒントは意外な所にありました。
-----
陰影の付け方が分からなかったので面の法線の向きから光の当たり具合をそれとなく算出した
「offensive armor」説明書より引用
-----
これは物凄い貴重なヒントで、重要な証言になります。
nine-twoさんの初作品でXOPSの公開から1年以上前のゲームですが、
やや手を加えて(XOPSでも)そのまま利用している可能性があります。
そうと分かれば試してみるしかありません。
ポリゴン(面)の明暗の付け方を考えたうえで、明暗を法線を元に手動計算で算出します。
お見事!
自分で言うのもアレですが、うまく出来ました。
これでマップ表示はほぼ完成しました。
影計算以外にも、他にも作業が進んでます。
サウンドの再生で音量が変更できないのは、DirectX AudioのDirectMusicを
利用していたからです。
結局、一番避けたかったDirectSoundを勉強するハメになりました。
ついてに3Dサウンドも勉強しました・・が、完全に無駄足を踏みました。
「XOPSが3Dサウンドを利用している」というのは私の完全な思い込みで、
実際はパン設定(左右のスピーカーのボリューム)も利用していません。
単純に距離による音量変化だけです(ぇ
これにもっと早く気が付いていれば、DirectSoundだけ勉強したのに。。
かなり無駄な勉強をしましたが、結果的に思い通りにうまくサウンドが再生されたのでOKです。
当たり判定は、地面・床(と斜面)の当たり判定が出来ました。
残るは壁です。
本当は、簡易物理計算風(?)に床と壁が1つの計算式でできるとベストですが、
ハードルが高いのでそれぞれ別計算にします。
全体的にもうちょっと作り込むと、もしかしたら公開可能な試作品か何かに辿り着くかもしれません。
無論、コンパイル済みのバイナリファイル(EXEファイル)ですが。
裏話
実はこの記事執筆中の書き込み直前に、誤操作により一度文章をパーにしてます。
この文章を書くのは2回目です。 もう泣きそうです ><
サウンドの再生で音量が変更できないのは、DirectX AudioのDirectMusicを
利用していたからです。
結局、一番避けたかったDirectSoundを勉強するハメになりました。
ついてに3Dサウンドも勉強しました・・が、完全に無駄足を踏みました。
「XOPSが3Dサウンドを利用している」というのは私の完全な思い込みで、
実際はパン設定(左右のスピーカーのボリューム)も利用していません。
単純に距離による音量変化だけです(ぇ
これにもっと早く気が付いていれば、DirectSoundだけ勉強したのに。。
かなり無駄な勉強をしましたが、結果的に思い通りにうまくサウンドが再生されたのでOKです。
当たり判定は、地面・床(と斜面)の当たり判定が出来ました。
残るは壁です。
本当は、簡易物理計算風(?)に床と壁が1つの計算式でできるとベストですが、
ハードルが高いのでそれぞれ別計算にします。
全体的にもうちょっと作り込むと、もしかしたら公開可能な試作品か何かに辿り着くかもしれません。
無論、コンパイル済みのバイナリファイル(EXEファイル)ですが。
裏話
実はこの記事執筆中の書き込み直前に、誤操作により一度文章をパーにしてます。
この文章を書くのは2回目です。 もう泣きそうです ><
category : ソフト・ツール開発 | comment [1] |