今回はキー入力に応じて視点を動かすアプリを作ってみた。
とりあえず、テキトーにモデルを作った。
前回までに使ったモデルでも良かったんだけど、Blenderの練習も込めて簡単な町並みを作った。
町並み全てを1つのモデルとしたが、普通は建物1つを1つのモデルとすべきなのかもしれない。
Belnderからエクスポートしたら位置がずれてしまう建物があった。
色々試したが解決できなかった。
今日はコーディングがしたかったので、ズレた建物は削除し、問題は置いておいた。

PVMicroでプレビューした所。
このモデルを表示して、左右で視点をグリグリ変えれるアプリを作ってみる。
今回苦戦したのは視点をグリグリ回すために必要な計算方法(三角関数)。
最初は上の図の青の範囲が見えてるとして、右キーをチョット押したら赤の範囲が見えるようにしたい。その際、カメラの位置をAに移動させたいんだけど、この時にサインやらコサインやらを使った(分かりにくい図で恐縮です)。
DoJaに用意されているMathクラスにサインやコサインを計算するメソッドがあるんだけど、使って見ても思った通りの値が返ってこなかった。
マスコットカプセル メモ 様の解説を読んでやっと理解できた。
どうやら角度は4096分円単位で指定するらしい。
それが分かれば後はキー入力に応じて角度の指定を変えてやればイイだけ。
けど、DoJaのMathクラスはオプションAPIだったのが気になる。
もしかしたらコレじゃなくてサインとかコサインを計算する方法があるのかな?

最後にフォグ効果を追加して、一応完成した。
が、エミュレータで動かすと物凄くチラつく。
ちょっと前にMascotCapsuleのガイドか何かで「ポリゴンは重ならないようにモデリングしろ」的なのを読んだのを思い出した。
今回作ったモデルはバッチリ重なりまくってます。
次回から気を付けようwって事で、実機で動かして見たところ、チラつきはホトンド見られなかった。この辺は機種依存なのかもワカラン。
今日は以上。次回はアニメーションに挑戦したい。