WOWEngineの立方体、WBoxの実装凄すぎワロタ

  • このエントリーをはてなブックマークに追加
  • 0

3D物理計算エンジンWOWEngineのソースを見たら、立方体を表現するクラス「WBox」の実装方法があまりにも凄すぎて、思わず目を疑った。何と、WBoxの実装は、WSphereを9個組み合わせたものだったのだ!
WBoxの実装をイメージ化したものがこちらのデモ
WBoxのデモ
緑の線で作られた立方体と同じ大きさのWBoxを定義し、それよりはるかに小さい赤い球を上で転がしてみると、見事に箱の中にはまり込んだ。何故なら、WBoxの実際の衝突判定は、デモ内部で白い球体として表示されている部分だからだ!


と言うか、WBoxの実装は稚拙すぎる!何故Sphere(球体)を組み合わせてBox(立方体)を表現しようという発想に至ってしまったのか?同じ形のBox同士しかぶつからないだろうと高をくくったのか?
あと、せめてWBox#fixedを定義して欲しかった。固定化するのにこのコードはないだろ。

ActionScript

  1. wbox.centerSphere.fixed = wbox.coin0_0.fixed = wbox.coin0_1.fixed
  2.                         = wbox.coin0_2.fixed = wbox.coin0_3.fixed
  3.                         = wbox.coin1_0.fixed = wbox.coin1_1.fixed
  4.                         = wbox.coin1_2.fixed = wbox.coin1_3.fixed
  5.                         = true;

で、

WOWEngineのWBoxを使ってみました。
ついでにWSpringConstraintも使ってみました。
ミカン日記: WOWEngineのWBoxを使ってみる

を参考に、WBoxの座標値の取り方を見てまた驚愕したが。
結果、真ん中のデカイ球体を自分で取ってきて、その座標使えってどういうことだ!?

まぁ、一番思うのはソースをSubversionリポジトリで公開して、もっと頻繁に更新してくれって所だが。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク