2008/11/02(日) [n年前の日記]
#2 [nitijyou][iappli] 先日買ってきたゲームソフトをまたプレイ
どうもPS1とPS2で地形データの持ち方が異なるような気がする。PS2側はグリッドで持ってないのかもしれず…? 考えてみれば、PS1はZソートで描画してるから、地形を細かく分割しないとビルボードが隠れてしまうけど、PS2は別の方法で奥行きを表現してるだろうから、グリッドで持つ必要はない…のかな? PS2のスペックは欠片も知らないから外してるかもしれんけど。
地形の上を飛んでいくオブジェクトの軌道が表示されるので、ソレを眺めてたのだけど。かなり細かい間隔で点(?)が表示されていて。ということは、オブジェクトの動きを線分にしてポリゴンと衝突判定してるのではなくて、オブジェクトの座標値における地形の高さ情報のみを参照してソレと比較しての衝突判定しかしてないのかな、とかそういう想像を。線分と地形モデルポリゴンの衝突判定をしようとすると、地形モデル上に存在する膨大な数のポリゴンの中から、どのポリゴンを対象にして衝突判定するのかの選別が結構面倒なことになりそうだけど。特定位置の高さのみ取得するだけでもそれっぽく動かせるなら、自分の出来の悪い頭でも、まだどうにか実装できそうな。いや、考えてみれば、ファミコン時代のソレもグリッド上の高さ情報のみを使って地形とオブジェクトの衝突判定を実現してたわけだから、どうにかなるのか…。
地形の上を飛んでいくオブジェクトの軌道が表示されるので、ソレを眺めてたのだけど。かなり細かい間隔で点(?)が表示されていて。ということは、オブジェクトの動きを線分にしてポリゴンと衝突判定してるのではなくて、オブジェクトの座標値における地形の高さ情報のみを参照してソレと比較しての衝突判定しかしてないのかな、とかそういう想像を。線分と地形モデルポリゴンの衝突判定をしようとすると、地形モデル上に存在する膨大な数のポリゴンの中から、どのポリゴンを対象にして衝突判定するのかの選別が結構面倒なことになりそうだけど。特定位置の高さのみ取得するだけでもそれっぽく動かせるなら、自分の出来の悪い頭でも、まだどうにか実装できそうな。いや、考えてみれば、ファミコン時代のソレもグリッド上の高さ情報のみを使って地形とオブジェクトの衝突判定を実現してたわけだから、どうにかなるのか…。
◎ iアプリ側の地形モデルの作り方で悩んでたり。 :
グリッド上の地形データは既にあるので、それをポリゴンモデルデータに変換できないものかと。ポリゴン枚数をまったく気にしなければできなくもないけど、たぶんそのままでは枚数が増え過ぎて使えない、ということは枚数を減らすような何かが出来れば…。でも枚数を減らす=ポリゴンが大きくなる=指定するテクスチャサイズが大きくなる、となって問題が出てきそうな。うーん。
いっそ自前でレンダラーを。って最悪240x240=57600ドットも逐一計算してたら絶対に処理が激重に。うーん。
いっそ自前でレンダラーを。って最悪240x240=57600ドットも逐一計算してたら絶対に処理が激重に。うーん。
[ ツッコむ ]
以上です。