ゲームグラフィックス・CGWORLD・その他 メモ1
ゲームグラフィック・CGWORLD・その他を読んだ際のメモ
次⇒メモ2
Bloodborne
ゲームグラフィックス2015より抜粋
1.血しぶきシェーダー p30
血しぶきテクチャ―をアクションなどによってキャラクターや背景に投射される(デカールかな?)
2.法線/バンプ&テッセレーションによるディティール表現 p41
3.プロシージャルによる違うステージと敵 p47
4.インタラクションエフェクト p48
外部力により揺れものが反応する
5.多彩なダメージモーション p56
攻撃を受ける角度・部位などに応じてダメージアクションが変わる
6.モーションブレンディング p58
攻撃+ダメージリアクションで、のけぞりながら攻撃
龍が如く0 ゼロの誓い
ゲームグラフィックス2015より抜粋
1.インゲームとカットシーンでポリゴン数とテクスチャー解像度を変える p62
2.モブキャラの生成システム p68
顔・髪・服装を複数作って手作業でキャラを作成
3.演奏シーンで本物の演奏家によるモーションキャプチャ p70
4.アニメーションをの一覧をWeb上で再生できるサイト p75
5.SSRと反射表現をウィンドウのパラメータ項目で調整 p76
6.時間帯に合わせてテクスチャーを変え、見た目を変化させる p78
7.ネオンシェーダ― p80
インテンシティマップをUVスクロールさせることで発行状態を制御し、凝った発行表現を実現できる
8.ミラーボールエフェクト p82
9.フローマップを使用し、かっこいいオーラエフェクトを作成 p84
10.コップの液体を流体アニメーションでそれらしく見せる p86
11.大量に舞い散る札やチラシの表現 p88
12.減算点光源によって必要な個所を暗くし、シーンのクオリティを上げる p90
13.被写界深度によって高輝度オブジェクトの暗くなってしまう事象の軽減と、レンズフレアによる空気感の向上とマップの差別化 p92
ドラゴンボール ゼノバース
ゲームグラフィックス2015より抜粋
1.傷や血の情報を格納したテクスチャを使用して、ダメージを受けた際の傷や血を表現する
2.線の表現にディスタンスフィールドテクスチャーを使用し、拡大をしても品質を落とさない
参考サイト、参考サイト、参考サイト、参考サイト
3.トゥーン表現 p104
4.手付けアニメーションと物理演算の使いどころ、そして伸びたりめり込んだりした際の工夫
5.草に通過した際に草が揺れる p111
6.破壊オブジェクトは、破壊時にシェーディングが不自然にならないようにライトマップに影をベイクしない p111
7.煙のパターンテクスチャにはFumeFX、溶岩のパターンテクスチャRealFlow p116
ファイナルファンタジー零式HD
ゲームグラフィックス2015より抜粋
1.メタルネスとラフネスマップ p126
2.イメージベースライティング p134
3.AOの表現を、AOマップとSSAOで実現。SSAOの遮蔽検索を数フレームで完了させることで負荷を軽減
4.キャラクターが暗くならないためのライト p140
5.エフェクトの照り返しと影 p144
6.金属が弾いた時にアンチエイリアス(TAA)を施すことで、カッコ良くなったエフェクト
p145
7.PBRの構成 p124
ドラゴンクエストヒーローズ 闇竜と世界樹の城
ゲームグラフィックス2015より抜粋
1.PBRの構成 p124
2.リアルな挙動を実現するためのフルボディIK、スケールで意識したスケールアニメーション
p152
3.フェイスアニメーションは基本の表情を数パターン用意して、それらを微調整している
4.飛び散る光の粒子エフェクト p156
5.リッチな影の表現 p169
6.汚しや濡れの表現を付けたし手法でクオリティアップ p162
ベヨネッタ2
ゲームグラフィックス2015より抜粋
1.CRI Sofdec
ムービーをカットインやステージのスクリーン上に流せる
参考サイト、参考サイト
2.Wwise
サウンド全般の処理を簡単に実装できるミドルウェア
参考サイト
3.SIMPLYGON
ポリゴン数やボーンやマテリアル、アニメーション情報を簡単に削減・最適化してくれるミドルウェア
参考サイト、参考サイト
4.MotionBuilder
モーションキャプチャーデータを正確にインポートして、調整し、反応のよいインタラクティブな環境で複雑なキャラクターアニメーションを作成、編集、再生できます。
5.トリプルマスクを使用し、様々な質感を表現 p192
6.部位破壊を実現するため、破壊されたメッシュを用意しOnOffを切り替えて表現 p194
7.プレイヤーが注視する箇所はUV密度を高くし、そうじゃない箇所は低くする p194
8.一連のコンボ技はひとまとめに作成されアクションがスムーズになる。各段階で入力を止めた際に基本姿勢へ戻る動きはブレンド等でなく一つ一つアニメーションを作成している p200
閃乱カグラ2 -真紅-
ゲームグラフィックス2015より抜粋
1.モデルは全キャラ共通で胸部や身長が違うのでスケールすることで対応。タトゥーキャラのためにあらかじめ必要なポリゴンを分割している。 p220
2.キャラの頭髪のテクスチャーを共有することで、データ量とマテリアル切り替えのパフォーマンスロスを削減 p220
3.頂点が増えたので普通のシェーディングを行うと負荷がかかるためハイライト・陰影は手書きテクスチャーで表現 p224
輪郭効果には、リムシャドウを採用し輪郭をアップさせた
4.アンチエイリアスはパフォーマンスに影響を与えるため、シーンごとの負荷に応じてサンプリング数を調整 p228
5.複数モーション間のつながりのキレを良くするため、コンボ技の先行入力がある場合は、前モーションの終了を待たず、モーションブレンドにて次のモーションへ遷移 p234
モンスターギア バーサス
ゲームグラフィックス2015より抜粋
1.アルベドテクスチャーとオフセットテクスチャーを組み合わせることで多彩な質感を表現 p252
2.水中に入ろうとしている水の地平面以下をマスク p254
3.板ポリとビルボードで作成できるエフェクトはShuriken、3Dモデルアニメーションのような複雑なエフェクトはMayaで作成しそれをUnity上でモデルデータとアニメーションデータを取り込んで再生 p259
4.ガチャの画面などは2Dであるが、ガチャ結果の際は3Dで表示し、バトルシーンとの整合性を保つ p260
5.2D上の画面で、3Dを表示する際は、必要なモデルの読み込みと破棄を非同期で行い、待ち時間の少ないサクサクとした操作感を実現 p260
6.多数のモンスターアニメーションを実現するため、基本骨格を用意してそれをDCCツールで微調整し実現 p262
7.アニメーションをの尺やスピードを調整することでモンスターそれぞれに固有の攻撃パターンを適用 p264
8.重要なキャラクターには、通常よりも高ポリゴン・高ボーン数 p266
リトルノア
ゲームグラフィックス2015より抜粋
1.リアルタイムレンダリングとプリレンダリング使い分け p270 p272
キャラとボスはリアルタイム
召喚キャラはプリレンダリング(Mayaで作成して、それのアニメーションパターンから必要な数フレームをレンダリングした画像をテクスチャアトラスにまとめた。頂点やボーン数に制限がないのがメリット)
2.頂点アニメーションを使用した例 p272
参考サイト、参考サイト、参考サイト
3.同じ敵のバリエーションを増やすため色を変えたテクスチャーのバリエーションと、追加モーションを追加 p278~p280
4.スマートフォンは画面が小さいので実際上に誇張した派手な動きの方がユーザーに伝わりやすい p282
Line ペーパーダッシュワールド
ゲームグラフィックス2015より抜粋
1.スキニングさせずにペアレント化させてCPUの負荷を削減 p292
参考サイト
2.AndroidのETC圧縮アルゴリズムはテクスチャーのアルファチャンネルが適用されない(データを圧縮できない) p292とp307
テクスチャーアトラスには、カラーとアルファ用に分割
参考サイト、参考サイト
3.ステージ制作のコツ p298~p300
ステージ1ユニットを小さくすることで、レベルデザインのやりやすさと、データロードの効率性を確保
オブジェクトプーリングを使用することでロード時間を短縮
ただ、プールを意識しすぎるとオブジェクトが中々出現しなかったり、逆にスクロールが早すぎるとブール尽きてしまう
エンドレスステージは、ランダムにこれらのステージをプログラムによって制御
参考サイト
草揺れシェーダーは、頂点カラーをもとに揺れ幅やタイミングを制御
これにより、ボーンやアニメーションを仕込む手間や容量を削減
影は、地形からの距離に応じて影の大きさや濃さを制御
暗闇ステージでは、円形のメッシュを3枚重なて、そのメッシュの描画順に応じて暗闇用の黒い板から切り抜くことで表現
4.カスタムシェーダー p302~303
キャラクターをモノクロ表現する際にテクスチャーで対応するのではなく、シェーダー側でモノクロ処理を実装し、テクスチャー数を削減
明るい・暗いステージだと、加算エフェクトを使用した場合白飛びするので加算・乗算することで白飛びを回避
5.レベルごとにエフェクトのメッシュに変化を加え、レベルによる技の強力さを表現 p306
白猫プロジェクト
ゲームグラフィックス2015より抜粋
1.武器が進化するごとに見た目を変えた。その際、省データ化と効率的なバリエーション作りのためテクチャの色を変えて対応 p311
2.ボーンは共通にすることでモーションの共有を図っている p312
3.どの角度から見ても常に左上からライトが当たっているように見せることができる p314
4.壁などにキャラクターが少し隠れると視認しずらくなるのでアウトラインとステンシルで把握しやすくした p316
5.性別ごとにモーション分ける。男は男らしく、女はらしく p320
6.A* Pathfinding Projectを使用して、AI実装を簡単に p324
参考サイト
7.マップチップによる大量のステージ作成すること、トライ&エラーしやすいレベルデザイン p326
8.マップチップの弱点であるステージの似通りをシェーダーでごまかす
太陽の光の表現
水面の表現
雲の影
マップの切れを目立たないようにするためマップの端でフォグを適用
9.Maya、Photoshop、AE、Shurikenを用いたエフェクト作成
ランブル・シティ
ゲームグラフィックス2015より抜粋
1.描画処理軽減のため、ライトと頂点カラーを使わずに、テクスチャーですべて表現 p341
2.連番アニメーション使用したエフェクト p352
参考サイト
ファントム オブ キル
ゲームグラフィックス2015より抜粋
1.質感はシェーダーやアルファを用いず、テクスチャーで表現 p356
2.ボーンの数がデータをロードする際に影響 p356
戦魂-SENTAMA-
ゲームグラフィックス2015より抜粋
1.絵をリッチに見せたいが、スマホのスペックを考えシェーダーやリアルタイムCG描画をするのではなく、AEを用いてプリレンダー p370
2.プリレンダーとリアルタイムが切り替え箇所があり、その際絵の質で差が出るので、両者をつなぐ画面で中間程度の情報密度にし急に雰囲気が変わるのを防いでいる p376
3.フォグの表現を取り入れる際、仕様の制約上連番アニメーションを板ポリに貼り付けて表現 p378
メタルギアソリッドV
ゲームグラフィックス2016より抜粋
1.ゲーム中に処理負荷がかかるところには動的に描画の品質を落とすしくみを実装
2.物理ベースレンダリング p26~p33
正しいマテリアルを作成するため実際の物体を様々な角度から照光し質感の変化を調整したプリセットマテリアル複数作成
リニアテクスチャーの作成
ラフネスにより質感。光源を動かしながら、また視線によって反射の鋭さが変わる実装もとりいれている
ディファ―ドレンダリングの採用
3.PBRを活かすため3Dフォトスキャン採用し、リアルな3Dアセットを作成 p34~p41
4.オープンワールドを作成する上で意識したこと p42~p93
マップをいくつかに分割し、プレイヤー中心に5×5ブロックをアクティブ領域にした。
しかし、それだけでは広さは表現できない、といってもまともに描画しようとすると法外なドローコールが発生してしまう。
潜入というゲーム特色のもと、何百メートルを見渡す必要があり、モデルを3段で分け、距離に応じて切り替えるしくみを構築
さらに、リソースが必要なところ(イベントは発生する建物)には、別途メモリにロードしくみを用意し、これらは距離を一定以上離すことでローディング時間を調整
広大な地形モデルを表現するため、ステージ全体にWorldTextureと呼ばれる64毎分割されたテクスチャーを適用
周囲320mには普通のテレインテクスチャーを適用し、外側には一番近いWorldTextureを適用させている仕組み
WorldTextureには、簡易シェーダーで描画することで、リピート感を解消しながら処理負荷の低減を実現
リアルな背景にするため、アフリカなどへ行きモデル・テクスチャー用に植物や岩など撮影し、それをもとにアートリソースを作成した
ステージを作成する際、バリエーションを増やすとメモリー圧迫するのでいかに見栄えがよくかつ負荷がかからないよう作成した
マップの草や岩などは、プロシージャルで作成すると、配置情報がゲームプレイやメモリーの使用状況に直結するため手作業で作業
ただ、その際オブジェクトスタンプツールを作成し、効率化を図った
プレイヤーのログ(どこで敵に見つかったか、馬に乗ったかなどをログとして残し、ユーザーが通りやすいルートを重点的にクオリティアップを行った
全チームが作業しやすいようアセットは全てデータベースで管理。閲覧・検索・独自エンジンへのドラッグアンドドロップによる配置が行える
また、発生するエフェクト、コリジョン、テクスチャなどの描画設定、LOD設定なども管理
アセットのクオリティを維持するためチェックツールを開発
ノーマルマップが、正規化されているか・テクスチャを効率よく使用しているか・法線の傾きの割合チェックでき不正なノーマルマップを検出することができた
24時間の時間変化や天候変化に対応
光は、ルーメンで光の強さ、色温度でライトの色を制御している
高品質なグラフィック表現のために多数のライトを置く必要があるが、描画負荷が上がってしまうため、ライトがどれだけ面積を塗っているかを確認できるようにした。
環境光と間接光を含んだ球面調和関数和によるライトプローブをマップ上に設置
基本的には、自動配置だが主要な町は手作業で設置
プローブ同士の重なり具合をプレビューしながら負荷を調整
屋外や室内など、様々な光量の場所で適正な明るさにレンダリングできるように露出制御(トーンマッピング)+補正で対応した
単純にトーンマッピングを行うとどのシーンも一定の明るさになり、本来は暗い場所が明るく見えてしまう
リッチなポストエフェクト(ブルーム、レンズフレア、SSR、DOF)
イベントシーンには、フレーム単位でライトやポストエフェクトを追加できるツールを開発
また、カメラの自動露出で得られるEV値に応じてライトの強度や色を自動で制御
プラットフォームごとに、ライトの個数や広範囲を増減させたり、影の解像度の切り替えに対応している
また、SSAOの質や、レイマーチングを用いて視差効果の演出なども加えている
補助骨設置することで、アニメーションデータを削減した
武器のカスタマイズの柔軟性のため、マテリアルIDとFOVAシステムを採用
レンダリング時に専用バッファにマテリアル種を示すIDに書き込むことで、ライティング時に該当部位に対応するカスタムシェーダーを適用させることで異なる質感表現を演出
5.キャラクターp96~p111
フェイスアニメーションを簡単かつ品質の高いものを作成するため、FaceRobotを採用
Marvelous Designerを使用して、服を作成
服のしわなどは、Marvelous Designerでノーマルマップの結果を出力し、ボーンの動きに合わせて自動適用されるようにした
クロスシュミレーションは、Marvelous Designerを使用し、そこで得られた結果をSoftImage上で使用できるように変換
透明感のある肌質を実現するため、ポストプロセス的な要素として表面下散乱をシュミレートするスクリーンスペースのサブサーフェイススキャンタリングシェーダを実装
専用に用意されたマスクテクスチャと頂点カラーの組み合わせによって、各種汚れを上書きする機能を実装
マスクテクスチャのRに血汚れ、Gにはスス汚れ、Bチャンネルには水濡れとなっていて、頂点カラーの変更でマスクが適用される仕組みである
ヘアシェーダーで異方性反射機能(特定の入射角度のみ反射が強い。天使の輪のこと?)を実現
また、バックライトが頭髪部分を透過する表現も実装
敵兵のモデルは、一度会ったら二度と出会わないようなレベルで敵パターンを作成
兵種・エリアごとに、敵パターンを分ける
その際、敵には全てのパターンのメッシュデータが入っており、一定のルールに基づいて出し分けている
6.モーションp112~125
速度に応じて、歩き・ジョギング・走りモーション分けている。その際、それぞれに対してアイドリングから移動して止まるまでの繋ぎモーション用意している
クオリティの高い動きを実現するために、モーションのブレンドや加算を活用することで実現
リグをプロシージャル化機能を実現
物量を捌ききるためにリターゲットをうまく活用
その際、実際にキャプチャーしたものとキャラクターの差分を高い精度でリターゲットできるかにかかっている
3DCGツールで作成したアニメーションをそのまま、実機上で再生できるよう機能を作成
その場で調整できるため作業効率がアップ
7.エフェクト&グラフィックp126~p141
高負荷のため半透明は、縮小バッファとLDRを導入
ノードベースのエフェクトエディタを作成し、機能追加の容易さを実現
雨の表現工夫なしに行うと雨が当たらない箇所にも濡れてしまうので、板ぽりを置いて濡れる場所濡れない場所を分けた
川底の揺らぎは、ディファ―ドレンダリングの結果の画像を使用している。
ただ、描画負荷のため環境光と平行光のみを反映。映り込みはキューブマップを使用し、時間天候によって色補正をしている
水面が走った際の波紋は、ハイトマップを利用している
海面の波の形状は、高速フーリエ変換で求め、傾きと高さをテクスチャー化してシェーダーで使用。ただ遠くはシンプルにしている
色は、3種類のテクスチャーを使用し、白い波を表現(1枚のテクスチャーのRGBに3つを格納している)
水粉末のエフェクトは、場面の応じて3段階の反射率を変えて異なる表現をしている
この三つのエフェクトは1つのデータによるもので、三つエフェクトを作成するよりもずっとメモリ使用量が小さく抑えられる
ライティングの影響を受けない自己発光エフェクトが、明るい箇所では暗く、暗い場所では白飛びしていたため露出対応
背景とパーティクルの衝突判定は、画面外の衝突も処理するためZバッファを流用するGPUベースではなく、CPUベースの手法を行っている。
風は天候に応じて変化する
パーティクルLOD用いることで、カメラから近いと数を減らすようにした
また、処理負荷が高い場面に応じて発生数をパーセンテージで設定し、状況に応じて自動的に数を減らす機能もある
タイヤ跡を、タイヤの通り道に地面に沿ってリアルタイムでポリゴン数生成し、ノーマルマップに凹凸を書き加えることで表現
カメラにつく水滴は、スクリーンスペース上でグリッドを生成し、各点にどのくらいの重さの水滴が付いているの情報持たせてレンダリング。ある程度重くなったら水滴は流れる仕様。
また、表面張力のシュミレーションによりグリッド上の他の水滴を吸収しつつ、流れる挙動を変化する
8.イベントシーンp146~
インゲームからイベントシーンに遷移する際、インゲームのモーションをイベントシーンのモーションへブレンドさせている
また、時間・天候・コスチューム・怪我なども引き継がれる
ストリートファイターV
ゲームグラフィックス2016より抜粋
1.PS4世代の絵作りにおいてモデル単体のシェーダ等でそれを突き止めることはできず、背景やライティングとの共同作業によって初めて実現されるものとなる p156~p157
2.キャラクターのカラーバリエーションを増やすためのカラーマスクマップ、SRMAマップ(スペキュラ、ラフネス、メタル、アンビエント)、SSSマップ(サブサーフェイス・スキャンレンダリングの色を指定するマップ)
3.油彩タッチを実現するためノーマルマップに油彩タッチを追加。その際、素のノーマルマップを元に追加しようとすると紫色オンリーであるため変化が確認しずらいので一旦xNormalオブジェクトスペースに変換後し、油彩タッチを追加後、もとに戻すことで油彩タッチを実現 p162
4.キャラクターが見やすいよう間接光が用いられている。2段階で調整されていて、1段階目では、IndirectLightingCacheで焼き付けられた間接光が入った状態。2段階目は、Enlightenでリアルタイムで補間。IndirectLightingCacheでも強弱の調整は行えるが、Enlightenだと用いることでビルドせずに済むのと判断 p163
5.近景と遠景テクスチャーとシェーダーを変更 p168
6.滝の水面の擬似コーティクスを表現するためライトにマテリアル(ライトファンクション)を設定しUVスクロールすることにより表現 p170
7.キャラの視認性を上げるためマルチカラーグレーディングを採用 p173
ステージの画面をキャプチャーしてLUTテクスチャーを作成して、それを利用して画面の手前と奥、左右で深度や位置関係を見てカラーのレンジを調整して視認性を上げている
8.視差マッピングを利用して、テクスチャー一枚でもディティールを変化させることができた p179
9.骨が見える表現は、描画時にステンシルテストにより描画領域を指定することで黒く色を変えたキャラクターよりも手前に骨モデルを描画させている p184
10.Vトリガー時には背景が暗くなるが、これはポストマテリアルで対応しており3空間上の中心点から一定以上離れたピクセルの色を暗い色に変えている。この時はキャラクターはマスクされて効果がかからないようになっている p184
11.エフェクトもマルチカラーグレーディングを適用させている。
また、環境から独立させるようエフェクトはライティングの影響を受けないが、煙だけは環境になじませるため受ける
12.Meshパーティクルを多用していたが、GPUパーティクルに置き換えた p185
GUILTY GEAR Xrd -REVELATOR-
ゲームグラフィックス2016より抜粋
1.前作ではアップでも引きでもキャラクターのハイライトの入り方や影が同じであったため情報量に格差があった。
そこで、本作では一枚一枚の画に対する情報をコントロールするためリムライト用マスク使用している。ベーステクスチャーのアルファチャンネルに格納している p188
2.ねらった形状にハイライトが出るようにハイライトテクスチャを作成 p194
3.特定の箇所に影や表情パーツを表現するため、メッシュを表現した箇所に設定しテクスチャーを貼る p196
4.技の際キャラがアップになるがその際、邪魔なものが入り込むことがあるのでそれをかっとしている p201
5.時間経過やラウンド遷移に合わせて背景要素が変化 p202
6.多彩なストーリエディタを作成。ボーンを調整できたり、影色やライトの当たっている部分に別々の色を持たせたりできる p210
7.同キャラ同士が戦う場合、キャラクターに別のカラーが適用されるが、エフェクトにも適用 p212
8.格闘ゲームは視認性が大事なので、エフェクトが主張しぎないようにする p215
なので、キャラとエフェクトが被った際は、エフェクトが奥になるように描画順を設定
9.煙のエフェクトは、3Dで作成しそれを連番テクチャにしてそれを使用して作成している
p218
10.エフェクトのテクスチャーは多様なエフェクトを作成できるようにグレーススケールで作成される
素材同士の組み合わせや色を変えることで様々なエフェクトを作成可能 p220
11.アクションの視認性を高めるためバケエフェクトを採用 p221
12.3Dのエフェクトを2Dで表現しようとするとポリゴンっぽく表示されてしまう。なので、ポリゴンの縁が透過していく処理を追加 p222
13.エフェクトを2Dに見せているが実際は3D表現なので、パースをなくす実装をした p224
14.徐々に現れたり消えたりするアニメーションや、服が破けていくアニメーションは、容量節約のため1枚のテクスチャーに対してアルファの閾値でコントロール p226
ガンスリンガー ストラトス3
ゲームグラフィックス2016より抜粋
1.キャラの視認性とルックを上げるため服の発光表現 p234
2.髪をかき上げる表現の追加 p258
3.キャラクターごとに異なるダッシュエフェクト p243
4.エフェクトの視認性の向上 p244
背景もキャラもエフェクトも全体の露出が均一になってエフェクトが目立たない印象になってしまった
そこで背景のライティングを落としてオーラやエフェクトをの視認性を上げることで、光がより綺麗に見え画面全体も見やすくなった
5.前作はUIで時間を表現していたが、今回は空の変化で対応 p252
6.破壊表現を一気に壊すのではなく徐々に壊れるに変更 p254
7.壁のぼりの工夫。地面と壁の間を上るきっかけの丸めたオブジェクトや、壁走り中に出っ張った部分などにぶつからないようなコリジョンの設定 p256
DARK SOULS III
ゲームグラフィックス2016より抜粋
1.モンスターの結晶部分には暗闇で光る表現を実装。また、結晶の映り込みはあらかじめフィールドで撮影しておいた環境マップを貼り付けている p262
2.体毛が動く表現は、フローマップと頂点オフセットで実装 p264
3.身にまとうベールはテッセレーションで自動分割される。クロスシュミレーションはHavoc
4.コンタクトハードシャドウの実装。また、動的影と静的影をなじませるようにした。その際、シャドウキャスターの奥行方向に向かって徐々に影がボケていくようにした。 p270
5.湿地帯の表現 p272
水底は、低解像度をテクスチャーに利用することで水中らしさと描画軽減を実現
水面は、スペキュラマップによる反射表現、ノーマルマップによる波打つ表現、映り込みは撮影済みの環境マップで実現
樹木の影はリアルタイムの影を映り込ませている
また、水面と木の幹が交差する部分にジャギーが目立たないように滑らかに描画するシェーダを実装
6.濡れの表現を実装 p276
水に入ると、全身の明度が下がり、スペキュラが強くなる。
また、高さも対応しており時間が過ぎると元に戻る
7.古びた窓ガラスの表現 p280
8.自由自在に生み出せるキャラメイク p286
艦これ アーケード
ゲームグラフィックス2016より抜粋
1.NPRの表現 p298
ディフューズ、スペキュラ、リムライトの3つの要素をRampテクスチャーによって色と陰影を制御
また、カスタムパラメータによってスペキュラやリムライトの強さ、ブレンドの方法、グラデーションの幅をデザイナーで調整できるようになっている。
夜景などシチュエーションによって逆光になることが多く、顔に落ちる影によって怖い印象を与えてしまうため影を薄くするなど、どこから光源があっても可愛く見えるようにした
アウトラインは、深度や法線を用いて作成されている。
さらに、マテリアルIDや頂点カラーを割り当てることで描画の有無をコントローラしている
2.服破れ表現 p300
通常のモデルと、破れモデルを用意している
登場キャラクターが非常に多いため、モデル構造をある程度共通化し、アルファテクスチャーを追加することで服破れを表現
3.リグのセットアップにMELスクリプトを用いることで効率化を図った p303
4.キャラクターのモーションは、モーションキャプチャーで撮影したのをベースにしているが、そのままではイラスト調のキャラとマッチしないため生っぽさを軽減するため手付けで調整している
また、どのアングルから見ても可愛く見えるように目線の芝居が重要 p304
5.揺れものの制御 p306
髪の毛や服には補助ボーンが組み込まれており、コリジョンの硬さ、重さ、風の影響などの設定を行って実機上の物理シュミレーションによって揺れを生成している。そこで、各キャラクターの特性や布の質感に合わせて、手付けによって揺らぎが細かく調整されている
6.フェイスアニメーションは、ブレンドシェイプによって作成されている。 p308
キャラクターによって性格が異なるのでその際はアニメーターがフェイス編集ツールで微調整行っている
7.リップシンクを実現するため、ボイスに合わせて口パクや表情を作成するために開発された。 p309
8.海面の波の表現 p370
海面のメッシュ構造はカメラに近い範囲のみポリゴンの分割を細かくし、遠景は少ないポリゴンで描画している
波は、高速フーリエ変換だが、起伏を表現することが難しかったため大波用のゲルストナー波を別途加えられている
これに、近景用のコリジョン成分とプロシージャルノイズを加え、3種類の異なる波のブレンド具合を調整することで自然な波を作りだしている
また、波のリピート感とモアレ軽減するためノイズテクスチャーをスケールの異なる複数のUVでフェッチしてノーマルマップとして合成後、ミップマップレベル大きければノイズの強度を下げて補正している
9.海のライティング p312
半透明のオブジェクトも正しく描画するため、ライティングはForward+を採用
ポリゴンをメッシュする前にスクリーンをタイル状に分割し、それぞれのタイルに寄与する光源をリストアップする
メッシュを描画する際にピクセルごとに描画先のピクセル位置からタイルを参照し、リストアップされている光源のみライティングを行い計算量を軽減している
また、海面の色は環境マップの反射によって表現しているが、リアルな表現を求めていないため大気散乱などの処理は局所的な使用にとどめられている
10.海面エフェクト p314
航路・波紋・水飛沫は、コリジョンやポイントライト組み込むことで実装されている
また、これらのエフェクトは一度にまとめて描画されるようになっており容量削減のために各素材や連番ファイルなどをテクスチャー一枚に格納されている
また同じ場所をぐるぐる旋回すると処理負荷がかかるので、描画ピクセル数によってパーティクルの寿命を短くする仕組みを実装している
イグジストアーカイヴ -The Other Side of the Sky-
ゲームグラフィックス2016より抜粋
1.Mayaでの作業がそのまま実機上に反映されるようMayaを改造。 p319
2.キャラクターのライティングと影の生成 p320
動的ライティングはキャラクターのみにした。キーライト・フィルライト・リムライトの基本となっており、マップによっては指向性のあるアンビエントライトが複数加えられる。
リムライトには、LUTテクスチャーを使用
また、背景には動的ライティングは行っておらず、頂点カラーにベイクしている。
キャストシャドウは、シャドウテクスチャえを採用しており、シャドウ生成時には専用のダミーライトを用意することで
キャラクターのライティングと影の角度を別々に制御できるようにした
3.ブルームとカラー調整を行ったポストエフェクト p322
カラー調整は、ブライトネス・コントラスト・モノトーン・色温度
4.物理シュミレーション p328
胸や骨といった揺れものついては、全て骨を入れ物理シュミレーションで揺らしている
モーションを流用する前提なので、スカートの骨は全てキャラ共通
ムチが地面に突き刺さる問題があったため、地面のコリジョンに反応した際、ダイナミクスを加えることで対応
5.処理負荷対策
半透明の描画負荷がかかるので、モデルをできるだけカットしている。
また、縮小バッファ用いている
その際は、細かいラインがつぶれるした場合辞めたりしているs
6.ダンジョンのカラーバリエーションは、Excelで制御 p341
7.3Dアセットを2Dっぽく見せるため何層にもした。また、草木は頂点ごとにウェイトつけており、風の影響で揺れるようになっている p342
8.背景に彩りを添えるため手付けによる頂点カラーを加えた p343
バイオハザード アンブレラコア
ゲームグラフィックス2016より抜粋
1.マスクマップでカラーリング変更可能。傷がランダムに変わる仕様を追加 p376
2.遠くに写っている場合は、骨なしにしている p378
3.ステージ処理軽減のため葉や布が物理シュミレーション行わず、シェーダーで表現している
p382
4.影の落ち具合で相手がどこを通ったのか、どこに隠れているのかを表現。また、ディファ―ドレンダリングだったので、ライトの数は問題ではなかったが、シャドウの数がネックとなった。なので屋外はディレクションライト、屋内はポイントライトとスポットシャドウを設定し、場面に応じてシャドウの設定。作業はフローは、メインの光源を配置してからベイクするとバウンスの光が計算されたライトマップが生成され、その後に光の変化(色や強さ)がある部分はライトプローブをを設置していく流れ p384
5.半透明の煙にライトを当てたり、影を落としたりしている p388
NARUTO -ナルト- 疾風伝 ナルティメットストーム4
ゲームグラフィックス2016より抜粋
1.シェーディングの改良 p400
トーンマップを使用してキャラクターの明るい部分・暗い部分を制御している
アウトラインは、モデルを外側で押し出しての輪郭とポストエフェクトによる輪郭の合わせ技であるが、アウトライン判定用のレンダーテクスチャすることで双方の描画を一度に行っている
加えて、キャラクター個別にカラー指定が可能なようにIDバッフを新設
4×4の16ドットテクスチャに色情報をもたせ、その色を取得してアウトラインを描画する
また、グレア情報もアウトラインに追加しており、キャラクターによってはアウトラインが光る
2.イベント時のダメージ表現を、専用のテクスチャを用いてフレーム単位でOn/Offの制御
p402
3.大規模な破壊シーンは、Bulletが使用されている。また、バトル中に破壊により背景の形状が大きく変わる場所ではライトマップのみだと対応できないため、リアルタイムで影を表現している p406
4.ポストフィルタ p408
カットシーンで攻撃が当たった瞬間にヒット間を高めるためにフリンジ(色収差)を導入
また、キャラクターと背景の色合いを個別に変更できるるようにするため、マスク情報をテクスチャとしてもっている
5.パーティクルエフェクト p410
爆発のテクスチャは、FumeFxで作成し、AEでセルアニメタッチに加工
液体のモデルは、RealFlowを使って作成
破砕表現には、RayFireが採用されていて、割れたパーツを別々のオブジェクトにすると負荷が高いため、1オブジェクトにして負荷軽減
ファイナルファンタジーXV
ゲームグラフィックス2017より抜粋
1.天候の制御は、カラーコレクションなどをくみあわせことで実装 p22
2.雲は、3Dテクスチャーに異なる周波数の合成している。ホワイトノイズだといかにもノイズっぽさが出るため。 p24
また、天候のIBLはリアルタイムで更新され、リフレクションやライティングの計算時に、事前計算されたローカルライトと合わせて適用される
3.雨の濡れ p25
髪が雨に濡れると質感が変わるだけでなく髪がなびくようになっている
髪の動きを制御する物理パラメータが濡れた量に応じて変化させている
屋根の濡れない箇所は、上空からのデプスマップを参照してマスクしている
濡れた際は、パラメータで制御している
例えば、ベースカラーの暗さ、リフレクションの強さ、水溜りの深さ、流れの速さ
4.露出制御 p26
露出補正機能は、2つある
画面の明るさを判定して補正を行うものと、天気ボックスを踏むと24時間分の露出の値を参照して(屋内と屋外が切り替わる箇所に設置)
これらの二つの合成して制御している
5.海 p28
屈折と海の深さに応じて透明度や色が変わる水シェーダー
カメラに映る範囲で水メッシュを描画
また、カメラに近い場合は、ポリゴン数を多く、遠い場合は、ポリゴン数少なくしている
また、カメラに波が被らないようにカメラの近くでは波を穏やかにしている
6.顔と体をモーションキャッチャにするパフォーマンスキャプチャを導入 p38
7.自然な表情を見せる工夫 p42
目をキャラクターに向かせたり、視線のブレ(サッカード)、自動での瞬き
また、VORER用いてボイスに合わせて自動でリップシンクを行う
また、この時加算モーションによって怒った顔や笑った顔でもアニメーションが合成される
また、内製でテキスト情報をもとにMaya上でリップシンクを行うことができる
8.ゲーム中では、地面だったり坂だったりしても位置が正確に合うようになっている。また、敵が坂で顎の先が埋まらないように、地面との衝突を判定して、IKで首の向きを補正している
また、モンスターのIKはAIが制御。AIがどこを見たいのか周囲の状況をみて決めている。 p44
9.モンスターの独自リグツールp46
足や腕などをパーツ単位のリグをMaya上で自由に組み合わせることができる
また、ストレッチにも対応。
また、コントールリグへのモーションベイクやミラーリング、アニメーションの保存・管理、コンストレイントといった機能もある
参考サイト
10.巨大なモンスターを作成する際、リピート感とディティールを出すために、1024×1024のテクスチャを100回タイリングさせた p48
11.補助骨はリアルタイムエクスプレっションシステムを搭載。例えば、肘を曲げたら筋肉が盛り上がるようになる。 p50
また、リヴァイイアさんのひれにはシュミレーションでゆらゆら動かしており、オンオフで場面に応じて切り替えている。
また、水中に出入りするような場面ではヒレが体に沿うようにプログラムで制御している
12.召喚カットシーンの演出 p52
キャラクターがどこにいても召喚獣は登場するためどのローヶションでも対応する必要があった
特にタイタンは宙に浮いておらず地面に走らすのが大変だった
対策としては、ノクティスのいる座標からタイタンが足を着く位置を割り出して、その周辺のコリジョンの高さの平均値を出し、その平均値に足が着くようにタイタンの腰と足の高さを調整している
また、見えるとまずい箇所は、煙のエフェクトで隠して対処
シヴァの背景物のめり込みは、召喚演出直前にノクティスの半径15m以内の背景オブジェクトが少ない空間を探しワープさせている
また、カメラとターゲットの間に障害物がある場合は、カメラ位置をリアルタイムで計算し、補正している
また、敵の大きさに応じてカメラの視点や画角を変えている
13.地形にディティール加えるため、WorldMachineを使用し雨によって山が削れを表現 p56
14.地形のレベルデザインを行う際、誰が編集指定しているか確認できるようにした p58
また、ブラウザ上で、アセットがどこで使用されているのか、どのマテリアルが適用されているのか確認
15.環境に影響を与えるエフェクト p64
例えば、ファイガであれば地面が燃え上がり、ブリザガであれば周囲が氷結する
また、背景物には燃えやすいなどの内部設定があり、雨や水辺に燃え広がらないだけでなく、エフェクトの寿命も短くなっている
キャラクターは走った足音のエフェクトも地形や草木に応じて出し分けている
16.露出補正と輝度におけるエフェクト p66
昼夜によってエフェクトの輝度をどうするかを説明する
ヒットフェクトは、攻撃が当たったという記号的な意味があるので昼夜問わず輝度を一定にした
一方で、自然現象や背景物に表示されるようにエフェクト、現実世界同様に露出の影響を受ける
ペルソナ5
ゲームグラフィックス2017より抜粋
1.キメ顔マップによって影が落ちる範囲をあらかじめ指定。トゥーンシェーダーによって生成された影が重なると同化して消えるようになっている
また、エッジライトとアウトラインは、カメラの距離に応じて強さを制御している p76
2.補助ボーンの活用 p80
腕のつけに補助ボーンを設置することで腕が回転した時の破綻を防いでいる
また、今作では残像のような表現があるが、その効果もあらかじめ補助ボーンでポリゴンの頂点を動かすことで表現
3.ポケットに手を入れた時に自然な形状になるようポケット周りに骨は複雑な構造になっている
p82
4.フェイスアニメーション p84
汎用アニメーションと専用アニメーションがある
汎用アニメーションは、各キャラ約10種類程度でボーンで制御している。
専用アニメーションは、イベントシーンなどで汎用アニメーションで表現できない時に必要
5.ステージのライティング p88
ディファードレンダリングを使用しているので、比較的多くのライトを設置できるため、天候や季節などの変化を表現できる
シーンには指向性のあるディレクショナルライトひとつだけであるため、影が淡白になるため基本的な影情報はテクスチャーに書き込んでいる
夜の街並みは、基本光源がほぼなく、陰影がなくなってしまうため、スポットライトやポイントライトで複数設置して問題回避している
季節の変化は、画面フィルターで視覚的に分かるように工夫されている
ダンジョンによって、ステージを進めるごとにフォグやライトが変わる
6.シャンデリアに乗るギミックでは、キャラが揺れているのにシャンデリアが揺れていないのは不自然なので、ヒットチェックをしてキャラがそのエリアに入ったらシャンデリアのアニメーションを発動
7.本作はアニメ的な要素が強いので、エフェクトは、アルファクランチが活用された p100
8.エフェクト制作において、当初は連番テクスチャーを多用していたが、それだとPS4の解像度に耐えられないのでモデルによる連番表現に変えることで負荷を軽減
また、一枚画を画面に出すこともメモリ的に非常に重いため、総攻撃などの静止画も板モデル化して解像度割れの解消を図っている
p102
人喰いの大鷲トリコ
ゲームグラフィックス2017より抜粋
1.トリコの体毛は、羽の流れや量をデータとして設定し、空間を流れる風のベクトル・強さの影響を受けて体毛なびくようにアニメーション p108
2.水濡れ表現 p109
水濡れ表現は、モデルの頂点単位で行われている
濡れた身体が乾いていくアニメーションは、水から上がってからの時間経過を監視して、その値をブレンドして表現している
また、わきの下などの入り組んだ部分は乾きにくいことを表現するためオクルージョン情報をあらかじめバーテックスカラーにベイクして格納しておき、これを乾きにくさとして表現している
3.トリコの体をぶらさがったりすると、皮膚が伸び縮みするので専用のボーンを用意している
p110
4.複雑な地平面に追従するトリコの接地制御 p114
足に設置する面の高さと傾きを監視して、プロシージャルに身体全体をの姿勢を調整する制御プログラムが採用されている
プログラムでは、各関節の可動リミットや足の伸び切りなどを意識しており、高低差や角度がついたところでもアニメーションやスキンが破綻しないようにできている
5.人間らしさを付加した水濡れ表現 p117
水濡れ時には、水濡れ専用のテクスチャマップを参照して、水滴が流れるエフェクトを施されている
また、水濡れ時にスペキュラのハイライトが目立たない状況に対処するため、シェーダー側で擬似的にスペキュラ専用のライトを設置している。
また、髪の毛が濡れて顔に張り付いた表現をするため、濡れた状態の頂点位置の情報を頂点カラーとして格納しておき、そのデータを読み出して、乾いた
6.Furの質感 p118
カメラが少年をニアでとらえると、ブレンドによりFURのディティールが浮かび上がる
7.人間の耳の部分が薄く、他の部分より光が透過しやすいため性質を特徴づけるため、透過量と色を指定したマップによって赤みをもったカラーで表現 p119
8.2つの服の揺れ p122
一つ目は、物理シュミレーションによって、衣装に仕込まれたスケルトンの各ノードが風の影響を受けて大きく動きをつける
二つ目は、頂点の振幅移動によって微細な動きで、こちらは頂点カラーとして格納されたパラメータを参照して振幅の大きさを決めている
9.PBRで作成しているが、空想上の幻想的なものである限り物理的に正しいかどうかさほど問題にならない p126
10.動的モデルの影響をGIに書き込むことができないので、スフィアを仕込みそこから計算される遮蔽度で影を落とし、SSAOを実現 p128
11.多種多様なブロックパーツで用意するため、同一の形状をもつブロックパーツでも、貼り付けるテクスチャを差し替えることで異なるパーツに見える工夫がなされている。テクスチャの割り当ては、独自ツールで自動化されており、メッシュの面積とアスペクト比に応じた解像度をもつテクスチャを自動的に選択されるようになっている p132
12.石積みの重さや経年劣化を表現するため、ラディアスフォーマーを使用してパーツのtransfromに微小なブレを与えることでパーツの連続性にゆらぎを与えている。このゆらぎの計算にはパーリンノイズを応用した専用ツールを用いている
参考サイト
13.フィールの情報量と荒廃感を演出するため、崩落した石オブジェクトが置いてある p136
14.プレイ中に、ランダムに飛来する鳥や蝶は、カメラに対してニアに飛来する場合はモデルで、ファーに飛来する際にはパーティクルで表現している p138
15.葉は、頂点カラーとして設定された揺れの度合いのパラメータを参照して、風の影響で頂点が移動して葉が揺れるようになっている。また、連番テクスチャを変化させて、細やかなざわめきを持たせている
16.草木は、ポリゴンの変形・連番テクスチャーによるアニメーションで、風の影響受けて細やかにざわめく様子が描写されてい
また、フィールドに設置する際は、種類、サイズ、分布、減衰のパラメータ指定することで、プログラム側で生成されるようになっている p142
Gravity Daze2
ゲームグラフィックス2017より抜粋
1.手描きイラストのようなグラフィックは、3種類のフォグとトーンカーブによる色調整 p146
2.飛び込める雲の表現 p148
空を自由に駆け巡るゲームなので、3D空間上にボリュームをもった雲をレンダリングしている。
こうすることで、建物やキャラクターと重なっても突き刺さらない柔らかい雲になる。
また、ユーザーの操作によって雲の中に入ることが可能なため、カメラが雲の中に入っても正しく表示できることが採用の理由
3.トーンカーブによる色調整 p148
これにより、コントラストをつけたり、影を潰したりの調整可能
タイミング的には、トーンマッピングでLDRに変更した後、レンダリング時の最後にカラーコントロールとして行っている
4.フォグ p158
バックグランドフォグという、カメラから離れるほど天球に溶け込むようにみせるもので、つまりIBLテクスチャーの色を与えるイメージ
その際に、参照するミップマップレベルを選択することが可能で、最高解像度の場合完全に空との境界が分からなくなるが、低解像度の場合は空との境界を認識することができる
5.キャラクターの向上 p152
キャラクターがアップになることが多いので、画的に要素を増やした
ハイライトと金属の質感を足して、マップにより手書きの塗りムラを加えている。
また、暗い中でもシルエットが映るようにリムライトを追加
髪の影をシンプルにするため、髪全体の法線をリアルタイムで制御可能にし、指定した範囲のみ球状でノーマルで焼き込んでいる
6.光る血管の表現 p156
キャラクターより手前に描画されているようで描画順が破綻せずに見えるのは独自の工夫がなされているからだ。
具体的には、専用のでデプスバッファにポリンゴを裏面描画したキャラクターの深度レンダリングする。その際にキャラクターごとに指定したID値をステンシルに書き込む。そして、Zテストとステンシルテストを行って専用のカラーバッファにレンダリングする
こうすることで、キャラクター同士が重なったり、自身の手足が重なっても問題ない見た目になる
7.キャラクターのライティング p158
キャラクターにポイントライトを当てる際、法線を用いると立体感が強い見た目になるので、法線を無視してシェーディングしている。また、距離に応じて減退を行っている。
8.フェイスシャルアニメーション p161
眉と目はテクスチャの差し替え、口はブレンドシェイプ、あごは一本のジョイントによる顎アニメーション
視線の動きは白目のマスク部分に別の黒目テクスチャを転写し、ジョイントに連携させて回転やスケールを制御している
眼鏡をモデルにしないことでモデリング・スキニングの手間が大幅に減り、目の縁のエッジが立たないなど、見た目的にメリットがある
9.モブキャラクターはなるべく近場に同じ組み合わせのキャラクターが重複して出ないようにしている p162
10.コミックデモ p164
画像を読み込むとポリゴンを生成して絵を貼り付け、エクスポートに必要なノードを構成するところまで自動化されている。
その際に画像をあらかじめレイヤー分けておくと、ポリゴンが複数生成され自動的に視差対応されるようになっており、大幅に効率化された
11.オープンワールドを実現するための工夫 p171
オクルージョンカリングしやすいようなオクルージョンカリングモデルを作成
読み込み面では、テクスチャが最もメモリ食っていたため、使用頻度の低いテクスチャや似たようなテクスチャをマージし利用
マージ作業は一括してバッチ処理
また、共通してよく使われる地面や壁などのテクスチャを常駐メモリにのせて読み込み速度を上げるといったこともした
12.遠空の空 p172
100枚ほどのテクスチャ(動く雲のような感じ、最前面のボリュームフォグ)をPhotoshopで手書きで作成し、それをMayaで天球を作り、各面レンダリングしてキューブマップにした
キューブマップ自体はHDRではなく逆トーンマップを最後に適用してHDRにしている
参考サイト、参考サイト
13.写真と手描き背景テクスチャ p174
スペキュラマップを廃止して、よりマットなアニメの背景の印象に近づけた
ノーマルマップは写真から生成するとリアルになりぎたため、一度モノクロ素材を手書きでつくりCrazyBumpで変換している
ハッチングは、テクスチャに書き込まれたものに加え、影部分にポスト処理でのハッチングを加えている
そうしたハッチングやSSAO、汚しや模様が合わさり、リピート感のないユニークな見た目を表現
参考サイト、参考サイト
14.カメラが引いた時のテクスチャのリピート感を軽減するため建物単位で上下方向にグラデーションかけた p176
15.レンダリングパイプライン p178
タイトル表現のために、背景はディファ―ドレンダリング、キャラクター・エネミーはフォワードレンダリング
ただ、そのままだと背景からキャラクターが浮いてしまうので、IBL情報を独自に解釈してSH(球面調和関数)に圧縮し、フォワードレンダリング時に各シェーダが個別解釈して馴染ませていている
15.キャラクターの輪郭線 p179
輪郭線の色や太さなどを個別にコントロールさせるためにポスト処理ではなく輪郭線用のポリゴンを生成
ジオメトリシェーダでポリゴンのエッジを検出して描画専用のポリゴンを生成
エッジ検出時に隣接頂点を取得できるように、専用のインデックスデータを生成/ピクセルシェーダでラインをプロシージャルで描画
プロシージャルであるため、色やブレンド率、太さや歪みなどもマテリアル単位で個別に調整可能
16.背景の輪郭線とハッチング p180
Gバッファに出力された法線情報を基に輪郭を検出。Sobelフィルターだとちらつきが目立ったため斜め方向の差分も細かく算出しており、その際の処理は複数のフレームに分散
そして、レンダリング時にハッチングテクスチャをGバッファの1チャンネルに格納
ライティング時に使用しているSSAOバッファをそのまま参照(こちらも複数フレームに分散)
SSAOバッファでハッチング情報をマスキング。
最後にハッチングと輪郭線を合成
参考サイト、参考サイト
17.Clothシュミレーション p184
前提として、完全なClothを含め全てソフトボディで統一して実装、スキニングに完全対応するためのGPUによるシュミレーション実装を行った
セットアップの複雑化に対しては、頂点カラーのみでセットアップを可能にし、ソフトボディとリジッドボディをシームレスに切り替えを可能にした。
配置による処理負荷の増加には、カメラからの距離で制御しているが、ゲーム中に重くなるとリジッドボディに切り替えている
瞬間移動や初期表示での形状破綻には、元の形状を記憶して初期表示時などにリセットすることで対応
参考サイト、参考サイト
18.ボリュームクラウド p186
雲の形状をモデル化し、worley noiseなどのノイズを使用してパラメータで濃度分布を自動生成。
高速化のため、雲のレイマーチはボリュームフォグと統合して3Dテクスチャ上で処理
ボリュームレンダリングのため、カメラが雲の中に入っても正しく表示される
19.ボリュームフォグ p188
参考サイト
バイオハザード7 レジデント イービル
ゲームグラフィックス2017より抜粋
1.フォトグラメトリー
複数の地点から撮影した画像のデータをもとに高精度3Dモデルと高繊細なテクスチャを作成
2.アイシェーダ―、シワシェーダー p198
虹彩表現のアイシェーダ―、ポリゴンの表面積に応じて手や目のシワのノーマルをブレンドする
3.毛はOrnatrix で作成 p202
4.接地感の改善とLookAt処理 p208
足元がめり込むところに関してはIKを利用して補正を行っている
LookAT処理は、腰⇒腹⇒胸⇒首⇒頭+両目と追従
また、坂道での視線制御にも使用
5.エフェクトをフォトグラメトリ p212
6.テクスチャーは、アルベド・ラフネス・ノーマル・オクルージョン・メタルで、それぞれを各種チャンネルにパッキング p21
7.適切なライティングを行うため、実際のライトの光量を撮影して、それを元にスペキュラやラフネスの調整に使われる
以下CGWORLDの221から抜粋
8.Pythonマクロによる拡張機能 p70
クリックひとつでMayaから独自エンジンへエクスポートし、自動でアセット化してくれる
また、テレメトリに溜めたユーザーのプレイデータを独自エンジン上でヒートマップ化してくれる
9.影のキャッシュ p71
各ライトマップのシャドウマップはキャッシュ化されており、動的な物体(キャラクター)が映るまで更新されない
ゲームにおいてリアルタイムな影の描画は非常に高コストであるため
10.静的・動的なものかかわらず一体感のあるライティングを実現するため、プローブネットワークを採用。
これにより、背景やキャラクターの間に生まれるライティングの差異を解決することができ、ライトマップベイク時間の手間、メモリや処理負荷の面で効果が得られた p71
11.シャドウマップを利用したレイマーチングを行うことでボリュメトリックな表現を可能としている p72
5.インタラクションに応じて変化する煙や流血表現 p73
NieR:Automata
ゲームグラフィックス2017より抜粋
1.服の複雑なシワはmarvelous designer
2.布と眼球シェーダー p234
柔らかい光沢のある布の表現には、物理ベースにファズ(毛羽立ち)と異方性が加えられたシェーダーを実装
眼球は光彩が凹んで見える専用シェーダー、高精度な影が落ちて見えるよう半透明シェーダーを乗算している
3.腕が発熱したような表現
頂点カラーで赤熱を設定し、しきい値を調正して加算ブレンド
また、アニメーション制御可能で、色はテクスチャーで指定
また、刺繍が体を侵食していく表現も、頂点カラーでグラデーションを設定しており、しきい値を変えることで表現
刺繍自体は専用のテクスチャーを用意
4.頂点カラーによる水濡れ表現 p238
衣装の材質ごとに濡れた際のアルベトやグロッシネスが設定されており、足元から頭のかけてのグラデーションを頂点カラーで設定しており、濡れ処理に使用
足元から頭まで7段階で接地判定を行う
5.モーションキャンセルの工夫 p242
連続攻撃でモーションキャンセルした際に突然位置が大きく変わってしまう現象が目立った
そこで、キャンセル受付開始から実際にキャンセルされるまでのフレーム数分、次の攻撃モーションの頭のフレームをスキップさせることで対処した
6.特殊なUI表現 p245
パンチスルー描画とノスタルジックフィルタ
7.ヘックスによるエリア管理とLOD p248
ステージをブロック単位で分け、それを編集したり・読み込んだり・遠景用のローモデルに差し替えたりするようにしている
プレイヤーがいるブロックの隣接する合計7つのブロックを近景モデル、それ以外を遠景モデルにした
また、遠景モデルをSimplyGonによって自動生成
8.ポストエフェクト p250
カラーグレーディング、ボリュームライト(VLE)、360度対応のフォグ
カラーグレーディングは、LUTが採用された
VLEは、光源からレイマーチングを行い遮蔽を考慮して生成したスキャッタ情報を合成してライトシャフトを表現
360度対応のフォグは、Photoshopで作成した32×32×6(RBBA8)のキューブマップを使用して360度に対応している
参考サイト、参考サイト、参考サイト
9.ディザ抜き p256
半透明は描画負荷が高いので、ディザ抜きを使用している
ディザだとドット感が気になりそうであるが、抜き具合の調整とブルームにより目立たないようになっている
爆発のような頻繁に登場する素材は、なるべくどの場面でも活用できるよう汎用性を意識して作成
また、エネミーのエフェクトは数が多くなるため、汎用的なデータを使いやすいかたちでオンメモリにしておき、ゲーム中いつでも呼び出せるようにした
10.サブエフェクト p258
表示優先度の低いエフェクトの生成個数に制限を設けた。
11.大量の弾表示と擬似光源 259
本作では、テクスチャーを単にビルビードで表示するのではなく、コンピュードシェーダーで使用を一旦3D空間上で描画してから、丸い形状の板にインスタシングで描画することで、弾の立体表現と大量表示を両立させている
ポケットモンスター サン・ムーン
ゲームグラフィックス2017より抜粋
1.FlashとAfterEffectを用いたエフェクト作成 p284
Flashで連番素材を作成した後に、AEで連番配置をし、グロー処理を追加した上で一枚のテクスチャーとして作成されている
アイドルタイムプリパラ
ゲームグラフィックス2017より抜粋
1.ダンスアニメーションの流れ p306
ダンスのモーションキャプチャーを取って、スカートの揺れや、表情、リップシンクを付けていく
サマーレッスン
ゲームグラフィックス2017より抜粋
1.服のシワ p323
参考サイト
2.眼球シェーダー p326
専用のシェーダーにより擬似的に瞳の部分をレンズ上にゆがませている。その結果、キャッチアイの効果が出ている
瞳の上半分には、まぶたの影に相当するシャドウが常に落ちるようになっている
3.肌シェーダーによる質感向上 p327
ハイライトの部分からシェード部分にかけて柔らかくシェーディングのグラデーションが繋がるように手が加えられている
キャラクターを引き立たせるのはリムライトで、キャラクターの腕や太ももあたりを見ると、リムライトによってキワに回り込みのハイライトが出ているのがわかる
また、衣服それぞれにAOも適用されている
4.レフ版で美白効果 p328
5.髪の工夫 p329
ディファ―ドレンダリングでは半透明ポリゴンが入ると正確にz値を参照できないため、アルファ値をもった半透明素材と不透明素材を重ね合わせた見た目を確保している
6.プレイヤーの位置に対して眼球と首間接のそれぞれにしきい値を設けることで、プレイヤーが注視しなくなる前後おいても突然に注視やめてしまわないようにしている p335
龍が如く6 命の詩。
CGWORLDの221から抜粋
1.Compute Shaderを活用してリアルタイム大量処理を行って高速化している。
プレイヤーに対して、常に200以上のライトが照射されていてもフレームレートを維持している
また、スペキュラマップは、非金属10、金属50、光沢をもつ金銀銅200と標準化している p63
2.パーティクルは簡易的なライティング p63
ビルボード上の半透明パーティクルに対するライティングにおいても、多方向からの光源からの影響を受けている
ただ、大量に設置されたライトからの影響を全て真面目に計算していると負荷がかかるので、前後左右天地としている
それぞれの方向につき1つの光源にまとめて簡易的に近似の光源色としている
ただ、一部のイベントシーンだけはすべてのライトを計算している
3.補助灯を積極的に活用したキャラクターライティング p63
4.ガラスは、プレイヤーからの攻撃がヒットした位置を中心に割れが生じるようになっている
また、破片モデルと粒子状のパーティクルを組みわせることで、大小織り交ぜたガラスの飛び散りを表現
その際、様々なパラメータを調整可能
イスなどの不透明オブジェクトは、破片の生成には、発生源となるモデルのマテリアルから色や質感のパラメータが取得されているため、破壊前のオブジェクトと同一の印象が得られるようになっている p64
5. 粒子の流れを視覚化したエフェクト p63
Compute Shaderで計算された3座標を、頂点シェーダーに入力し、その座標をジオメトリシェーダーで補間曲線を描画することで実現
参考動画の9:12:00、参考動画、参考サイト
6.海面表現 p64
7.グラス液体の水揺れ表現 p65
参考動画
8.グラスの氷表現 p65
参考動画
9.アニメーション p66
キャラクターの視覚形状と一致していないシリンダーコライダーとなっていて、部分的に部位コリジョンを拡張し、サッカーボールを蹴る時などに利用
また、常にキャラクターの進行方向に対して接地判定を行い壁や階段などがあるか確認している。そして、現在歩行している平面との高低差を調べて、キャラクターの次の振る舞いを決定している
これにより高低差がある坂道でも敵と殴りあえるようになっている
また、常に足元がつく場所を前もって調べ、足を戻したり、溝を跨いだりして、不自然に足が浮いてしまうのを防いでいる
10.爽快感を生むラグドールアクション p66
他のオブジェクトとぶつかるシーンでは、アニメーションの途中からラグドール化される
その際、人形っぽさが出ないように重力に逆らうような表現、衝突箇所を庇うのような表現をしている
参考動画の1:30
11.キャラクター p67
肌はSSSSSで、透過率マップを使用して2段階に透過する処理を行っている
ひげ、眉、髪はヘアシェーダーによって毛を生やすのではなく、モデルに必要に応じてアルファ付きのテクスチャを貼り付けている
スーツのシワは、ノーマルによる表現で、カメラがキャラクターに寄った際にディティールが表出するようになっている
また、イベントシーンにはキャッチアイのハイライトが入るようになっている
モンスターハンター:ワールド
ゲームグラフィックス2018より抜粋
1.Gバッファ構成 p17
BaseColor,Normal,Roughness,Metalic,Translucency,GbufferID,SSS,Velocity,FurVelocity
FurVelocityはファーの毛先の柔らかさを表現するのに使う
参考サイト、参考サイト、参考サイト
2.PBRのテクスチャー p19
PBRを導入したことで、テクスチャー制作のアプローチも変化。前作では、テクスチャーの濃淡や色味、艶などを各部位の明暗バランも直接書いていたが、本作そういうのを省いた
実際の質感は、シェーダとライトにゆだねられた
3.トランスルーセント p23
強い光源を背にすると光が透過するトランスルーセント表現が実装
透過していない状態(Lambert)と、光自体が内部に拡散しきった状態をの明るさを、トランスルーセンシーマップを参照して補間しており、さらに光線ベクトルと視線とを内積した結果を加算することで、光源自体の透けて見やすくしている
4.Furシェーダ― p25
5.発光武器 p28
法線と視線の内積による輪郭発光、法線マップのZチャンネルを使用して溝部分の発光
6.アセットの物量の多さを効率的なワークフローで解消 p30とp34
7.PBRでは物理的な制約に完全に準ずるは必要はなく、見栄えの向上と快適なゲーム体験も意識すべき p37
8.空の表現 p38
9.自動リギングシステム p41
10.Hudiniを用いた量感のあるエフェクト作成 p56
11.煙などは光や影の影響を受けるようにした p58
12.フローマップによるディストーション(表現歪みや光線の熱さ) p60
13.遮蔽判定ありのエフェクト p62
14.パーティクル同士の描画順序の解決 p65
真・三国無双8
ゲームグラフィックス2018より抜粋
1.PBRのレンダリングでは当たり前になっている昨今、物理的に正しいテクスチャー、マテリアルを得るためにフォトグラメトリ―を採用 p78
2.Photoshop・WorldMachineで作成した画像を元にフィールドを自動生成 p82
3.木もフォトグラメトリ―を元に作成。これらの木は、2で紹介したフィールドに自動で配置される仕組みになっている p90
4.テッセレーションによって限られたリソースで多彩な地形を描写 p99
事前にアーティストが用意するデータや、GPU側に転送するデータ量を増やすことなく、GPUのテッセレーションでポリゴンを分割し、ディティールを増やすテッセレーションを積極採用
5.散乱ベース(物質内を通過する光のシュミレーション)のPBR処理による水面の表現
p100
6.大気による光の拡散をシュミレートする天球システム p193
散乱ベースのシュミレーションは、水面に限ったものではなく、同様のシュミレーションを大気中の光の通過、屈折、拡散を取り扱うことで、光にまつわる事象を統一的に調律することが可能になっている
7.多数のポストエフェクトを使用したい p104
ソニック フォース
ゲームグラフィックス2018より抜粋
1.球面ガウスを用いたライトマップによるGIライティング p115
一般的な球面調和関数(SH)で入射光を圧縮したプローブを配置するアプローチでは、特に影の中の部分にライトリークが起こりやすく、また従来のライトマップでは局地的なスペキュラが入りにくいため立体感のない画が生成されてしまっていた
球面ガウスを用いてテクスチャーを圧縮した
参考サイト
2.IBL+ローカルタイムリフレクションによる反射表現 p116
動的でよりリアルな反射表現が行われている。視差補佐環境マップにより視点が移動しても映り込みが破綻せず不自然にならないあ
3.暗くなる影内における動的なキャラの陰影表現 p118
これを行うことで全体的なビジュアルクオリティを上げている
4.PBRの構成 p120
5.液体の見たい目と動きを再現するシェーダー p122
アルベドをフレームバッファに乗算させて作った水の色を2枚のUVアニメーションが設定されたノーマルマップのブレンド結果で歪ませることで、透明感と歪みまで表現
さらに、頂点をランダム感のあるパラメータで表面がゼリーのようにプルプルにように動く
6.アバターシステムの効率的な運用とSubstancePainterの活用 p124
部位のパーツをそれぞれ別々にモデリング
UVの切れ目を気にせず描けるSubstancePainterを用いる
7.mGearを用いた多関節の揺れもの制御 p128
8.LUTによるカラーグレーディング p138
内部で設けたPBRだと画面全体が渋めになったのでカラーグレーディングで調整
9.一定の輝度を保つエフェク p140
影の中ではエフェクトも影響を受けてしまい暗くなってしまうことがあった
なので発光エフェクトでは、擬似ブルーム用の板を一枚使うことでライティングに影響されず常に同じ見た目になった
New みんなのGOLF
ゲームグラフィックス2018より抜粋
1.揺れものは、独自のクロスシステムとボーンを用いている p149
スカートは、クロスシステムで揺らすための頂点カラーで揺れやすさを設定しており、髪の毛は揺らすためのボーンが仕込まれている
参考サイト、参考動画
2.キャラメイクによる工夫 p150
各パーツをスケーリングして体型を変えたり、色を変えたりしている
衣装によってはモデル形状を変える必要が出たため、形状を変化させたバリエーションを増やす必要があった
また、ツインテールの髪形で帽子をかぶると、髪の毛が帽子から出てしまうので非表示にする対応にした
3.大量ギャラリーの生成方法 p152
最初に使用可能なパーツ範囲を設定して自動で生成してから調整がかけられた
また、大量に表示するための負荷としてカメラからの距離が遠いギャラリーはビルボードに切り替わるようになっている
その際、貼り付けるテクスチャはコースのロード時に正面と横顔ポーズ2枚をディヒューズのみレンダリングする仕組み
4.美しい空の表現 p356
天球用のテクスチャは撮影した空の写真をベースに加工。
コースごとに朝昼夜曇りを用意した
BC7で圧縮し、実際のライティングは基本的にディレクショナルライト1灯+IBLテクスチャ1枚からなる
このIBLテクスチャーは、コース上一か所からキャプチャーした512*512の6面キューブマップになっており、樹木などを除外してキャッチすることで不自然な映り込みを防いだ
5.草の自動生成 p164
大量の草を効率的に配置するためラフシステムというのが作成された
ゲーム中から出力された画像をもとに、草を配置する場所をPhotoshopで白く塗り分けたマスク画像をもとに、草が自動配置されるしくみ
各コースで表示する草の種類ごとにマスク画像を用意する必要がある
また、配置間隔もランダムでできる
6.地面となじむ草 p166
草と地面の色が統一されるように、ランタイムで地面のディフューズカラーをキャプチャした画像からピクセル単位で色を拾って草に影響させている。岩なども同様
また処理負荷の面から、カメラから遠くなると草を非表示にしているが境目が分からないように草の高さを距離に応じてスケール変化させている
7.LUTによる色補正と水の表現 p168
8.地面や木によって、ボールにかかる力が変わるので、アセットごとに摩擦や反発の値を変えている p170
9.遠くのオブジェクト p172
遠くのオブジェクトは、コースのロード時にディフューズ・ノーマルといったGBufferの要素全てを事前生成しておき(プリレンダリング)、カメラから離れた位置に表示する際には3枚の板モデルを交差して組んだ状態のモデルに差し替えることで負荷が抑えられた
10.その他処理負荷の工夫
マルチテクスチャを使用しているが、実際に描画されないピクセルを初めに調べてテクスチャへのアクセスを減らすことで描画負荷が抑えられた
参考サイト、参考サイト
二ノ国II レヴァナントキングダム
ゲームグラフィックス2018より抜粋
1.輪郭線の表現 p180
2.ヒールで踏まれ際の皮膚のへこみ p182
3.頂点アニメーションによるふにゃふにゃ表現 p184
4.モンスターの細かな見た目 p186
5.個別ライトに照り返し表現 p188
6.グラデーションマップによる色味調整 p194
7.SubtanceDesignerによる崩しと複数の色のテクスチャーを混ぜる p196~199
8.炎のしきい値シェーダー p202
9.煙シェーダー p204
カリギュラ オーバードーズ
1.バーテックスカラーの強度や彩度をZ深度に基づいて変更 p220
2.カメラワークの自由度を獲得し臨場感が向上したバトルフィールド p224~p227
参考動画
3.アートに頼らないフィールド演出方法 p228
プログラムでフラクタル図形を描く
乖離性ミリオンアーサー
ゲームグラフィックス2018より抜粋
1.ブレンドシェイプをいくつか作り、これらを組み合わせてランタイムでブレンドすることで個性的な表情を生み出している p240
2.UnityのPBRを基本とするスタンダードシェーダを拡張したものが使用された p244
プレイヤーと接近した際は、スペキュラ・金属による質感など
3.線の太さや色、影塗りの範囲や色を、部位ごとに細かく制御して品質を高めたものが多い
アウトラインは、背面法を用いたもので、陰影部分のカラーともどもテクスチャーによって制御している
また、環境に応じてアウトラインカラーを変化させている p246
4.天使の輪 p248
5.キャラクターを魅せるライティング p249
影によってはキャラクターの顔が暗くなるので、PBRベースとはいえ暗くならないように光源矛盾を許容している
6.描画負荷の大きい箇所では、見た目のクオリティを著しく低下させない範囲でフレームバッファの解像度をほんの少し落として、描画負荷を抑えている p262
ゼノブレイド2
ゲームグラフィックス2018より抜粋
1.PBRの構成と、アウトラインと眉の表現 p272とp282
2.ディゾルブエフェクト p280
3.屋内外の輝度対策を施したライトプローブ p284
4.不透明だけど半透明な印象を与えるシックネス、シャイ二ネス、屈折率を考量したクリスタルシェーダー p286
5.草花は個別の草や花のモデルデータをプロシージャルに生成され、風を受けてなびくアニメーションも動的に制御されている p288
6.ウォーリーノイズとパーリーノイズを使用して、レイマーチングによって雲を表現している
p290
7.水面表現とSSR。GBuFFERを加工した屈折表現が採用されており、不透明で描画することで高速化を図ってる p292
8.モンスター死亡時のディゾルブエフェクト、墨のエフェクト、テクスチャディストーションを組み合わせたエフェクト p294
9.残像エフェクト p296
10.レイトレースを使用したセルフシャドウ、TAAとFXAA、アンビエントオクルージョン p298
神式一閃 カムライトライブ
ゲームグラフィックス2018より抜粋
1.ZBrushを使用してハイモデルを作成して、オクルージョンマップを書き出して実機モデルに適用。その後、トゥーンのフィルタをかける p308
2.セル調ルックの構成要素 p312
3.テクスチャ描きこみのよる質感表現 p313
4.モーションを共有のためのセットアップ p314
5.髪の毛でキャラクターのイメージが大きく変わってしまうので、束でながれわかりやすい形状を意識してモデルを作成 p316
6.ノベルパートの箇所を、3dモデルで作成したのをスクリーンショットにしている p318
7.3Dのキャラクターが並んだ状態で窮屈に見えないように背景には擬似的なパースをつけた
p320
8.遠く物は2D、近くにあるものは、3Dで作られている。場面によってはカメラのアングルが変わることがあるのでキャラクターが行動するエリアは裏面のモデルも作成している p321
9.雷のエフェクトは、雷の連番テクスチャーにグロー効果を入れて、実機に読み込んだ際のシルエットが綺麗になる p322
10.奥義の発動時は影や背景を消すことでリッチなエフェクトになる p324
CARAVAN STORIES
ゲームグラフィックス2018より抜粋
1.顔や体に不自然な影が出たため、スペキュラマップを使用することで、ライトの明暗コントロールを行った。そのうえで、顔には直接ライトが当たらず、アルファチャンネルも影が出ないように設定することで体のみに影が出るように配慮されている p336
2.ローポリゴンのキャラをカットシーン演出を行うと、のっぺりとした表現になりがちだが、ハッチングの影を加えることでキャラクターに深みを与えている
3.背景とかぶり視認性が悪くなるため、頂点カラーを使用したアウトラインを実装。Maya上で頂点カラーを設定し、Unity上でコントロールすることで輪郭線の太さを制御 p340
4.一体ずつ異なるリギングを行うのは非効率なのでキャラクターは全て人型に統一し、基本のリグはHUMANIKを活用。
ただ、スカートなどは揺れものは個別にリグが加えられている。また、キャラクターは各々武器が異なるため、キャラクターに内臓する形でボーン設定が行われている。つまり、自由に武器を持ち替えて戦うことができない。そのため、攻撃方法でキャラクター性を出した。p341
5.マルチテクスチャーの使用とノーマルマップにのαチャンネルに格納されたスペキュラマップ
p342
参考サイト、参考サイト
6.背景ハッチング p344
シェーディングの明度によって4段階の濃淡が加えられている
テクスチャーのRGBAにそれぞれの濃さの違うハッチングを格納しており、色調のつなぎ目はシェーダで溶かすように実装
斜めの線を入れるため、シェーダーの計算で45度足す様に実装
7.地形チップを組み合わせることで自動的に広大なマップを生成するしくみをが採用されている。最低限の地形が作られたら崖の曲がり具合や道路、川などの地形の形を付け加えていく。草などはあらかじめチップにリンクさせておき配置の手間をなくしている
p347
8.手書きイラスト風の世界のフォトリアルなエフェクトを乗せても目立ちにくいという理由から、魔法や爆発エフェクトあえてセルタッチのエフェクトにした。ブラーやブルームを合わせてエフェクト作成
9.滝の表現と滝の表現に時間変化や室内外でマップの色の大きく変化するので 平行光源と環境光の影響を調整できるしくみも設けられている p350
デビル メイ クライ5
ゲームグラフィックス2019より抜粋
1.パンチラインをアニメーションを合成させることで実現 p30
参考動画
2.ダメージ条件に応じて決められた距離に吹っ飛ぶ。また、ラグドール p30
参考動画の2:40
3.IKダメージアクションによる自動生成 P32
単発ダメージモーションで、複数のパターンを自動生成している
剣の軌跡の合せてて敵の体がブレる
参考動画の5:40
4.リアルテイストとレスポンスを両立させた補助動作 P33
足捌きの補助動作
参考動画の3:24
5.破壊と揺れもの表現 P34~P37
フォトリアルであるため破壊モーションもリアル性求められるが、その分負荷がかかる
なので本作では、リアルタイム物理とベイクアニメーションで分けた
ステージのオブジェクト
カットシーンの建物崩壊
布と旗のクロスシュミレーション。FranctureFX
参考サイト、参考動画
6.表情作りを強力にするフェイシャルリグ P42
唇に弾力性を持たせることで、リップシンクの向上、フォトリアル、絵作りの向上
参考動画の0:40、参考動画の10:12
7.窓の向こうに部屋が見えるようになっている。窓、壁、天井、床を一枚のテクスチャをもとにシェーダーで表現されている。奥行きとエミッシブも調整可能 p47
8.マルチテクスチャーにすることで低負荷にし、別途用意した黒白のマスク画像をもとにマテリアルの色が塗り分けられて、元のテクスチャを変えること多彩な表現が可能
9.ムーバブルライトそのままでは処理負荷がかかるので影などをメモリにキャッシュしていることで、スタティックライトと同様な扱われている
太陽光などによって発生する影は事前にベイクされている。GIについては、プローブを配置し、細部を修正した上でベイクしている p51
参考サイト
10.印象的なカットシーンにおけるライティング p52
キャラクターの表情を魅力的に魅せるため、色々工夫が施されている
ステージのライトがキャラクターの顔に当たらないようにマスクをし、その後別途ライトを当て直して陰影処理を調整していく
11.ジオメトリによる足もとの影 p54
12.エフェクト p56
EV値に関係なくエフェクトの明るさを安定させる実装し、光表現の強度を安定させた
エフェクトを構成する一部の機能などカットしたり抑制したりして負荷対策を図った
13.GPUパーティクル p58
通常CPUのパーティクルはCPUベースで描画されるが、GPUで描画することで大量のパーティクルを描画することができる
14.Houdiniを活用した頂点アニメーション p58
決まった動きを再生する意味では、Mayaのベイクアニメーションと同じ。しかし、Houdiniの方がより複雑なシュミレーションができる。ただし、相応のメモリーを必要とする
参考動画の2:30
15.3Dモデルで表現したHUD p60
3DモデルでUIを表現する際、ディファ―ドレンダリングを採用しているため、HUDが背景ライトの影響を受ける、HUDモデルが背景にめり込む、HUDがポストエフェクトの影響を受けるという問題が発生した
なので、専用GUI専用のメッシュとライト、カメラを開発
参考動画の11:28
16.シェーダによるUI表現 p82
一般的なゲージ類はPhotoshopなどでテクスチャーを作成し、スクリプトで制御することが多いが
これだと位置・スケール・角度・色・不透明度・連番アニメーション程度しか制御できなかったが、シェーダを用いることで多彩な表現が可能になった
参考動画の1:13:15
17.ガラスが割れるリザルト画面 p64
SEKIRO: SHADOWS DIE TWICE
ゲームグラフィックス2019より抜粋
1.刃文を強調するための専用ライティング p72
2.ゲーム中のプレイヤーは手前に表示されるため、キャラクターは小さく描画されるようにしている p75
3.衣装の解像感を向上させるため、布目模様を付加するタイリング用テクスチャをブレンドしている p78
4.シェーダーとパーティクルによる敵の消失エフェクト p84
参考動画
5.衣装の裾はリアルタイムな物理アニメーション p86
参考動画
6.鉤縄のワイヤーの射出パスと障害物との衝突判定、ワイヤーの射出先の位置や伸びていく様はプログラム側で制御、ワイヤーそのものの挙動は手付けアニメーション p91
7.ボリュームメトリックフォグによって豊かなになったフィールドの空気感 p94
一意のカラーをブレンドする従来のシンプルなフォグとは異なり、ボリュームメトリックフォグはボリュームとして定義された3D空間内の充満する粒子の密度に応じて、キーライト、点光源、スカイライトなどの各種光源の影響を反映させたフォグを表現している
8.フィールドの様々なコリジョン判定 p96
参考サイト
9.水面の表現 p98
10.水中の表現 p100
11.水や油、値による濡れ表現 p102
12.フローマップを使用した雲海 p104
参考動画
13.画面内の情報量を増やし、真実味のあるビジュアルにするために必要なものの、厳密な配置が必要ないものに、生い茂る植物がある。これらの配置には、頂点ペイントを用いて頂点カラーを塗り、その頂点パラメータを参照して植物モデルをインスタンス生成 p105
参考サイト
14.家を燃やす炎エフェクト p106
参考動画
15.描画負荷とボリューム感のある煙エフェクト p108
参考動画
16.光源の影響を受けるパーティクルエフェクト p110
エースコンバット7 スカイズ・アンノウン
ゲームグラフィックス2019より抜粋
1.QTEの多用される。選択によって実機の形状が変化するのでプリレンダリングではなくリアルタイムが求められるP116
参考サイト、参考サイト
2.QTEの悪影響として、戦闘機の大きさや形状が違うためカメラワークが一律だと構図に悪影響が出る。
なので、シーンごとに基準となるカメラワークを設定し、最終的にこごの機体ごとにカメラ位置と画角のオフセットが行われる。
p119
3.機体の濡れを表現する雨シェーダー p126
天候に応じて、機体に雨が付着し見た目が変わり、また雨によって運転性能が低下する
ただ、カメラの視点が3種類あるので、それによってスペキュラをリアルタイムで調整して、機体の見え方を変えている
4.trueskyを用いてボリューメトリックな雲を実現p128 p132 p135
ただ、trueskyは、PBRではないため限られた明るさの範囲内で画面全体の陰影や露出補正を行う必要がある
空の明るさがゲームの特性上、プレイヤーの心理状態に直結するので、ステージやプレイヤー体験ごとに雲の厚みや色を調整していった
また、描画順の対応も行った
SSSの機能もあるが、負荷があるためエミシッブで逆光時に光が透過するシェーダで表現。この結果、最大7倍の高速化を得られた
参考サイト
5.多彩な雲の表現 p130
6.内海と外海による波の表現 p134
7.Speedtreeによる樹木の大量の配置 p136
参考サイト
9.地形作り p142
10.レインピラー(雨柱) p144
11.稲妻発生時に擬似ライト発光させることで雲にその光を反映 p145
12.キャノピーメッシュを2つ用意して、通常状態、雨粒状態に応じてプログラムでクロスフェードさせて表現分けを行っている p146
13.衝撃を受けて沈む戦艦 p148
14.機体のライティングは、雲の上・雲の中・雲の下のIBLを元に行われている p150
参考サイト
15.格納庫以外は、動的シャドウであるが広いフィールドの負荷対策としては、カスケード4枚にインセットシャドウを併用し、機体に関連する箇所は解像度をあげている p152
参考サイト
16.臨場感を出すポストエフェクト p154
海の反射にモーションブラーがかかり、速度感が出る
グレイン、レンズフレア、ヴィネットを使用して、レンズ感を表現
ジェットの周りにブラーをかけて歪みを表現
17.雨による景観の濡れ表現 p156
通常時と雨によって質感が変わる
それぞれのアセットを、ラフネス、アルベドで変更していると時間がかかるため、ポスプロで一括調整するようにした
飛行機やマップなどはIDで分けらておりそれをつかって質感を表現
18.周辺視野は雲をモザイク状にしたり、気づかれない範囲で描画密度を下げた。 P16
OCTOPATH TRAVELER
ゲームグラフィックス2019より抜粋
1.効率的にアニメーションの素を作成 p174
フォトショップのパペットワープを使用し、1つのアニメーションの素を異なるモデルでも適用
2.PBRの構成 p177
3.屋内に入った時の表現 p178
4.ポストエフェクトで見た目を変える p180
5.フォグの表現 p182
6.リッチな光と影の表現 p184
7.水面と白波の表現 p185
8.アニメーションするライトエフェクト p187
カラー、照度、影響範囲をアニメーションさせており、その結果画面の情報量が増加させている
参考動画
9.テクスチャアニメーションやパーティクルを複合させたエフェクト p188
参考動画の4:30
10.イベント演出はフィールド上のキャラクターたちによってシームレスに行われるのが大前提であるが、特別感を演出する場合は、専用シーンと専用エフェクトで表現
参考動画の17:00
11.プロポーシャルフォントを採用 p194
Fate/Grand Order Arcade
ゲームグラフィックス2019より抜粋
1.ノーマルとカラーマップによるブレンドの表情 p208
イラストレータが異なるため、それぞれのサーヴァントで異なる表情や質感を表現する必要があった。
そのため表情によってマップを切り替えて、ブレンドする機能を追加している
2.輪郭線とライン p210
3.髪の毛が眼球に透過する表現 p212
4.前だしの照れ表現や眉表現 p214
5.セットアップとモーションづけ p216
ボーンには、アニメーション情報が入る基礎骨に加えて、ネジリ補正用の補助骨、揺れもの制御用の小さな骨がある。
装飾が多いゲームだから、モーション作成時には、完成モデルを使用している
スカートなどの衣装、髪などの揺れものは手動制御が必要な場合を除き、基本的に物理演算で付けられている
参考動画
6.アクションゲームのレベルデザインの観点から実機で草を調整できるようにしている p220
GOD EATER 3
ゲームグラフィックス2019より抜粋
1.PBRの構成 p228とp232とp234
2.シャドウマップによる前髪の影 p235
3.SubtanceDesignerとPainterでPBRのテクチャ―づくり p236
4.武器が変形したり、拡大拡縮する p238
参考動画
5.モデリングソフトでメッシュを作成し、SubtancePainterに移動してテクスチャーを作成 p242
6.天球の表現 p244
7.SSRでは、PBR用のテクスチャーで一定のラフネス値を下回るピクセル箇所のみSSRが適用される処理負荷最適化を行っている p248
8.根元が途切れない特殊なオーラ軌跡オーラ―を描く p250
参考動画
少女☆歌劇 レヴュースタァライト -Re LIVE-
ゲームグラフィックス2019より抜粋
1.キャラクターの目が暗闇の中で発光という演出 p264
目にロケーターを仕込み、シェーダーでキャラクターの明度を落とし、目の発光を強調
アクションに合わせて爪の軌跡、スポットライトの発光、舞い上がるバラなどのエフェクト追加
参考サイト、参考サイト
2.透け感の表現の際、アルファによる透過処理は負荷が大きいため、テクスチャーで透け感を表現 p275
禍つヴァールハイト
ゲームグラフィックス2019より抜粋
1.キャラ顔のテクスチャー構成 p288
通常のライトによる影落ちではなく、シャドウマップを用いることでメリハリの効いたトゥーン調の影をキャラクターに落としているSubtancePainterで法線マップ作成
2.アニメーション p282
人体は、共通のボーン構造を持ち、そこに合わせる形で全てのモデルパーツが作成されている
本作は職業にかかわらずどんな装備でもできるようにしないといけないため、モデル・モーションともにかなりタイトに仕様内に収める必要があった
セットアップは、HumanIK+追加リグで、武器については納刀・抜刀時の位置など、種類によって大きくことなるため個別のリグが必要になる
揺れものに関しては、リアルタイム演算ではなくベイク(BroDynamicsi)
3.武器を持ち替えて実現する特殊リグ p294
アトリビュートの値を変更することによって武器位置の変更や表示状態を切り替えることができる。
ゲーム実装時には、アトリビュートの値をイベントキーとして使用することでMaya上の見た目と一致させている
4.カットシーン制作のワークフロー p297
フェイシャルアニメーションは、テンプレートを用意してではなく、表情集だけ作っておき、NPCのキャラクターや演出によってそれぞれに個別に表情付けが行われている
Mayaでキャラクターと舞台を用意し、モーション作成⇒TimeLineで実装⇒ライティング⇒エフェクト⇒ポストエフェクト⇒陰影のディティール調整
5.背景 p298
ユーザーモバイル端末の小さな画面で、そのビジュアルに向き合う。そこで重要となるのは、細かなディティールではなく、色彩的な再現、光の情報、ぱっと見の印象
物量的にオブジェクトも、マテリアル数、テクスチャの数やサイズ、頂点レベルまで不要な情報削る作業が最後に待ち構えている
ホームタウンの帝都を最初にメッシュできっちり作りきったことによって、SubtancePainter・Desigerを用いたディティール単純化+テクスチャリングによるデータ削減を経てなお、コンセプトの雰囲気を十分保ったまま街並みを完成できた
Substanceの導入にはいくつか理由がある
小さな画面での密度より質感の重視、制作効率の向上、流用の容易さ、修正対応のイメージがつきやすくなることによるビジュアル品質の担保
Photoshopで実写真をラスタライズ加工してテクスチャ化するようなフローでは、テクスチャの元の情報量が多すぎて密になりすぎ、携帯端末の小さな画面のトゥーン的なビジュアルには合わない
6.エフェクト p302
Mayaなどで制作したメッシュやテクスチャをUnityパーティクルのShurikenで編集して作成
ただ、そこにUnity標準のポストフィルターを適用させるとモバイル向けに最適化されていないので重く、プログラマーの手によって作られたブルームやフォグ、DOFなどのポストフィルタを1パス処理化といったチューニングを経て初めてポスト処理が使えるようになった
アリス・ギア・アイギス
ゲームグラフィックス2019より抜粋
1.ホーム画面とバトル時で衣装モデルとテクスチャ解像度の枚数、ボーン数を変更させている。p310とp318
2.テクスチャーによる透けラインの書き分け p312
3.下着のラインや衣装と肌の隙間や谷間と上から見たときの胸のふくらみ p315
4.ふくっらとした頬の表現。質感は、ラインの太さ、リムライトの影響、頬のチークが頂点カラーで制御されている。光沢部分にMatCapを使用 p316
参考サイト
5.めり込み回避 p320
6.衣装の材質による胸揺れ表現 p321
7.衣装ごとに変わるガチャ演出、イベントに変わる小物、キャラクターによって変わる小物 p323
アトリエオンライン 〜ブレセイルの錬金術士〜
ゲームグラフィックス2019より抜粋
1.計算コストのかかる特殊なライティングを行わず、Unityのスタンダードシェーダーに委ねており、マットな質感を基本としながら、不足する情報量はアーティストがカラーテクスチャーに書き込みことで補っている p330
2.森の枝葉によるフィールド遮蔽 p338
3.時間経過で変化するフィールド p340
4.ホーム画面は3Dフィールド p348
ドラゴンボールZ カカロット
ゲームグラフィックス2020より抜粋
1.ダメージ表現 p26
2.同一キャラクターのバリエーションが多く、Maya上での管理が複雑になるのを防ぐため、任意のバリエーションを表示・管理するツールを開発。また、効率的に実装するため、頭部と体を別モデルにし、ゲーム中ではプログラムで組み合わせて制御している。
ただ、一部のキャラクターは頭部と体を一体型にして実装している
p30~p31
3.デプス、ノーマル、アウトライン検出専用のモノクロテクスチャーを合成したアウトライン制御 p32
4.体の影の表現 p34~p35
5.リグの自動セットアップ p36~39
6.ゲームの性質上移動速度が速いので、揺れものが破綻し内部ツールの物理シュミレーションを使用した p42
7.髪形が左右に非対称の場合の対応と、飛び回ってるときに髪形を変形させるような表現 p45
8.気(オーラ)エフェクトは連番テクスチャーを元に作成 p45
9.グラデーションフィルタ、フィン、LUTを用いたポストエフェクト p46
10.イベントシーンにおけるライティング調整 p48
11.谷の景観、市街地の景観 p50
12.大スケールのエフェクトがあるため、半透明の使うと処理負荷がかかった。なので、一部不透明を入れて解消させた p53
龍が如く7 光と闇の行方
ゲームグラフィックス2020より抜粋
1.Houdiniを用いた道路生成ツールを用いて大幅に工数を削減。p59
2.従来は半休ライトによる上下からのライトのみだったが、拡張アンビエントを使用してライトに指向性を(スペキュラ+)を付加することができるため空間が開けている方向から光がくるような強弱を任意に設定することができる p60
3.テクスチャーが適用されモデルのバウンディングボックスとカメラの距離で判定p61
参考サイト
4.ステージ全体のアセットに対して同一の処理を行うことができるインハウスツール p62
5.ブルームを使用した発光オブジェクト p63
6.Ornatixでざっくりと髪形を作成し、細かいところを調整していく p66
7.服のしわ p67
Marvelous Designerでベースモデル作成後、ZBrushでスカルプト調整
8.Substance Designer/Painterによる質感表現 p69
9.キャラクター制作で活用されたインハウスツール p70
色々な顔のパーツをランダムに生成できる
リピートマップに使用する布地モデルをパラメータを使って生成することができる
10.Excelのデータをもとに、アニメーションや位置を変更できるインハウスツール p74
11.ファイシャルリグを、リップシンクのアニメーションに加え、喜怒哀楽の表情をグラフ上で設定確認できるようになってる p76
12.Facewareを使用したフェイスアニメーション p77
13.レンズのぼけを、DOFだけでなくグレアも適用 p77
14.マネーカウンターの紙幣計測時フェイク表現 p79
紙幣一枚一枚にスキンウェイトを設定してアニメーションさせるとモーションコントロールのコストが高いため、6~7枚の単位で紙幣を1セットとしたリジッドボディを用意。この1セットに対して少しずつ紙幣の座標と形状をずらして複製した3つのバリエーションをループでさせて入れ替えることで実現
15.コッペパンを?みちぎる断裂表現 p80
16.卵白の質感 p81
コストを抑えるため、流体エフェクトを使わずに、法線を反転させたスキンウェイトモデルで卵白の質感が表現された
卵白形状のモデルを作成し、その法線を反転させて外側に向いたメッシュが描画されないように設定
全体に不透明のSSSシェーダを使用して透明な卵白感を表現
17.擬似グレアを使用することで、エミッシブ値で発光するものより、安定して発光表現を実現 p82
18.動きの流れはVecterFieldで、エフェクト本体は、VATのSoftbodyで作成されたエミッタから放出。大量のエフェクトをGPUで座標計算できるのが利点
参考動画の3:50、参考サイト、参考サイト
19.ラインシャフト p86
20.水面に浮かぶ油膜の表現 p87
参考サイト、参考サイト
21.モーションベクターによる血しぶき表現 p88
参考動画、参考サイト
新サクラ大戦
ゲームグラフィックス2020より抜粋
1.Mayaでモデリング、ZBrushで法線マップ、SubstancePainterでテクスチャー p97
2.頂点カラーによる制御 p99
輪郭線の制御(直接法線を編集して制御することも)と、曲率によるモデルのカーブ度合で光の明るさをコントロール、スクリーンスペースシャドウを使用すると、アンビエントオクルージョンよりも高品位な陰影が生成できる
3.髪の毛や服を、横軸法線とライトベクトルの内積、縦軸曲率の変化をランプテクスチャーにしてシェーディングしている p100
4.天使の輪の表現 p101
5.PBRのテクスチャー構成 p102
6.ライティングによるキャラクター補正 p104
背景はパフォーマンス重視でフォワードレンダリング、キャラクターの影を綺麗に見せるためフォワードレンダリングで、
同一でシーンを構成できるよう描画パイプラインのカスタマイズが行われた
その上で、敵に対する影の落ち方を調整するために、肌シェーダ適用部分のシャドウマップにバイアスをかけて飛ばすなど、
専用ライトを置いたりした
7.目の表現 p105
8.髪の毛や揺れもの設定 p108
専用のビューアーで、各ボーンに対して物理シュミレーションを適用し、角度制限・質量減衰率・摩擦・反発係数・速度減衰・角度減衰などのパラメータが調整可
そのあと、アニメーションを再生させつつ確認
また、揺れものが体から突き抜けないように調整されている
また、物理制御のみでコントロールが難しい部分については、根本の1本目の骨をExp骨として設定し、アニメーションを適用させたり、スプリング骨を扱ったりすることが可能
9.Mayaでラフモデリングを行い、法線マップ用にハイレゾモデルを作成。法線マップとSubstancePainterで作成された質感をPhotoshopでまとめて、テクスチャとしていく p108
10.イベントシーンのインハウスツール p111
キャラクター・背景をシーンに設置し、そこのモーション・フェイシャル・プロップ・揺れもの・ライティング・ポストエフェクト・リップシンクに対応できる
11.汎用性を重視したキャラクターのリグ p114
12.距離フォグ・高さフォグ・ボリュームフォグ・ボリュームハイトフォグ p121
13.通常トーンマップとこれにトーンカーブとLUTを施したカラーグレーディング p121
14.鏡や大理石の床などで平面反射を採用 p125
多人数を表示すると処理負荷がかかるので、床面の反射ではキャラクターの解像度を落とし、主線も描かないなどの対策を行っているまた、カメラではキャラクターは映っていないが、キャラクターが鏡に写っているようにした
参考サイト
15.オクルーダーとSVコリジョンを取り入れた広大ステージ p128
参考サイト
16.輝度テクスチャーを用いて、点光源を置かなくてもライティングが完結するようになった
p128
仁王2
ゲームグラフィックス2020より抜粋
1.基本形状のモデリング、詳細なスカルプトするためZBrushを使用、質感に合わせたマテリアルの割り当て。敵はPBRであり、ベースから―、ノーマル、AO p140
2.ヘアやクロスのアニメーションはランタイムで物理的に演算される動的なもので、事前に適切なパラメータを与えておくことで誇張した表現も対応可能
3.動的GPUアニメーション p143
与えられたダメージによって体の形態を変化させるアニメーションを、スケルタンアニメーションではなく、あらかじめツールで与えられたパラメータの範囲内で、GPU側でジオメトリをオフセットしてシェイプを変形させる手法が取られている
スケルトンノードにスケール値を与えるアニメーションを作成しても実現できるのだが、この手法はゲームプレイの状態に合わせた視覚表現の調整が用意であったり、CPU側でアニメーションの演算を行わずに済むメリットがある
参考動画、参考サイト
4.技発動時に回りの草がなびく表現、炎の煙はビルボードでありながら3次元的な流体エフェクトを行いがらも、大量のエフェクトが発生してもパフォーマンスへの影響は抑えられる p150
参考サイト
5.ゲームシステムによって、ライティングが変化していく。これは、フィールド内の各エリアに設定されたバウンディングボックスに格納されたアトリビュートデータに基づいてライティングされている p152
ポケットモンスター ソード・シールド
ゲームグラフィックス2020より抜粋
1.IBL用のキューブマップベイク p164
屋内は天候・時間帯でライティングが変化することがないため、テクスチャの撮影からベイク、モデル適用までMaya内で完結
屋外は、実機上で「朝・昼・夕方・夜・深夜」とライティングを変更させてベイク
転向の変化は、そのブレンド結果にカラー補正を行っている
2.地形メッシュの自動空間分割 p165
3.体の色に合わせたアウトライン表現 p167
4.階調幅を制御するライトテーブルマップ p168
これまでのトゥーン手法は色の領域の境界がはっきりしていたが、今回は境目をグラデーション幅を表現としたテクスチャを用意し、部位や天候に合わせて利用することで最適なトゥーン調で描画されるようにした
参考サイト
5.投影テクスチャーマッピングでリピートテクスチャーを投影し、縦方向にスクロールさせ、モデルの法線情報も拾って少し歪むような、照り返しっぽく見えるようなシェーダを作成 p169
参考動画、参考サイト、参考サイト
6.服を重ね着した際のインナーのはみ出しは、部位ごとに分割・表示/非表示を切り変える方式にした p170
7.服の色変え p171
8.カトゥーンテイストの演出に対応するフェイシャル p172
参考サイト、参考サイト
9.プロジェクションマップによる雲影表現 174
参考動画
11.キューブマップした遠景 p178
参考サイト、参考サイト
12.半透明のように見える不透明の氷 p179
参考動画、参考動画の7:30
13.海や温泉の表現 p180
参考動画、参考サイト、参考動画の20:30、参考動画の30:50、参考動画
ソードアート・オンライン アリシゼーション リコリス
1.キャッチアイ、まぶたの影、背景の映り込みなどを別モデルで表現 p190
参考動画の1:00
2.PBRの構成 p191
参考動画
3.揺れもの p196
ランタイムの物理シュミレーションを使用し、アクションのリアリティを補強している
髪は自社ライブラリ、服はHavoc
4.剣の軌跡モデルを用意しそれに、前パスでレンダリングした結果に歪みを与えて、それにテクスチャーを貼り付ける
さらにグローエフェクトを加算し、UVスクロールを行っている p198
5.ライティングとエフェクト p203
ゲーム時間に応じて昼・夕方・夜にライティングが変化し、カラーグレーディングで調整している
また、空間の空気間にはZ深度を従うフォグと空間中のローハイライトに充満させる2種類のフォグが活用されている
また、氷の寒冷表現
6.空間の情報量を増大させ省力化に寄与したオブジェクト配置ツール 205
厳密な位置にこだわらない樹などのスタティックオブジェクトは、ランダム配置ツールで配置
草は、ペイントで配置
草には風になびくエフェクトが、アルファ値を参照して影響度を変化させるように加えられている
SAMURAI SPIRITS
ゲームグラフィックス2020より抜粋
1.Zbrushでスカルプティングし、Mayaでリトポロジー p214
2.2Dの格ゲーであるため、プレイヤーが左右どちらにいても同じ見え方(鏡映し)となっている。また、プレイ中に一瞬で位置が入れ替わっても対応する必要があり、髪形・衣装・武器などは別管理で、スイッチングで反転可能な構造にしてある p216
3.キャラクターのルック p218
4.フェイシャルについては、あいうえおの強弱、ダメージのパターン、感情表現などリファレンスとなる表情が35種類用意され、それらをベースにミキサーによるブレンドや直接操作により表情付けを行っている p221
5.衣服や多彩な武器制御 p222
参考動画、参考動画、参考動画
6.ヒットスロー演出中に見えてしまうテクチャの切り替わりを目立たなくするため、フレームブレンドが実装されている p22
参考サイト
7.半透明のエフェクトだと60fpsを維持する格ゲーだと負荷がかかるため不透明で表現している。ただ、これだとそのまま塗りつぶすとキャラクターを尾追ってしまう。
なので、奥行もった3dステージを利用して、キャラクターのz軸方向前後でエフェクトの発生方向を調整することで、派手さと視認性、フレームレートを維持している
参考サイト、参考動画
8.プレイ時の気持ちよさと、面白さを表現するため、上空が15mほどあるため上空にあがったときに背景物がないと自分の現在位置が分らなくなってしまった。なので背景物を置いた p232
ASTRAL CHAIN
ゲームグラフィックス2020より抜粋
1.PBRの構成 p238
2.レギオンの味方側を青、敵側を赤にすることでアクションが激しい中でプレイヤーが混乱しないように工夫されている p240
3.個別のスキンシェーダ―による微調整 p243
肌などの一律のライティンでは微調整が難しい部分は、シェーダー側で手作業的にマスキングやノーマルマップの修正を行った
特に鼻筋は、その部分の照り返しが目立ち、陰影がうまく落ちていない。
そのため、アルベトテクスチャのαチャンネルにマスク画像を格納し、白いほどシェーディングの光の面に、黒いほど影の面になるようにしている
4.GPUパーティクルを利用したエフェクト p246
参考サイト
5.ハイトマップを使用したひび割れ表現 p247
参考サイト
6.斜めUIとアニメーション、モニタ画面UI p249
参考サイト、参考サイト、参考動画
7.タイルなどのパターン的なものはSubstanceDesiner、ユニークなものはSubstancePainter
p250
8.描画面積が大きくなる地面への映り込み、ガラス・ネオン・水など半透明処理が必要な箇所を、実際のリフレクションや透過ではない処理を追加することで負荷を抑えながら画面密度を上げらている p250
9.ライティングとカラーグレーディングによる画面密度の進化 p253
10.インテリアマップを用いた街の店の窓の表現 p254
参考動画の5:30、参考サイト
11.SSRよりも軽く済む、動的キューブマップ用いた反射表現 p255
参考動画の6:10、参考サイト
グランブルーファンタジー ヴァーサス
ゲームグラフィックス2020より抜粋
1.セルシェーディングの魅力を最大化するモデルへの工夫 p264
2.リアルテイストのゲームの場合、物理演算によって正しい揺れものの挙動にした方が違和感ないが、本作のようなアニメ調の場合、デフォルメが効いた表現の方が似つかわしい
なので、全てのモーションが手付けで制作されていて、ランタイムやDCCツールの物理シュミレーションは使用されていない p268
3.メリハリの効いた武器の軌道アニメーション制作作業を効率化するため、手首や剣先にピポットを入れることで実現 p269
4.ブルームを使用したエフェクト表現 p272
5.キャラクターのモーションのキーフレームそれぞれに対応させて一連のエフェクトアニメーションを成立させている p273
6.2Dの見た目であるが、3Dで作成されたステージ p276
7.線画の書き込みは、背景モデルのテクスチャに線画風テクスチャを乗算することで実現 p277
8.パフォーマンスの観点から、RPGモードとVSモードでは、フェイシャルのディティールや、カメラ接近時に付加される髪の房や、アニメ感ある線の表示といったものがある p281
CODE VEIN
ゲームグラフィックス2020より抜粋
1.セル調とPBRを組み合わせたルック p286~288
2.キャラクリエイト p289
男女合わせて10人作成し、それらの各パーツを表示・非表示にして対応させている
3.衣装のテクスチャ p290
カラーテクスチャは、陰影のみで色相は乗っておらず、シェーダ上で調整。これによりプレイ中に衣装の色を変更できる
ノーマルマップは、Z Brushでのノーマルマップベイクなど、ハイエンドむけにチャレンジしている
質感マスクは、メタルネス、ラフネス、aoをRGBに収録している
4.キャラクタークリエイト時、ユーザーが色を変えた際には光沢の色も合わせる必要がある
p292
5.当時SubstancePainterにはテクスチャーを1枚にまとめて出力する機能がなく、フォトショップでまとめるという作業が発生していた
なので、Desinerで各テクスチャーをリンクしたネットワークを組んでおき、書き出し作業を自動化させた p293
6.敵のテクスチャーは、ベースカラー、ノーマル、ユーティリティマップの構成であった。だが、描画負荷が高いことから
ユーティリティマップをIDマップに変更、また解像度の変更を加えた
IDマップに置き換えたことで副産物的に各マテリアルの質感をパラメータで調整できるようになった
また、エミシッブマップについても必要な箇所だけ書き込めば済むようなセカンドUVを採用
参考動画
7.物量とクオリティの両立のため、ランタイム上でリターゲットを多用している
ベースボーン少なくし、できるだけの多くのキャラクターで様々なモーションを流用できるようした p298
8.ライトのオーバラップによる描画コストの増加を避けるために、エリアとエリアのつなぎ目には工夫が設けられた。
この区間は通過中にライトの影響が徐々に低下し、最終的にはゼロになったところでライトを破棄し、次のライトを読み込ませるという
意図的に真っ暗にする演出に対応するためオートエクスポージャーはOFF。
この状態から暗所から明所に出た際の明順応に対応するため、洞窟の出口の距離に応じて透過する眩しい板を配置 p302
参考サイト
9.ベクターフィールドとディゾルブを組み合わせたえふぇくとp303
参考サイト、参考動画の22:50
ブレイドエクスロード
ゲームグラフィックス2020より抜粋
1.ライトマップ適用後の暗くなった時の対処 p311
2.背景 p312
バトル中はカメラアングルが俯瞰になり地面が見える比率も多くなるため、平坦に見えないようにノーマルマップ・スペキュラマップで地面に凹凸を強調させている
レンガ崩れているエリアにはハイライトを入れないことで立体感を出している
また、砂の上には草を配置しないなどのリアリティを追求している
キャラクターを引き立てるのも背景の仕事であるので、キャラクターが動き回る近景の草や石は少なめに配置するなどを配慮しまし
陽が当たっている場所と影になっている場所で草の生え方や形状に差を持たせるなどした
3.キャラクター
横から見た際に顔の彫りが深くなるように調整したほか、ジャケットのエッジ部分の厚みをつけている
パーツごとに分けてモデリングしたかったが、ポリゴン数の中で難しかったため、テクスチャをふる活用することで乗り切った
テクスチャの伸びが気になる箇所のみ個別モデリングしたり、UVを見直すことでテクスチャ感を軽減させている p314
表情のアニメーションに対応するため顔のモデルは細かく、目や口などは変形しても角が立たないように調整されている
ポリゴン数の制限から筋肉の流れをモデリングすることで難しかったため、テクスチャに筋肉の隆起を描いている
テクスチャーのつなぎ目をなくすため、Photoshopだけでは難しかったため3d-Coatで対応 p316
キャラクターの立体感を出す際に、エッジにハイライトを利用するがその際様々な工夫をおこなった p320
プリレンダリングは、レンダラーはV-Ray1、髪はXGen p321
3dcgを使わない人でもアニメーションをつけやすくするという観点から、フェイシャルはブレンドシェイプを採用
描画処理やメモリ負荷を軽減するため少ないターゲットでいかに表情見せるかが課題であった
p324
4.エフェクト
UVコントロールやディストーション、マスクの強弱などをShurikenのLifetimeに連携し、コントロールできるようになっている
また、負荷の高いエフェクトを作成し、どの程度処理負荷がかかるか検証した後に、中型や小型を作成するという方針を取ることで
作業効率につながり量産体制が図れた p326
ベースとなるポリゴンモデルは、ポリゴン数が多いとCPUに負荷がかかり処理落ちの原因となる
上下左右のループとなるパターンテクスチャを作成し、マスクテクスチャーでパターンを抜くことで炎らしさが増す
また、歪みテクスチャで炎らしい揺らぎが出る
また、それぞれをUVスクロールさせることで自然な炎の動きを表現
さらに、リムを加えることでポリゴンの外側を透過させることでカクカクとしたポリゴン感を軽減させ、滑らかなエッジを表現 p327
エフェクトを自動で動画化し、スタッフ間で共有する独自ツールを開発 p328
アイ・アム・マジカミ
ゲームグラフィックス2020より抜粋
1.エピソード時とバトル時で、ポリゴン数とテクスチャーの解像度を変えている p334
2.プリセットキャラクターの体型編集ツール p337
3.プリセットキャラクターの表情編集ツール p339
4.プリセットキャラの肌と服の色編集ツール P340
5.マスクテクスチャ一枚でカラーバリエーションを実現 p341
6.シェーダーとテクスチャによる髪の質感 p342
7.変身後見た目が変化 p343
8.ライトビームをアセットストアのから購入 p343
参考サイト
9.骨構造は共通となっており、必要に応じてアタッチパーツとしてジョイントチェーンを追加する仕組みとなっている
指先の骨はバトル・イベントで共通である。
骨は増やさない方がいいが、アニメーションしない骨は処理負荷に入らない。
そのため、武器を握ったままになる手は読み込み以降は負荷にならない
10.目元は別メッシュとなっており、メッシュとテクスチャーを入れ替えることで頭部は同じでも違うキャラを切り分けている
また、これにより同キャラで異なるコミックアイも対応可能 p346
11.胸揺れは物理演算であるが、激しいアクション時は破綻回避するためオフとなっている
p350
ファイナルファンタジーVII リメイク
CGWORLD268から抜粋
1.ボーンの形状変形による法線が追従しないことによって、ほうれい線や眉間などに適切な陰影が現れないのでこれの対応 p33
2.アンビエントオクルージョン p33
ベイクしたAOとSSAO非線形合成することにより、キャラクターと背景との統一感が取れた密度でAOが描画されている
3.髪は板ポリに透過用アルファマップやノーマルマップをベイクして表現している p35
4.発光部分をフローマップで制御 p35
参考動画
5.肘や脇を曲げた時に形状痩せを補正する独自ツールの開発 p36
6.音素に合わせたリップシンク、音量や感情に合わせたフェイシャルアニメーション(ST Emotionを使用) p37
7.Maya、ZBrush、SubstancePainterを中心に、一部にSubstanceDesigner、布などはMarvelousDesigner、粉砕オブジェクトなどの表現にはVATを用いている p38
8.背景制作では、正しい見た目になるように色を用いたエラーチェッカが用いられた p38
9.Houdiniを使用した流体アニメーション p39
参考動画、参考動画の5:15
リトルウィッチアカデミアVR ほうき星に願いを
CGWORLDの268から抜粋
1.テクスチャの共通化による最適化、負荷削減によるシェーダーの共通利用、テクスチャーに影を書き込みシェーダーで加減調整 p44
2.揺れもの制御は、初めはマギカグロスであったが、UnityChanSpringBoneに変更。破綻や突き抜けなく表現可能だった p45
3.フェイシャルはブレンドシェイプ p45
4.メインキャラのアニメーションは派手やかにしたかったので、モブキャラのアニメーションの負荷を可能な限り削減する必要があった
具体的には、VATを用いて箒にまたがるアニメーション再生できた p45
5.遠景の山並みや木などはビルボードで描画し、ライティングを自由に使えないためマテリアルで色付けを行なっている p46
6.地面は頂点カラーで表現しており、時間帯に合わせて色が変わるようにしている。
また校舎なども時間帯に色が変わるようになっているが、ライトよりもマテリアルのカラーが強く影響されるようになっている p47
7.よりリアルな Imposterを用いたビルボード表現、LODは3次元上のグリッドで、そのグリッドがカメラから近くだとMesh、遠ければImposterと切り替えている
また、UnityのLODは、LODGroupの数が多くなると負荷が高いため、オリジナルLODを実装
Imposterの数が多いと、GPUインスタンシングの負荷が高くなるので、不透明のモデル使用で、Imposterを調整し負荷軽減している p45
参考サイト
モンスターハンターライズ
CGWORLDの275から抜粋
1.屈折・透過表現 p24
キャラクターの質感を得るためSSSの採用を検討したが、高負荷のため断念。代わりにハーフランバードで回り込んだ光のみに赤みを付加し、赤以外の光は元のランバードの陰影を保持することで、陰影のキワの部分に赤みが増すように実装を行った。
2.セカンダリUVを使用したテクスチャで、2種類のテクスチャの色を参照してグラデーションを表現
通常UV情報が同じ大量の短冊ポリゴンに対して同一のテクスチャを参照することが多いため、デザイン画のようなグラデーションや模様を再現するのが困難となる p34
3.環境マップを用いた屈折表現 p24
4.短毛をFurシェーダーで表現 p24
参考動画
5.フローマップを使用し、泥が下に流れるような表現p24
参考動画の3:40
6.視線によって変わる油膜シェーダー p24
7.影の処理は高負荷となるため、全装備共通の影モデルを使用している p25
8.テクスチャー構成 p26
SubstancePainterで作成
基本的に、アルベド、ノーマル、ラフネス、メタリックを使用し、毛や油膜などの特殊表現・シンボルカラーの色変更に1チャンネルのマスクマップを使用
各種マップは4チャンネル以内にできるものはパッキングすることで容量を抑える工夫をしている
また、マップを複数の解像度を用意しているモンスターもいる
エミッションマップの使用例参考動画
ハイメッシュモデルでベイクしたテクスチャをリダクション後モデルに適用すると輪郭がずれることがあったので工夫
9.毎フレームブレンドシェイプの変化を計算するのは負荷が高いため、インゲームでは形状を固定している p26
10.Velocity Mapで髪のふわっとしたやわらかな髪の印象を与えている。髪の製作は、XGenをを使用 p26
11.多種多様な頭部の装備に対応するため、髪がはみ出さないよう抑える調整が必要となり、装備の形状に応じて5つのブレンドシェイプを利用して作業量を軽減 p26
12.テクスチャUVは解像度を稼ぐため左右反対にしている。ただ、左右非対称の表現は、セカンダリUVで表現 p27
参考サイト
13.装備の揺れものは、チェーンの物理演算で実現。 p27
14.過去作モデルを、本作用にメッシュリダクションや関節数を合わせる必要があった。手作業だと時間かかるため自動で変更してくれるツールをMelで開発 p27
15.多彩なマテリアル p31
岩についた苔・雪などがシェーダーで調整可能
シェーダ―には、海抜設定があり海面よりも上のみテクスチャーをブレンドすることが可能。これにより寒冷地であれば海より下は雪が解けているような表現ができる
水表現にはフローマップを使用。UVスピードや切り替えスピード調整で水勢の強弱、白波の有無や強弱、水には欠かせない屈折率や深度なども調整できる
海シェーダーでは、波の高さや速さ、方角、波の数など調整可能
エミッシブを用いた擬似ライト。マスクマップで指定した範囲のみ明るくし、明滅のリズムや揺れにも対応している
16.エフェクト p32
時間変化、特殊環境変化、半透明水面、不透明水面などのシチュエーションを即座に切り替えることができる制作環境
エフェクトは、CPUパーティクル、GPUパーティクル、メッシュパーティクル、頂点シェーダ制御メッシュ、デカールの5種類で構成
CPUパーティクルは、ディゾルブのような処理負荷が軽く描画面積の大きいエミッシブに適用される
GPUパーティクルは、調整できる項目が多く大量にパーティクルを出せるタイプ、調整できる項目が少ないが軽量なタイプがある
メッシュパーティクルは、汎用性を重視し、1種類でも幅広い表現できるよう工夫している。Uberシェーダは処理負荷が高いため、最終的には9つのシェーダーを適用
デカールは、アルベド・ノーマル・ラフネス・エミッシブが利用可能で、毒や泥に使用
参考サイト
エフェクトが吸い寄せられ、消失する p33
参考動画の4:50
17.RGBの各チャンネルに要素別に格納した特殊テクスチャを使用することでバリエーションが広いエフェクト作成 p33
18.時間帯によって雰囲気が変わる天球シェーダー p34
空の色、雲の増減、太陽の動きなどをパラメータで制御
19.大気散乱による表現 p35
参考動画の27:10
20.キャラクターがアップで映るシーンでは、シャドウの解像度を上げている p35
Fantasian
CGWORLDの275から抜粋
1.エフェクト p47
色収差エフェクト。
マテリアルを増やさずにShurikeのパラメータを調整して様々なエフェクトを表現できる汎用エフェクトを使用し、一つのシェーダーでさまざまな設定が行える。
ガラス表現は、普通に半透明にしてしまうと高負荷になるため前フレームのバッファを利用して屈折表現している。
ラジアル(放射)ブラーを使用しらエフェクト。
参考サイト、参考サイト
UVスクロールとUVディストーションを使用したウネウネ動く触手エフェクト。
参考動画の1:49
2.iphoneはゲームの容量が4GBまでという制約があるため、カットシーンやバトルの背景は2dで表現している p47
その際影などを調整することで違和感のない作りとなっている
3.キャラクター p49
NPCは量産するため、テクスチャ替えやカラーバリエーションで対応している。また、街の雰囲気に応じて見た目を変えている。
グラデーションしていく発光表現
参考動画
キャラクターには個別のライティンが設定されている。ライトを様々な方向から設定している(スクリプトで作成したライト)。雪原地帯や溶岩地帯ではそれに合うように調整されている
IDOLY PRIDE
CGWORLDの275から抜粋
1.動的な光の反射表現 p51、p53
環境キューブマップとテクスチャーを細かく設定し、カメラが動くと背景と衣装の輝きがキラキラとリアルタイムに変化させている
衣装は材質ごとに反射の強度が違う
参考動画、参考動画
2.作業の効率化 p51
キャラクターモデルの顔のトポロジーや骨構造の共通化
キャラクターの頭部は、頂点番号、エッジ番号、UVを全て統一したモデルで全キャラを制作
内製のツールを組み合わせることで効率的に豊かなフェイスアニメーションを作成している
中間モデルを用意し、これに衣装作りや演出することで、他のアイドルに自動的に反映されるようにしている。演出の変更があったときに最小限の対応で済むようにしている
3.実行せずにモーション再生や揺れもの再生だけ行うツールのUnity独自拡張 p51、p55
4.カメラの角度に応じてモデルの形状を変化させている p52、p55
鼻が変化している
参考動画
5.髪や、顔、衣装のアウトラインを部位によって強弱をつけている p52、p53
ラインの太さは頂点アルファ、カラーはテクスチャで部位ごとで色を決めている
参考動画の1:30
6.汗の表現 p52、p55
ライブ後半に向かうにつれて汗の量が2倍になる
汗はスペキュラのハイライトによって輝く(反射にも対応)
汗によって髪が顔に張り付く表現
参考サイト
7.テクスチャー構成 p52
8.虹彩反射 P54
環境マップをカラーテクスチャと合成することでハイライトに色味をもたせ、視線の変化に対応させる瞳のきらめきを表現
参考動画の0:36
9.前髪から眉や目が透ける表現 p54
10.髪のハイライトは、マスクテクスチャで表現 p54
11.影とリム表現のコントロール p54
デプスシャドウによりセルフシャドウの表現
影色の追加乗算カラー
リムライトの表現
12.ADVパートの工夫
巻き戻し
速度倍率
縦横
参考サイト
13.リグ構造 p56
骨は全て同じ四肢比率、命令で統一されているので、一つのアニメーションで全てのアイドルに反映できる
UnityのHumanoidにマッピングされる骨のみ動きをつけ、揺れものや補助骨による制御が行われるため、
衣装固有の挙動はdcgツール側では作成しない
腰や手などの位置合わせする場合は、Maya側で専用のロケーターにアニメーションを付けることでUnity側で実装したIKのOn/OFFを切り替えるかたちになっている
14.細やかな揺れもの表現 p57
Animation C# JobsとAnimation Riggingにより、アニメーションの高速化と並列化が可能
参考動画
15.背景 p58
全体はオーソドックスなPBRシェーダであるが、鏡面などは独自実装で精度の高い描画を実現している
つるつるした鏡面だけでなく、ぼかす画像を入れることで、マットだったりざらざらした反射の表現もしている
鏡、床、水面の表現は非常に細かくリッチに表現されている
軽量化も工夫している。
SRPBatcherをできる限り効かせ、テクスチャーストリーミングを用いて規定メモリ量を超えないようにしたり、URPやShaderGraphの無駄な処理を直接書き換えるなどで対応
テクスチャストリーミングでは、負荷の高いボリュームライトやフレアの解像度を抑えるためテクスチャストリーミングによりテクスチャ読み込みによるメモリ消費量を抑えている。
参考サイト
ライティングはフォワードレンダリングで、リアルタイムライトは4灯まで対応。ProgressiveLigthmapperを使用し、2kサイズ4枚に対応している。ただ、UnityのLightウィンドで直接設定は行わず、内製のベイクツールを使用。
また、リフレクションプローブも使用
16.ライブ演出 p59、60、p61
全ての曲の演出をどのステージでも見ることできる。
それぞれのステージの演出オブジェクトには固有の数値が割り振られており、演奏データにはどの数値の装飾をどう光らせるかを決めている。
また、最大三万人を描画する観客
観客は、CompureShaderで制御されており、電池残量による輝度の差、ペンライトの持ち方や色や片手か両手か、服装、モーションの遅延、身長などがランダムで制御されており、同一感がない
カメラから一定の範囲内の観客は3dモデルで描画。動きはVATで表現。
また、カメラの範囲内のみで描画させて負荷軽減を図っている
参考動画
曲に合わせた色の変化に対応できるように、ベイク時の専用のエミッションメッシュを用いて白色にライティングしておき、パラメータでライトマップの強度と色を調整できるしくみを採用
ムービングライト、レイザー、ゴボライト、スチーム、紙吹雪、ポストエフェクト、キャラクターのライティング、観客設定など多岐に渡る。タイムラインを拡張し管理している。
多彩なポストエフェクトの表現
(球体密度フォグ、ボリュームライト、DOF、ブルーム、クロスフィルタ、パラフィン、露光、コントラスト、彩度、トーンマップ、レンズフレア)
密度をもったフォグ
ステージ上のリアルタイムシャドウは、Unity組み込みのシャドウマップで、キャラクター以外に対象がほとんどないため範囲絞り1024ピクセルで描画している。キャラクターのセルフシャドウは別のシャドウマップで描画しており、レンダリング領域をカメラに写っているキャラクターに絞ることで高繊細な影を表現している
アイドルごとにファンの数が設定されており、ライブの際もその人数が反映される
プロジェクトセカイ カラフルステージ! feat. 初音ミク
CGWORLDの277から抜粋
1.コスチュームは素体に服を着せた状態で、unityにインポートし、身長差はunity側で調整しているp30
2.板ポリの使用は極力避けており、小さな装飾品であっても立体的に仕上げている p30
アウトラインはベースメッシュの押し出し式を採用。
そのため、板ポリだと角度によってアウトラインがほぼ見えなくるので厚みをつけている
そして、アウトラインを付けなくても問題がないような小さなパーツや、テクスチャに書いたラインで代用可能なものは
板ポリを使用
3.腕と服の鑑賞p30
手首が上方向に90度曲げると貫通し、ウェイトで回避すると下方向に回転させた場合不自然な変形となる課題があった
袖口を広げる、可動域を抑えるなども対策したが、デザイン画の袖シルエットを維持しつつ、袖丈を短くすることで干渉を避けることで対応した
4.素体に着せた状態で作成し、布の厚みを考慮する p31
いずれのケースも、コスチュームのモデリングが終わったら、見えない素体のポリゴンは削除される
5.大きなシワはポリゴンの流れで表現 p31
6.シャツやスカートのポリゴン境界線をつなげることで、動いたときに干渉が発生しないようにでき、ポリゴン数も削減できる p31
7.シャツの襟などに板ポリではなくポリゴンで厚みをつけることでリアリティとリッチ感が生まれる p32
脚と靴下の境界線などは厚みをつけなくても不自然ではないためつけていない
8.スカートの長さによりスカートの中の見え方も考慮 p32
短いスカートはパンツが見えてしまうため、スカートの中のポリゴンを一点集中することで影を作成
また、コスチュームのキワはハードエッジにすることで周囲から際立たせている
ブリーツや金属の小物はハードエッジにすると硬く見えてしまうためソフトエッジにしている
なお、アウトラインの太さや、リムライトの強弱などに影響が出るため、unity上で調整している
参考サイト
9.テクスチャ構成 p33、p35
カラー、シャドウ、ハイライトの3種類で、ノーマルマップは使用しておらず、凹凸はポリゴンで表現している
シェーダーでマルチテクスチャーで制御している。
また、アウトラインの幅、アウトラインカラーの明度、リムライトの入り方の閾値なども制御
カラーテクスチャは、ベースカラー(模様、縫い目)、影色、立体を補間するバリエーションなどが描かれている
また、コスチュームの一部の落ち影の一部、金属のハイライトなどもあらかじめ描かれている場合もある
シャドウテクスチャは、影に入った際の色味として使用する
ハイライトテクスチャは、RGBに分かれている。
Rチャンネルは、肌色範囲を指定する白黒テクスチャ、実機上でRチャンネルを読み取り、キャラクターによって色を変更している
Gチャンネルは、自己発光する範囲と明るさを制御している白黒テクスチャである
Bチャンネルは、ライティングによる影の影響を制御する白黒テクスチャである
コスチュームのデザインが変わってもテクスチャサイズは一律なので、細かい柄の入った部分には面積は多めに割り当て、
ベタ一色の部分は面積を小さくすることでなるべく綺麗な見栄えになるようにしている
10.アウトラインの太さ、リムライトの強弱、眉毛の透過表現は頂点カラーで制御 p33、p34
RGBで各要素を指定している
アウトラインは、カメラの距離に応じて太さを制御している
11.胸の差分により胸に乗るリボンの揺れものセットアップ p34
胸の差分素体を複数作成し、差分ごとに衣装に個別のボーンを調整していく
シンメトリーの衣装は左右のうちどちらかをセットアップすれば良いが、アシンメトリーのコスチュームは左右別途でセットアップを行う
12.作業効率化のインハウスツール p35
靴のデザインによって変わる靴底の位置調整ツール
髪と髪飾りと顔の3dをマージし、ブレンドシェイプを適用するツール
揺れものボーンにオフセットボーンを追加し、バインドし書き出すツール
13.揺れもの処理は、Spring Boneを使用 p35
本作では処理速度を重視してボーンの数を最小限にしているため、揺れもの用ボーンのコリジョン判定だけではスカートと
脚の干渉を防げない。なので、スカートと脚のボーンをコンストレインを設定することで、脚を動かすとスカートが連動して
変形し、干渉を避けるようになっている
14.本作のコスチュームはどのキャラクターも着用するため、モデリングのしている段階から、どのキャラクター着ても違和感がないか意識する必要がある p35
15.複雑なデザインのスカートの表現 p36
スカートを四角形にすると、揺れた時にポリゴン同士の法線が干渉して黒い影ができてしまうため、三角形に分割
アウターとインナーは重なっており、動いた時のポリゴン同士の干渉をいかに避けるかをモデリングの時点から意識
16.層になっているスカートをポリゴンで表現すると干渉調整がかかるためテクスチャで表現 p36
17.ポリゴンで表現するところと、割り切ってテクスチャで表現する調整の難しさ p36
18.オーバサイズの袖口がパタパタ動く仕組み p37
手のモデルは削除しているがボーンは残してある。
袖口のポリゴンのウェイトを全て人差し指のボーンに割り当てて、このボーンを動かすことで袖口が動く
19.腰に巻いたカーディガンの袖は、スカートのボーンの間に袖のボーン追加することで制御しており、身体に合わせて揺れる仕組みp 37
20.袖やケープが身体と干渉しないようにボーン追加しているp38
21.振袖と袴による干渉制御 p38
股関節を曲げたときに脚とTシャツの裾が干渉しがちになるためなるべく脚から離した形状にしている
振袖は身体と干渉を避けるため、肘から先で長く垂れるデザインとなっている
丈が長い衣装は、地面との干渉を避けるため裾広がりのシルエットにしたり、ウェイトを調整して干渉を防いでいる
ファイナルファンタジーXIV: 暁月のフィナーレ
CGWORLDの277から抜粋
1.ZBrushでシワなどをスカルプトし、ノーマルマップをxNormalでローポリモデルにベイクしている p42
2.シワや凹凸をポリゴンで表現する場合、面の流れを意識することが重要である p42
3.ボーンの1、2本の拡張でも大勢のプレイヤーがいると恐ろしい計算になるので、物理シュミレーションの計算量を抑えている
十分なfpsが出せて多くのプレイヤーが表示できる方がストレスなく面白くなる考えたため p43
4.Maya上で、モデルを作成する際の指針示すモデル表示非表示のインハウスツール p43
5.色を変更できる染色システム p45
染色できるテクスチャには色をつけておらず、実機上で色を乗算する仕組み
テクスチャは、ノーマルマップとマルチマップからなっている
マルチマップは、
Rチャンネルは、白黒のディヒューズ+アンビエントオクルージョン
Bチャンネルは、白黒のスペキュラ
Bチャンネルは、特別な質感のためのもの
SubstancePainterで作成
アイドルマスター スターリットシーズン
CGWORLDの281から抜粋
1.ホログラムのようなドレスの質感p39
スフィアマップ、ノーマルマップを使用し作成。ランダム性や密度を意識
参考動画
2.アウトラインは、ベースのモデルとは別のモデルを用意し、ポリゴン法線反転方式で表現
p40
3.帽子などから飛び出るパーツは消している。p41
4.顔や頭はアイドルごとに様々なので、帽子や眼帯の位置はオフセット値を入れて個別に調整している p41
5.眼鏡をかけているキャラが眼帯をつけた場合、両目レンズだと干渉してしまうため片目レンズでモデリング p41
6.斜めから映すとリフレクション用のテクスチャを参照して反射表現の眼鏡 p41
7.同じ衣装でもアイドルによって微妙に色が違う。シェーダーで色を制御するのではなくテクスチャで対応している p42
8.自己発光しながら消えていく翼 p42
発生回数とタイミングが曲ごとに違っている
ディザリングによる半透明を適用しており、アルファを抜くことでメッシュの先端からフェードアウト
参考動画の44:50
9.マニュキュアやペデキュアをしているキャラ p44
10.2D上のADVパートでは、低身長・高身長により画面から低すぎたり、はみ出したため高さを調整している p45
11.目と眉はボーンアニメーション、口はブレンドシェイプ p45
12.移動に合わせてふわっとほどける縦ロールの髪 p45
縦ロールの中心をボーンで貫くのではなく、髪の流れに沿ってボーンを入れている
参考動画
13.可動範囲を設定することでめり込みを制御 p47
14.キラキラ目は、UVシフトによりテクスチャアニメーション
参考動画の3:10
15.服の半透明にして下地を見せている。ただ、ディファ―ドレンダリングであるためディザリングで表現している p49
16.フードをかぶっている場合、前髪と胸へ垂れる髪は、揺れ骨を設定しており、それ以外の髪はフードと一体になっている
17.着物への注意点 p49
袖が重力に沿って自然と流れるように見せる調整、コリジョンの設定、可動域の設定にともなうボーンの暴れや震え、胴回りの干渉など対応した
18.ライブ中にアイドルが流す汗、時間帯と天候の変化、アイドルの動きに合わせてボリュームフォグが動く p52
19.汗は流れる汗と、弾ける汗がある p53
流れ方は複数パターンあり、ランダムで選ばれる
流れる汗は、スプラインカーブに沿って移動させている
はじける汗は、パーティクルに汗のメッシュをアサインすることで表現している
20.好きなアイドルを追従するカメラワーク p53
21.夕方から夜に変わるステージ p54
参考動画
22.ステージのアイドルに影響するライトはひとつで、それとは別に各アイドルに専用のキーライト・リムライトが割り当てられ
p54
23.ギミックライトを別のステージでも再現する仕組み p54
手前にあるライト、動くライト、エフェクトが出るライト、というように位置や機能ごとにグループ化されており、それを複製して同じような演出を表現している
24.身長差あるキャラとそうでないキャラ同士のカメラの映り込みを画面内に収めるしくみ
p55
カメラの位置と注視点にアイドルの身体のパーツをアサインし、追従させた
25.観客の動きはVATで表現している p54、p55
VATは3Dモデルの頂点のアニメーション情報を記録したテクスチャで、数多の観客のモーションを低い処理負荷で描画できる。の観客のモデルは5パターンのLODが用意されており、遠くの観客はコンサートライトだけ描画される
コンサートライトの本数はランダムで制御されており、色はアイドルや楽曲によって違う
26.同じ楽曲でもステージによってカメラワークが変わる p56
27.チェック用ムービーの自動生成 p58
28.アイドルワイプを適用 p59
フレームバッファテクスチャ(1フレーム前の描画結果)から生成した切り抜き画像に、背景や文字のグラフィックを合成
参考動画の0:27
29.フォトモードでは停止が行え自由にカメラを動かせるが、アイドルとカメラが衝突しないようにしているp59
その際、被写界深度なども調整できる
また、ちょっとした加工もできる
30.感覚でパカチェックするのではなく、ツールを用いてチェック p60
31.モニタのはめ込み映像を、同じステージ内で撮影した映像をモニター映すことで、調整が楽になった p60
32.手前のレイヤーと奥のレイヤーの速度を変えることで運動視差を表現し、奥行きを出している p61
参考動画、参考動画の12:00
33.処理負荷を軽減するためのLOD p62、p63
全員キャラの集まるシーンで、全員を近くで映すと処理負荷が高くなるため、映る人数を抑えつつも、カメラを引いてアイドルの映るサイズを小さくして、LODを効果的に使うことで処理負荷を抑えた
34.映っていないキャラは非表示にしている p62
35.アイドルを大きく映すときほど人数を絞り、処理負荷を抑えている p63
36.多人数ライブの時のステージの負荷対策 p63
他のステージよりパーツを減らしている
なるべく共通パーツを組み合わせる
一部のテクスチャにはあらかじめライティングを行った
遠景は空と街並みのみとする
遠景のエフェクト(街並みのイルミネーションの明滅)はシェーダーで対応
37.2Dと3Dを組み合わせた海の表現
レンズフレアのエフェクト、3Dモデル、波打ちテクスチャ、白波のテクスチャ、遠景の2d画像順に配置している
波打ち・白波のテクスチャは、両方ともパーティクルエフェクトを拡大縮小することで適用している
また、遠景の波はフローマップで表現されていて、z軸方向に海面のピクセルが動く設定にしている
レンズフレア、海面の光、玉ボケは動きを付けている
星は一定間隔で明滅するようになっている。ノイズフィルターを使ったシェーダーを静止画に適用することで表現している
参考動画
38.背景の環境条件に応じて、アイドルの見栄えを調整 p67
背景によってキャラへのライティングを調整している
39.画面分割演出でカメラの切り替わりを減らす p68
40.どの衣装でも不自然なポーズにならないように、位置をずらしたりすることでどの衣装でも自然な見た目に調整した p68
41.メインはディファ―ドレンダリングだが、擬似フォワードレンダリングを適用することでアイドルとステージの陰影処理を個別に制御している
ディファ―ドレンダリングのみ、擬似フォワードレンダリングのみ、二つ合わせたもの
計三つの描画モードを実装している。アイドルの体の部位ごとに描画モードを任意に設定できる
42.GーBufferのチャンネル構成と描画結果 p76
43.衣装の透け表現 p76,77
44.背景に馴染ませるため、各ステージの色を反映させたグラデーションの色を影に乗算し表現p76,77
45.チーク表現 p78
46.髪のハイライト p78
47.マスクとノーマルマップによる影の制御(顔、服の質感)
48.リムライトと指向性のリムライト p79
リムライトを当てたくない領域がある場合、リムライトのマスク値にテクスチャに書き込んで制御
リムライトの色は周囲の環境に応じて制御
49.ライトマップ圧縮時にマッハバンドができたので、フォーマットを変更し改善させた p80
50.UEの圧縮より1/4も圧縮できるように改造 p80
51.水面リフラクションと煙エフェクトの描画順序の課題解決 p81
52.ステージのモニタ表現、モアレ現象の解決 p81
モニタは1フレーム前の描画結果を表示している
モニタはグリッド上で表示している
モアレは、モニタの画素を楕円形にゆがめることで軽減
53.レイトレース p82~p83
鬼滅の刃 ヒノカミ血風譚
CGWORLDの281から抜粋
1.アニメの独特な表現を福笑いのように表現 p85
2.デザインの細かさに応じてテクスチャの解像度を変えているp86
ベルトやボタンなど細かい部分の表現には高解像度のテクスチャを使用
3.頂点カラーによる法線反転を用いた押し出しアウトラインと、シェーダによるポストアウトライン p86
押し出しの場合、部位によってアウトラインの強弱を付けることができる
また、カメラからの距離やオブジェクトの多さによって、単独で使用したり併用したりしている
4.影のコントロール p86
セル調において影の入れ方は非常に重要。
影を出したいところには出して、出したくないところは出さないという要望の元、テクスチャでの制御、頂点カラーやトーンを定義するテクスチャのパラメータなどを組み合わせて表現
影部分を指定するテクスチャを用意し、それを基にパラメータ制御によって影の落ち方が調整されている
また、カスタムステンシルに任意の形状を描きこむことで、ねらった形状を通常色、影色(1影)、より濃い影色(2影)のいすれかで描画することができる
2影は主に、アニメ特有の眉下と白目の部分に入る影の表現に活用。
これによりキャラが影に中にいる状況でも2影を描画できる
5.柔軟に制御可能な刀のハイライト p87
刀のハイライトは、位置、幅、強度を個別にコントロールできる
刀全体のディフューズテクスチャ、影色テクスチャ、ディティール追加用テクスチャ、影部分指定用テクスチャ、
ハイライトの位置や幅を指定するテクスチャ、ハイライト箇所を指定するテクスチャ(R:刀、G:峰、B:それ以外)
6.消滅表現では、様々な制御ができるようになっている p87
消滅速度、頂点アルファで消滅箇所を指定できるにしている
7.モブキャラクターの最適化 p87
画面に登場するキャラクター数が多いため、モブは軽量化を行う必要があった
モブ用のマテリアルは1種類にし、カラーをマテリアル側で指定することでバリエーションも持たせている
8.直感的にポーズを作成できる内製リグツール p88
IKとFKを共存させたRKを搭載し、IKとFKを切り替えることなく自由にポージングを設定できる
9.多彩な表情を生み出すフェイシャルリグ p89
10.メッシュを配置してアニメ影の再現 p89
11.埋まるのを防ぐためコリジョンを設定 p89
12.木は頂点アニメーションで揺らしているが、影は専用モデルで表示することで軽量化。見た目を変えずに全体の負荷を下げている
13.ステージなどの傷はバトルの進行とともに増えていく p90
14.PBRベースだとリアルな見た目になるためアニメ風の表現と合致しないようにベースカラーで馴染ませる可能な限りアニメ調の見た目になるよう調整したp90
15.水の呼吸のエフェクト p91
テクスチャの連番アニメーション、Houdiniの破壊表現など様々な手法を取り入れている
16.同じ水の呼吸でもモーションや仕様が、性能が異なるため仕様変更の可能性も考慮して個別のエフェクトを作成。
汎用的な斬撃モーションに限り、素材を流用しカラーを変更して複数キャラクターに使用
17.ゲーム映えするライティング調整 p92
18.キャラクターと背景のライトを個別に制御 p92
シェーディングとシャドウの向きを個別にして、光源方向に影を出すことも可能
影の落ちているステージの中にさらにキャラクターの影を描画。動的なシャドウマップと静的なシャドウマップを加算することで表現
19.テクスチャベースで複雑な影を生成 p92
20.画面や影にグラデーションを乗せるグラデーションライト p93
21.背景のライトマップを全て同じ解像度にするとメモリを圧迫するため、背景のほとんど低解像度、建物を中解像度とした p93
22.ポストエフェクトで仕上げ p93
ELDEN RING
CGWORLDの286から抜粋
1.キャラメイク p26
身体のパーツ調整機能。隣接した部位の差が大きい場合、不自然にならないように連動して調整される
髪の色は、世界観を壊さないように調和する色に制限されている
アイラインなどはマスクで強度を塗り分けており、スライダで上げ下げすると面積が変動する
2.ノーマルマップを施したデカール表現 p26
過去作では平面的なデカール表現であったが、今作からは起伏をプラスしたデカール表現を可能とした
3.骨格ベース5種類と、若年、壮年、老年の3種類を用意 p27
4.肌のくすみや血管の表現 p27
5.髪の品質向上 p28
異方性反射、毛先がトランスルーセントを受ける、リムライト、シャドウベイクを追加
6.髪の表現拡張 p28
白髪や毛先の明度調整
7.VAT頂点アニメーションによる無数の腕 p29
VATによるセットアップの負荷が軽減され、腕の数の増減やシルエット調整も極限なく行うことができる
参考動画
8.VAT頂点アニメーションによる顔が浮かび上がるカットシーン p29
参考動画の1:53
9.灰が風に乗るワープ表現 p30
VATによるポリゴンをばらばらに移動させる処理、アルファを使い、ポリゴンのエッジを消す
10.環境光 p29
イラディアンスボリューム(ディフューズ成分)と環境マップ(ゲーム内の景色を撮影したHDR画像。スペキュラ成分)。
環境マップは基本的に日向で撮影し、日陰ではイラディアンスボリュームを参照して環境マップの明度を制御している
これにより、環境マップの影響が目立つ金属鎧日陰では自然に暗くなり、非金属の背景ともなじみやすくなる
11.モデリングの際、オブジェクト間の隙間を作りそこにセルフシャドウを入れることで立体感が生まれる p31
12.衣服のマテリアル p32
起毛素材。フォールオフ、色、強度などを制御できる
マスクを介してブレンドし、低解像でもディテールを表現できる
別テクスチャの縫い目や模様などを服の上から乗せている
13.関節を一時的に無効 p36
細かいモーションを作成するため、ボーンを追加していくと消費メモリがどんどん増えていく
なので不要な関節はプラットフォームごとに削除している
削除した関節に対しては、補助関節のプログラム処理、アニメーションが存在しない関節の対する基底アニメーションの再生という処理が施されている
14.体の伸縮モーション p37
15.ランタイムの姿勢制御 p38
どんな地形でも姿勢が自然になるようにレイキャストを出して斜面などを検知し、腰の位置などに補正を加えている
16.PBRに則さないもの p44
どのようなライティングでも神々しくみせるという意図から、時間帯や露出が変化しても見え方が変わらないようになっている
17.VATによる鳥や飛竜の動き p44
3dsMaxでアニメーションを作成し、頂点アニメーションとしてテクスチャにベイクして描画
軌道を含めるとVRAMを圧迫してしまうので、軌道・進行方向への向き調整・個体ごとのオフセットなどはシェーダーで対応
また、配置高さや密度はパラメータで調整できるようにした
18.アセットLOD p45
大きさ、重要度、使用回数を基準に負荷が高いものからチョイスして段階を増やしている
LODを適用させると情報が不足する箇所も出てくるので以下を工夫
草のボリューム感が減ったため、わずかにスケールアップ
草の省略を補うため、ノーマルマップのタイリング数を数えてノイズ感を出し、のっぺりとした印象を軽減
19.レイアウトLODp45
遠景・近景オブジェクトの表示管理のため、本作ではマップをグリッド上に分割したLODマップを採用
3段階あり、最小単位(LOD0)が256m四方、512m四方、1024m四方である
各アセットに対してこれは0、1と設定し、LOD0まで近づかないと配置されないもの、ランドマークなど距離が遠くても配置されるものとで仕分けしている
20.樹木のLOD p45
近景は3dモデルで、遠景はビルボードで制御
近景樹林はある距離になると消え初め、ビルボード樹林とクロスフェードするようシェーダーでコントロールする
21.複数アセットで構成されたモデルは、まとまった軽量のディテールモデルを別途用意し、距離に応じてクロスフェードさせている p46
その際、軽量ではエフェクトなども削除している
22.一部のステージは、パーツごとにモデリングして作成している p46
23.形状が異なる武器でもエフェクトが武器に合うようにダミーポリゴンを武器ごとに設定しているp48
24.地面の水飛沫は、雨が地面にヒットしたとき別のエフェクトを発生させている
また、屋内などは水が当たらないようにしている
25.エフェクト単位のLOD p49
従来なら一律にグラフィッククオリティを下げて対応していた場面でも、今回は縮小バッファやLODを使用などを使用して
できるだけ見た目を落とさず軽量化していった
目印になるものは、描画距離を長めにとるなどしてエフェクトごとにLODを細かく設定している
例えば、遠景のとエミシッブを目立たせつつ、グローやポイントライトを省略している
26.テンポラルAAの描画順変更による見た目の担保p50
TAAを行うと、エフェクトにおいてグロー感が弱まったり、細かいディテールが消え、印象がぼやける事象が発生した
なので、TAA後にエフェクトを描画
27.グローフィルタの活用 p50
28.逆露出係数による光源の強度調整 p50
インゲームでは、露出フィルタにより屋外と屋内の光量の変化を吸収するしくみになっているが、光源の強度にも影響が出てしまう
そこで、逆露出係数の設定を設け、露出フィルタによる光源強度の変化を打ち消している
29.多様なポストエフェクトを使用している p53
SSAO、アンチエイリアス、カラーグレーディング、被写界深度、モーションブラー、フィードバックブラー、ファーブラー、ラインシャフト、ブルーム、グローフィルタ―、トーンマップなどがある
フィードバックブラー
参考サイト、参考サイト
30.3種類のフォグ p53
カメラからの距離によって一律に変化するフォグ
発生させたい場所に配置するフォグ
地形の高さに合わせたハイトマップによるフォグ
31.ファーブラーによる竜巻の表現 p54
32.天候・時間帯の変化 p54、p55
同じ景色だと見栄えしないため、天候や時間変化で景色が変わるようにした
専用ツールでデザイナーが自由に変更できる
33.シャドウ p56
時間帯ごとにキーライトとなる平行ライトの向きを随時変化させて、ダイナミックに計算している
シャドウマップを生成する負荷を軽減するため、動かないモデルのシャドウ描画結果をフレーム間で使い回すためのシャドウキャッシュを使用。カスケード4枚のうち、遠距離の2枚が適用されている。
また、雨粒などの遮蔽を専用のシャドウマップを使って行っている。
過去作では、屋内に入ったら雨のイベントをOFFにすることで雨のエフェクトを遮蔽していたが、本作の規模でイベントのオンオフは工数がかかりすぎるため、メッシュを真上から見たデプスマップを取得して特殊なシャドウマップを作成し、そのシャドウマップを使用して、雨のエフェクトを遮蔽している
34.キャラクターの視認性を上げるための専用ライト p56
ゲームプレイのしやすさを考え、常に弱い光をキャラの奥に配置している
そのライトは背景のライトと同期させ、背景に応じたライトの調整が施される設定となっている
35.カットシーンの天候・時間帯変化への対応 p57
屋外のカットシーンは、晴れ・曇り・雨・霧、朝・昼・夕方・夜の計16通り作成している
ただ、カットシーンの中でプライオリティの高いボスの関しては全通り制作されているが、マップ移動などはプレイヤーライトのみ調整している
36.VATのテクスチャサイズを抑えるため、テクスチャの分割以外にもフレームの間引処理を行っているp58
ただし、単純にフレームを機械的にスキップするだけでは、総フレーム数と間引き数によって最終フレームがかけてしまう。
これを回避し、線形性を保つために、擬似的な最終フレームを計算によって求めている
37.VATによるシュミレーション p58
複雑な造形かつ揺れものの数が多いため、内製VAT作成ツールでVAT作成し活用している
参考動画の6:40
38.テクスチャ分割 p58
カットシーンでVATを使用すると、アニメーションの尺が長いと必然的にテクスチャサイズも大きくなり、メモリの断片化の原因になりやすい。なので、テクスチャ分割を行った。
39.VATのカットシーン専用の処理 p59
40.引きずられた痕跡シェーダー p60
カットシーン用に痕跡シェーダーを作成
Discussion