おいしいAS3 -25ページ目

box2D用に多角形を分解




box2Dでは一つのFixtureの中で
凸凹になってたりお椀型になってたりすると
処理がおかしくなるようです

なので複雑な形状をBodyに入れたいときは
凹凸のない、お椀型になってない単純な
形状の集合に分解してやらなきゃいけません

苦労しました

今日一日これのことしか考えてなかった気がします

処理内容から考えて多分
box2Dに用意されてるはずの関数とかを
オリジナルクラスから引っ張ってきたり
自分で書いちゃったりしてて
あんまり賢いコードじゃないと思うので
コードの公開はちょっと待ちます

simple3Dクラス(改)

カメラを焦点中心に縦回転するメソッドを追加
デフォルトの動作も変更

simple3Dクラス


最初のは立体の地図とかのコンテンツに使う事を主に想定した
デフォルトの動作だったのだけど
やっぱり距離を変えずに縦横自由に回転できるほうが
2Dの中にさりげなく置いたりするような使い方ができて
汎用性が高いかなと思って変更しました

カメラが真上や真下に来るとガタガタするので
88°ぐらいを上下の限界にしてます

あとカメラをroll(Z回転)するのって
なんか上下がわからなくなってよくないよね
ってよく思うのでそういう動きはしないようにしてます


papervision3d.core.mathのクラスを駆使してやってるんですが
もしかしたらバカ正直にめんどくさい事やっちゃってるかも…

まあ勉強できたと思えば…

なんだあったのか・・・

前にルービックキューブのムービーを作った時
頂点どもに移動していただく際に
geometry.verticesひとつひとつを移動させちゃってたんですが

なんとgeometryにはtransformVertices()なんてメソッドが
ちゃんと用意されておったんですね

ヘルプはちゃんと読まないとダメですね