
僕……MTVでデビューすることになりましたw
See my Pop experience with MTVNHD
http://experience.mtvnhd.com/ef0697


いやー、よく出来てるなぁ。
ちなみに、我が友、zouma3はヒップホップデビューだそうです。
See zouma3's Hip-hop experience with MTVNHD
http://experience.mtvnhd.com/ce5aec
おいおい、えらい色っぽいな!ええ顔しやがってコノォ!

僕……MTVでデビューすることになりましたw
See my Pop experience with MTVNHD
http://experience.mtvnhd.com/ef0697


いやー、よく出来てるなぁ。
ちなみに、我が友、zouma3はヒップホップデビューだそうです。
See zouma3's Hip-hop experience with MTVNHD
http://experience.mtvnhd.com/ce5aec
おいおい、えらい色っぽいな!ええ顔しやがってコノォ!
PaperVision3Dのメモリ挙動がどうもおかしい気がする。
ダンジョンのフロア移動の際、一旦現在いるフロアの配列化したDisplayObject3Dを、removeChildした上、個々をnullに設定、さらにdeleteまでかけてから、新しいDisplayObject3Dを配列に入れ、addChildしているのだけど、その度にメモリがガンガン増えて行く。明らかに何かのメモリが解放されていない。
容量も半端無いので、恐らくBitmapMaterial絡みだろうと思うのだが、disposeに当たる命令が用意されていない。destroyっていう凄い名前の関数っぽいのがクラスに書かれているのだけど、ちゃんと動くようにはなっていないようだ。
現状の作りではあっという間にメモリ落ちしてしまうので、作りを変えないといけない。
「BitmapMaterialに設定するBitmapData自体を、破棄するDisplayObject3Dに応じてdisposeする」というのをまだ試してないので、これをそのうち試すことにする。
このメモリ問題が解決しないと、リリースはできないな。メモリ2GB積んでるマシンで、階段を20~30往復したら落ちるとか、あり得ない。起動直後は、占有メモリ100~120MBくらいなんだけど。それでもかなりメモリ喰ってると言える。
ちょっと、安易に配列化し過ぎかもしれない。BitmapDataを先頭フレームで全部クラス化するのも、問題あるかも。PNGファイルを外に置いておいて、Loaderで読む……とかしないといけないかもしれないけど、それだと、素材の二次利用とか流出を防げないんだよな。何かうまい方法を考えないと。

階段ができました。階段ができたので、テストダンジョンも3階建てに増築しました。


階段移動後が余りに唐突な感じなので、間に何か演出を挟む予定ではありますが、当面はその演出は先送りにして、ぼちぼち画面表示系のものを入れていこうと思います。今のキャラクターウィンドウも仮ですし。
それにしても、テクスチャを作るのは難しい!今回新規に作った2層分も、どうもしっくりきません。
外を出歩くときは常にデジカメを持ち歩いていて、テクスチャに使えそうな壁なんかを写真撮りまくっているんですけど、なかなかこう、うまく使えていません。加工し過ぎても変になるし、何より、スケール感がうまく噛み合ってない印象です。これがなかなか難しい……。貼ってみて、「あ、もうちょっと大きく」とか「小さく」とかを繰り返して行くのが思いのほか大変で、3Dのテクスチャ作成を仕事にしている人は偉いと思いました。
階段の周りの柵のテクスチャは、なかなか気に入っています。テクスチャの元写真は、とある溝蓋でした。

大幅に画質の向上に成功。ってか、単に、壁と地面でScene3Dを分けた、ってだけの話。これならポリゴンの干渉のしようがない、ってことに今朝電車の中で気付いた。
あと、上り階段置いてみた。障害物判定とかまだやってないので、中に潜れてしまうけど。明日は下り階段。
ぼちぼち、ブログにアップするには厳しい容量になってきたかも。

昨夜は、軽減化のための作業と、SimpleLevelOfDetailの調整に夢中になってしまって、寝るのが遅くなった。失敗、失敗。今日はほどほどで引き揚げる。
ちょっと技術的なところに入れ込み過ぎてる気がしたので、モチベーション維持のために、なんちゃって体裁を整えた。これでもう「どれがFlash?」なんて言われないことだろう(たぶん)。
仮当てのパーティウィンドウを並べたら、Viewport3Dを横幅いっぱいにしてるのが馬鹿馬鹿しくなって、横幅を縮小。描画範囲が狭くなるんだから、ちょっとは軽くなる……かな?
セグメントの分割数とか、色々調整してやってみたけど、結局根本的な解決にはならなかった。まぁ、仕様だ。なもんで、ポリゴン漏れがあってもいいから、サクサク動くゲームってのを目標にしようと思う。
SimpleLevelOfDetailを使ってる時点で、移動時に一瞬「クッ」てなるのは避けられないんだけどね。いつかPSPの開発環境を整えられるようになったら、そん時はポリゴン欠けの出ないように作ろう。

テクスチャが、ことごとく上下逆になっていたのを修正。ついでに、壁の画面では見えない部分(天井側と地面側)のセグメントを減らして、少しでも負荷を軽減。
それから、見ての通り、「なんちゃってフォグ」を入れた。要は、半透明の円筒(objects.primitives.Cylinder)を半径を変えて並べ、カメラと一緒に動かしているだけ。色々考えてみたけど、これが一番手っ取り早いと思う。
色々やってみたいことはありましたが、今日はここまで。それなりにちゃんと動く3Dダンジョン、完成でっす。

え、厭だ。嘘。これって――。
デキちゃってない?
普通に動いちゃってない?
ということで、無事に一通り実装が終わりました。週末で作ったにしては、上出来な方ではなかろうか。
いくつかメモ書き。
能書きはここまで。週末の力作を触ってみてやってくださいな。