学生向け「NARUTO-ナルト- ナルティメットストーム」技術紹介セミナー

行ってきたので、会場でとったメモを上げてみる。

学生向けと銘打ってあるだけあって、ゲーム専門学校生だらけ。特にプランナ・グラフィッカが多くてプログラマの俺アウェイ感。
でも、学生向けだからといって講演のレベルを下げてなかったのが良い感じ。

ただ、Autodeskの商品宣伝が講演時間とほぼ同じ長さあったのが正直ウザかったなぁ。
会場で無料配布してたペンタブの先端と、ペンタブ入れるクッションケースは嬉しかった。ありがとうワコム

プロジェクトのコンセプトと体制

  • 世界で売れているゲーム3ジャンル:スポーツ・戦争・映画
  • 北米の後追いは不利。日本人はアニメと漫画が得意
  • 開発期間の最初6ヶ月は、研究開発10名
    • 3dsMax上のプリレンダで、アニメ表現を3Dで実現するための手法を模索
    • 最初から大人数でやるのではなく、作業フェイズにあわせて適宜人員を増やしていく

キャラクターコンセプト

  • CGの硬さを感じさせない、柔らかな表現
  • アニメ作画のような整理された情報量
  • イメージ重視の生きた配色。アニメでよくあるような、光源に対してウソの影が入るような演出
モデル概要
  • HG:16000 Tris
    • FACE:2400 Tris
    • フルフェイシャル。全てのボーン処理が可能
    • Draw Calls:47
  • MG:8000 Tris
    • FACE:1400 Tris
    • まばたきのみ
    • Draw Calls:39
  • LG:4000 Tris
    • FACE:700 Tris
    • ほぼフェイシャルしない
    • Draw Calls:36
シェーディング
  • 法線調整による影整理
    • HGモデルに、セルシェードをそのまま適用した場合、影が複雑すぎる。
    • 凹凸を押さえた法線調整モデルを用意。(風船のようにふくれた丸い感じの)
    • これを用いることで、影情報だけはアニメらしくシンプルになる。
    • ※鼻下・顎下は逆に凹凸を協調
  • 2つのセルシェーダ
    • 弊社で従来から使用している乗算セルシェーダ。彩度が落ちて、肌色が色あせてしまう。PS2のころはこれ
    • 陰影の彩度を保つために試作されたソフトライトセルシェーダ。オレンジなどは彩度があがりすぎてしまう。
    • 彩度が高いピクセルには乗算、低いピクセルにはソフトライトで陰色を計算するシェーダを作成。
    • 彩度が保てるので、輝度だけではなく、色相による明暗イメージの配色に適している。イメージ重視の生きた配色
  • モデリングは、Autodesk 3dsMaxを使用
    • プレビューにDirectX9 シェーダを使うことで、PC上でシェーディング結果を確認しながら作業が可能
  • アウトラインも2つの手法を併用
    • 弊社で従来から使用している、モデルのポリゴンを一回り大きく押し出す手法
      • ナルトの髪の毛など、アウトラインが細かく描画されすぎてしまう
    • モデルの描画シルエットをポスト処理で拡張する手法。
      • シルエット内側に、アウトラインが描画されない(握っている指の内側など)
ボーン
  • 3dsMax character studio Bipedを使用
  • Basic 52 bones
  • Free 22 bones
  • Facial 67 bones
  • Extend 30〜80 bones(例えば、紙とか服とか)
  • モーションのアニメ的誇張
  • 関節構造にとらわれない、速度によるしなり表現
    • 例えば、蹴りの際に、膝を中心とした角ではなく、楕円状に膝を曲げるなど
  • ボーンにスケールアニメーションを入れることによる、パース強調表現
    • 例えば、ナルトが奥から手前に向けて手を伸ばすシーンで、手のサイズをでかくするなど
    • ボーンの中にスケール情報を入れると重いが、現行機になってメモリが確保出来るようになった
  • アニメブラー
    • 早さの余り、シルエットが崩れる表現。蹴りの際などの残像的なもの
    • キャラクタの足などの末端に、三角形のポリゴンを仕込み、ボーンで引き延ばして表現
  • フェイシャル
  • ボーン構成
    • 顔に大きく3段のボーンが通っている。眉から上、鼻下から眉、顎から鼻下
      • 殴られた際に、顔をおおきくひしゃげさせるような誇張表現のため
    • 目元・口元を重点的に制御。頬・鼻元のボーンは最低限。
  • フェイシャル作成環境には、3dsMaxを使用
  • 作業時間短縮のため、極力スクリプトを使用
    • 作成された表情はポーズデータとしてライブラリ化。Maxスクリプトで呼び出し、合成して使用
  • PS2まではブレンドシェイプ・モーファで表現することが多かったが、PS3になって頂点数が増えたので、ボーンで表情をつけることに以降。今はこれが主流?
背景美術
  • 手書きタッチによる、既存次世代グラフィックとの差別化
  • Battle Stage。半球隊のドーム(空)。広さは500m程度
  • Total Polygon
    • 51500 Tris
    • 62500 Verts
    • DrawCall:60-100
    • 同一マテリアルを持つ複数のオブジェクトは、まとめて描画することで負荷を低減。
  • Albedo, Shadow 合わせて、大体30MB
  • format:DXTC・・・ DXT5 or 1
  • ミップマップは当然使用
    • Photoshop pluginを使って用意
    • GPU負荷が倍近く低減
    • テクスチャ容量は33%増大
  • River Shader+Glare Filter
    • 皮を表現するためのぺらいポリゴン。
    • 川底は、GroundテクスチャとHeightマップ
    • Environment Map + αチャンネル(光源情報。水面への写り込み)
    • Normal Mapでフレネル計算をして水面を表現
    • グレアフィルタ
エフェクト
  • アニメ作画の手書きエフェクトを3Dで再現
  • 質感表現はシンプルにまとめ、動きのおもしろさに特化
  • シェーダ・ポスト処理を駆使した、作りのバレない表現

レイヤー設計

  1. デプスシャドウマップ
  2. 不透明 キャラ・背景
  3. アウトライン
  4. 半透明遠景
  5. 半透明中近景
  6. 半透明近景
  7. 半透明エフェクト
  8. 縮小バッファ(エフェクトで使用。解像度の半分で描画したバッファ。拡大すると若干ぼやけるが、ピクセル処理負荷を抑えるため)
  9. 半透明画面効果
  10. 歪み効果
  11. ポストエフェクト
  • 半透明物のZファイティング防止のため、Zバッファを描かずにZソートを使用。そのため、半透明のレイヤーを分けている。
  • 作成紹介「炎エフェクト」
  • 2Dアニメのようなテクスチャを用意し、モデルに貼り付ける
    • 正面化モデル用のテクスチャ(常に正面を向く)
    • トレイルモデル用のテクスチャ(軌跡の表現)
  • グレアフィルタ
    • どこの会社でもやってることなので、別に真新しいことではない。
    • 雷の発光感などを出す
    • 画面全体にかけると、全体的に白んでしまう
    • Glare Intensigy Map を元に、発光するためのバッファを作成し、ガウスフィルタなどでぼかし、加算(Photoshopでいうスクリーン加算?)
  • ポストエフェクト
  • 被写界深度ブラー
    • Zバッファを描画し、それを元に処理
    • モデルのアウトラインがちらちらしてしまう
    • それを防ぐために、Zバッファにもブラーをかける
    • 後ろの背景までぼやけるので、本来の被写界深度としてはおかしいが、この方が見た目に違和感がない
リアルタイム映像演出

映像演出ワークフロー

  1. 文字コンテ
  2. ディレクターチェック
  3. 絵コンテ(演出内容、スケジュール調整、必要事項洗い出し)
  4. ディレクターチェック
  5. アニメ会社 スタジオぴえろ様監修(アニメ設定確認)
  6. 映像仮組み(カット・尺決定)
  7. ディレクターチェック
  8. 映像本組み(フェイシャル・モーションエフェクト・画面フィルタ・SE・BGM・ボイス)
  9. ディレクターチェック
  10. 集英社様監修
  11. FIX
  • 作業環境:3ds Max
  • 3Dツール上設定
    • モーション・キャラ配置・カメラワーク・ライト角度・エフェクト
  • 実機上設定
    • パーティクル・フィルタ効果・ライトパラメータ・シーン位置調整・地形依存エフェクト(芝生の地面と、地形の地面で異なる)
質問タイム
  • Q.プレビューにDirectX9 シェーダを使っているとのことだが、PS3OpenGL用のシェーダとは別に用意するためのコストはかからないのか
    • HLSLからCG言語に変換するためのマクロを通す。完全な自動化とは行かないが、手動修正まで込みで1人の人員を割り当てる(しかもその人員もそれだけをやる人ではない)だけで十分だった
    • ナルティメットは、最新レベルの技術をそこまで使っているわけではない。他のゲームでこの手法を使うと逆効果かも
  • Q.エフェクトは3dsMax上で編集しているのか。エディタなどはないのか
    • 3dsMax上でできるところまではやるが、最終的には実機上のエディタで調整することが多い