2010年05月03日

('A`) 148 ラブプラスがどう動いているか

の解説記事発見
ttp://game.watch.impress.co.jp/docs/series/20100430_365048.html

・キャラのポリゴン数は5000。フレームレートは15fps。DSは10万ポリゴン/秒が限界(Wikipediaより)だが、5000×15=7万5000ポリゴン/秒だから辻褄は合ってる。
・キャラの動きは、実際の人の動きを撮影して動きだけを抽出する、モーションキャプチャという技法を使った。どんな手段でキャプチャしたか知りたいけど、そこまで書いてなかった。
 …と思ったら下にモーション撮影風景動画があった。全身タイツにマーカを付けてカメラ撮影してモーションデータを作っているように見える。
 しかし凛子たんのモーションがこんなオバs…ゲフンゲフンおねいさんの実演だったというのはちょっと…なんというか…
・ハードウェア固定のレンダリングパイプラインを、ソフトウェア的にアレンジしてあるのが面白い。4回書き直して初めて1フレームが完成する。さらに驚いたのは、他のメーカーもこの方法を使っているところ。具体的に何のソフトか気になる。
・5000ポリゴンの座標変換がDSのGPUでは間に合わないので、
1.ポリゴンを9分割、分割の継ぎ目はソフトウェア実装のZソート法(画家のアルゴリズム)で合成
2.1フレームで一部ずつ描画し、VRAMをメインRAMにコピー、4フレーム合成して完成
・モーションは600種
・目のテクスチャは必要になるたびにVRAMへ転送している。DSのVRAM(768kB)では足りないらしい。
・ROM(256MB=2GBit)の6割が音声。音声のコーデックはG722.1 Annex Cという帯域分割ADPCMの一種。これは説明書に書いてあった。この改良版がMP4として採用されている。
・DSのGPU仕様はwikipediaには詳しく書かれていないし、非公式の情報もそんなに詳細じゃないから、この情報は結構貴重かもしれない
1.深度テストがZバッファ法だった。スーファミやプレステはZソート法というシンプルだが誤りが生まれやすい方法を使っていて、DSもこれかと思ったら違った(うちの教授はZソートだと言ったのになんて大嘘な…)。DSが発売された頃の携帯電話さえZソートだったのに。ちなみにZバッファはPSPでもPS3でもXBOX360でもwiiでもPCでも使われている。
・描画先が1/4画面分しかない。1画面を完成させるには、4回の書き直しが必要。これはいかにも昔の携帯機らしい。
・一方Zバッファは1/96画面分だけ、しかもGPUの外から読み出し不能。
・光源は平行光源のみ。点光源とかは無理。2乗根計算が必要になるし、5000ポリゴンの透視変換すらできないDSだから仕方ないか。
・ピクセルシェーダによる頂点間のピクセル補間はバイリニア補間。

面白い。読んでるだけで楽しい。
posted by 毒渡 at 14:12| Comment(20) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。