技術部の記事の前にお知らせ!
明日4/17(火)に久々の「DIVAチケット」で交換できるアイテムが追加されます!
技術部記事の次でご紹介を行っておりますので、是非御確認を!
さて、久々の「pjd技術部」の記事のアップです。
今回も画像/映像を担当するプログラマYによる寄稿です。
滅多に語られる事のない開発の内部!興味ある方にはたまらないかも?
それではどうぞ!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
果てしなくご無沙汰しております。プログラマのYです。
みなさん、3月9日は「最後のミクの日感謝祭」を見て頂けたでしょうか?
1号2号はじめ多くのスタッフが渾身の男気でお届けしたライブ、素晴らしかったですね。私は見終わったあとゲームセンターでしみじみと愛言葉をプレイして余韻にひたって来ました。
さて、そんなステージを描き出す技術も、初音ミクProject DIVA Arcadeの描画技術も、同じものが使われています。
今回はその基本描画技術を眺めてみましょう。(*1)
●クロスプラットフォーム
初音ミクProject DIVA Arcade(以下DIVAアーケード)は「Virtua Fighter 5(以下VF5)のプログラムでミクさんを描こう」と言う所からはじまりました。
取り急ぎデュラルのモデルをDIVAのモデルと入れ換えて表示。
2009年夏のミクフェスでお披露目されたミクさん(の内4曲ほど)は、LINDBERGH基板上のVF5のプログラムで描かれたものです。
時は流れ、DIVAアーケードとしてプロジェクトが始動。
VF5とプログラムの分家が行われ、基板をRINGEDGEに変更し、急ピッチでゲームが作られて行きます。
ロケテストは盛況で(本当にありがとうございます)、その合間に2010年春の最初の感謝祭。きゅうきゅうのスケジュールの中、無事完成!
※VF5とDIVAアーケードがなかよく同時起動(クリックで拡大)
机周辺にモノが積み上げられるのは仕様です。
描画技術の話に戻しますと、VF5もDIVAアーケードもOpenGLと言うグラフィクスライブラリの上で動くよう作られています。
OpenGLは多くのOSや環境でサポートされていて、比較的簡単にアプリケーションの移植が可能です。
先のVF5との同時起動は私が普段開発に使っているLinux PC上での写真ですし、最後のミクの日感謝祭はハイパワーなGeForce GTX 570を積んだWindows PC上でレンダリングされています。(*2)
またPS3のドリーミーシアターは、VF5の移植チームが作成した高速OpenGL互換ライブラリを使うことで同じデータでの描画を実現しています。VF5の移植チームに感謝です!
さらに描画以外の、OSや環境の違いを吸収するライブラリを用意しているプログラマさんの仕事も重要です。ここで一緒に感謝です!
●DIVAアーケードの描画技術
VF5から生まれたDIVAアーケードですので、多くの技術やエフェクトがVF5ゆずりとなっています。
またVF5のLINDBERGHよりDIVAアーケードのRINGEDGEの方が、世代的に新しいビデオカードを搭載しています。
ビデオカードの新機能は、OpenGLの場合メーカーの用意したドライバからすぐに利用できます。(*3)
次のような表現を追加しました。
(1) セルフシャドウを綺麗に(*4)
(2) 肌を美しく(*5)
(3) 瞳を奥深く(*6)
ミクさんがとても美しくなりました。
なお第1回のアンチエイリアシングや第2回のカメラモーションブラーも、LINDBERGH世代では難しかった実装です。
その他、2Dテクスチャの綺麗な圧縮など、見た目には判りづらい点でもVF5から進化した技術を投入しています。
●フォトリアリスティックレンダリング
DIVAアーケードはその生い立ちから、比較的リアル寄りな表現をしています。
3D CGの世界ではフォトリアリスティックレンダリングと呼ばれます。
カメラに映る現実の世界を追求するグラフィクスで、CGの基本です。
残念ながらDIVAアーケードはまだまだフォトリアルには程遠い品質ですが、限られた基板の性能と1/60秒の描画時間の中で、「まるで本当にそこにいるかのようなミクさん」を、アートワークを担当するデザイナー共々追い求めました。
それは感謝祭のステージで少し実現されたかな、と思っています。
ステージと同じミクさんには、いつでも全国のゲームセンターで会うことができます。
時には鑑賞モード、あるいは4月13日からの「ミクの日大感謝祭記念コンテスト」(*7)で、あなたの隣にいるミクさんたちをぜひ感じてみてください。
■少し詳しい補足説明
(*1) アルカディア掲載のインタビュー記事[文献1]と内容やサンプル写真が被りますがご了承ください。
(*2) 3240×1080と言う高解像度向けにハイパワーマシンが組まれました。Linux PCは通常開発用のため、RINGEDGEのビデオカードに近い仕様のGeForce 9600GTが挿されています。ちなみに感謝祭の映像はメインプログラマのTが土日返上でレンダリングしました。
(*3) OpenGLの仕様や拡張は[文献2]のページにまとめられています。
GL_NV_xxxはNVIDIA社の、GL_APPLE_xxxはアップル社の、ように各社固有の拡張仕様が公開されています。これらがARB(策定委員会)の話し合いで取捨選択されてGL_EXT_xxxやGL_ARB_xxxになり、最終的に標準仕様へ取り込まれます。
(*4) Exponential Shadow Maps[文献3]
ロバストなシャドウマップ技法。現行コンソール機でよく使われるVSMに比べライト漏れが発生しません(もちろんアーティファクトの軽減にはひと工夫必要です)。
(*5) Sub-surface Scattering[文献4]
表面下散乱。人肌や大理石、牛乳など半透明物質の表現に使います。DIVAアーケードでは散乱プロファイルを誇張することで、人間と創造物の中間のような質感にしています。
(*6) Ray Tracing(光線追跡法)。通常のラスタライズに比べ、反射屈折の表現が容易で綺麗にできます。これも人形の目(グラスアイ)を参考にして、人間と創造物の中間のような質感にしています。
(*7) 開催期間、2012/4/13~2012/4/24。難易度控えめで、はじめてDIVAアーケードに触れる方にお勧めです。衣装が買えるVPもたくさんもらえます。カード/携帯を用意して気軽にチャレンジ!
参考文献
[1] エンターブレイン. “月刊アルカディア8月号[No.123]”,
特集初音ミクProject DIVA Arcade “3Dモデリング開発者突撃Q&A!”, p.26, 2010.
[2] OpenGL ARB. “The OpenGL Registry”, http://www.opengl.org/registry/
[3] Marco Salvi. “Rendering Filtered Shadows with Exponentioal Shadow Maps”,
In SHADER X6, pp.257-274, 2008.
[4] Eugene d’Eon, David Luebke. “Advanced Techniques for Realistic Real-Time Skin Rendering”,
In GPU Gems 3, Chapter 14, 2007.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
久々の技術部ネタ、いかがでしたでしょうか?
恐らく近い内に、Yはもう1回記事を書いてくれるに違いない!?
さてここからは、2012/4/17(火)に交換開始となる
DIVAチケット交換アイテムのご紹介♪
・デコレーション称号追加
「ルーキー」「さん」の2ルートを新たに追加!
追加された称号を交換することで「ボーイ」「ガール」など、新たな称号と交換できるようになります。
・ゲーム画面用スキン追加
今回は以下の9種類のスキンを追加!
それぞれチケット16枚と交換になります。
今までのシリーズと異なりオリジナルのポーズ&笑顔です!
今月末からはGWも始まりますし!コンテストも開催中ですし!
毎日ちょっとずつのプレイでも、いつのまにか貯まるDIVAチケットもお忘れ無く!
(2号)