2009年9月アーカイブ

視線とメッシュの交差判定を高速化してみました。
サンプルのポリゴン数は前回と同じにしてあります。
walkthrough2.jpg
矢印キー:移動
SHIFT+矢印キー:カメラ回転
右上MAPクリック:地形変形
FPSクリック:FPSの限界切り替え
以前のエントリの視線とメッシュの交差判定を使って
凸凹の地形を歩かせてみました。

walkthrough1.jpg
  • 矢印キーで移動
  • 右上のマップをクリックすると地形変形
ブログのヘッダーで、人もドラッグで飛ばせるようにしたよ。
建物の屋根にも当たり判定つけたので乗せたりできます。
ドラッグして初めて当たり判定が発生するんだけど
負荷軽減の為に一定時間止まってると元に戻っちゃうから
積みあげて遊ぶとかは難しいね・・・

人の動きはBox2Dを使った物理演算での動きと
あらかじめ設定しておいたラインに沿った単純な動きを切り替えてます。

header4.png
Box2Dのデバッグ表示(ドラッグしたり足を踏み外した人だけ演算対象にしてます)

header5.png
通常の動きで使うライン(演算対象になっていない人はこのラインに沿って動く)

Box2D楽しいな~。Papervisionがなかなか進まない・・・
header1.png
特にゲーム性はなくて、ワラワラしてるのを眺めるだけです。
Box2DFlashAS3の勉強も兼ねて車を物理演算させてみたよ。
つまんで放り投げたりできます。たまにしかこないけど・・・
キャラクターも飛ばしたかったけど、重そうなので考え中。。

header2.png
あと特に意味はないけど、一人一人にパラメータ持たせてみました。
クリックすると色々見れます。
メーターは左から、イライラ・疲労・トイレ・空腹
MobableType弄くりすぎておかしくなったから一からセットアップしなおし。。
ついでにドメインもとったのでタイトルも変えてみました。
デザインはまだ静止画だけどそのうちギミックとか仕込みたいな。
というか最初はヘッダー画像をぽちぽち描いてただけなんだけど、
サイドバーを地下フロアにした瞬間TheTowerみたくなってしまった・・・

あとここ最近ネット浦島太郎状態で驚く事ばかりだったんですが、
数年ぶりにヒョーゴノスケさんのサイトに行ったら凄い作品が公開されてました!
KINPIRAってゲームなんだけどかなり面白いです。
楽しくてフィールドを黙々と更地にしてました。
ポリ数と描画クオリティ的に制限だらけのFlash3Dばかり弄ってたんで
こういうの見るとまたShockwave3Dやりたくなってしまう。。
もうlingoとか書き方忘れちゃったけどね・・・
前回のエントリー
「DisplayObject3D.world」でモデルのワールド空間での
移動・回転・スケールの変換行列が取得できる

と書いたんですが、どうやらworldプロパティは
シーンがレンダリングされるタイミングで初めて値が更新されるみたいです。

てことは、モデルを回転してからworldプロパティにアクセスしても
レンダリング直前では回転を適用する前の情報しか取れない事になる・・・
逆にレンダリングしてからアクセスしてしまうと、
例えば常に回転しているモデル上をキャラが歩く場合、
モデル回転→レンダリング→ワールド座標を取得して交差判定→キャラを動かす
という処理の流れになってしまって
キャラクターの描画が遅れる事になってしまう。。
かといって正確なworldプロパティを取得する為だけに
2回レンダリングするのも無駄すぎる・・・

色々調べて、どーしてもいい方法が見つからなかったので
worldプロパティを使わずにワールド空間での変形情報(Matrix3D)を調べる事にしました。
Papervision3Dでウォークスルーをさせようと思ってます。
キャラクターが水平な地面を動くだけなら壁の判定だけすればいいんですが
凹凸のある地形に沿って動かしたいので
足元のポリゴンの高さを調べる必要があります。
checkheight.png

Shockwave3DにはmodelsUnderRayっていう
レーザーを飛ばしてポリゴンに当たった座標が調べられる機能があったんで
Papervision3Dにもあるかなーって調べたけど見つかりませんでした。。
見つけられなかっただけで本当はあるのかもしれないけど、
諦めてmodelsUnderRay的な機能を作る事にしました。
やってることは、対象のメッシュモデルの全三角ポリゴンに対して、
視線と三角形が交差しているかひたすらチェックしていって、
交差しているものがあったら交差情報を返すという感じです。

Papervision3D始めるよ

2009年9月 1日
ネット自体もう何年もやってなかったので
昔繋がりがあった人も、とっくにサイトがなくなったりしてて
軽く浦島状態です。みんな生きてるのかな・・・

もうお爺さんになってしまったんですが
今頃になってPapervision3Dを始めたので
わかった事とかメモしていこうかなと思います。
バージョンによってだいぶ作りが違うみたいなんですが、
自分はGoogleCodeのここにある2.1.920を使ってます。

とりあえず始めに、色んなものに流用できるような
3D空間内を自由に歩けるものを作りたいなあ。
昔やってたShockwave3Dの感覚で
表示は1万ポリゴンくらい余裕かなって思ったら余裕で無理でした。。
地形とか、かなり簡略化しないと。

2010年2月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28            

最近のコメント