7 月 21 2008
Papervision3Dでレースゲーム制作 04 - 3Dモデルとの合成
DAEの3Dオブジェクトを読み込んで、前回作った疑似3Dのフィールドの上に合成します。
はたして上手くフィットするか。
3Dモデル作成~Papervision3Dで表示までのやり方はこちらのエントリ
3DモデルのスケールがPapervision3Dだとどのくらいの大きさになるのかは、結局よく分かりませんでした。というわけで、とりあえず合成した後、Colladaオブジェクトの scale プロパティを少しずつ調整しながら合わせていきました。
それとPapervision3Dは、Zソートというんでしょうか、「どちらの面が手前に表示されるか」の判定がかなりアバウトですので、床と3Dモデルの関係がおかしくならないよう Scene3D を2つ用意して、必ず3Dモデルの方が手前にくるようにしています。
最後に、3Dモデル用に使っている FreeCamera3D の z, x, rotationY プロパティを動かすようにしてあげれば完成。
疑似3Dの床テクスチャと、移動する3Dオブジェクトの接地部分が問題ないかちょっと不安だったけど、どうやらゲーム的に大丈夫なくらいの見え方はしていますね。地平線のパースをごまかすのは、FrustumCamera3Dで何とかする、と。
*ソースファイル Main.as の全文はこちらから参照できます。
(試行錯誤中のソースなんで怪しい行がいっぱいです。)
