Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ライブゲームでの3Dアセット構築・アート主導でのアニメーションシーケンス構築

gree_tech
October 25, 2022

 ライブゲームでの3Dアセット構築・アート主導でのアニメーションシーケンス構築

GREE Tech Conference 2022で発表された資料です。
https://techcon.gree.jp/2022/session/TrackC-3

gree_tech

October 25, 2022
Tweet

More Decks by gree_tech

Other Decks in Technology

Transcript

  1. はじめに・・・ 3
 なりたい自分が存在できる仮想世界を身近にするためにも 一番手軽で世界中に普及しているディバイス=スマホを重視 する スマホでメタバースを実現している REALITY の中で 新しい交流の場である「ライブゲーム」を導入していくためにも 20年前くらいのゲーム機黎明期のテクニックに再注目し

    また少人数でも制作可能なワークフローの構築を1から行った 「メタバース」は 手軽である方がいい! ※世界のスマホ端末の状況を考えるとこの先5~6年は  ロースペックでの描画を前提としたアートワークが重要になる
  2. 2・ゲームをアプリ内で表現するための3Dアセット軽量化 REALITYアプリにゲーム制作をする上での問題点 頂点カラーシェーダーの活用 独自 Post Effect の構築 釣りゲームならではの表現構築 水面シェーダーの実装 ForwardRenderingでのDepthの対応 今日のテーマ

    ライブゲームでの3Dアセット構築・ アート主導でのアニメーションシーケンス構築 REALITYアプリについて ~基本的なおさらい~ REALITYの構造=配信者とコラボ参加者、視聴者の3軸 遅延が無いリアルタイムでの配信とライブゲーム 1・REALITY ライブゲームとは? 3・ワークフローについて 出来るだけアートでゲーム実装するためのワークフロー構築   CinemaChine と Timelineでのイベントシーン構築  ※Timeline拡張機能 さとう
  3. 6
 ライブゲーム 第一弾  ♯REALITY釣り部 1・ライブゲームとは? REALITY釣り部 Season3 2022/10/26 (15:00) ~

    2022/11/09 REALITY 釣り部 Season1 2022/8/24 ~ 9/7 REALITY 釣り部 Season2 2022/9/28 ~ 10/12 大幅アップデートして毎月リリース!
  4. 1・ライブゲームとは? REALITYの構造=配信者とコラボ参加者、視聴者の3軸 視聴者 配信者 コラボ参 加者 コラボ参 加者 コラボ参 加者

    配信者 = メインプレイヤー  コラボ参加者  配信者と同じ場に参加し= 共に会話する  ※同時に最大3人まで 視聴者 = 配信者とコラボ参加者の配信を視聴   コメントやギフトなどで配信に参加する
  5. 2・ゲームをアプリ内で表現するための3Dアセット軽量化 ・REALITYアプリは Unity2019 ベースで構築されている   Build-in Rendering Pipeline での描画を採用 (2022/10月 時点でも同様)

     ※URP(Universal Render Pipeline)ではなくシェーダーグラフ等は使えない REALITYアプリ内でライブゲームを構築するためのアート的な課題 まずは現状でも表現できる方法を考えよう! ・Unity内の Scene切り替えが出来ず LightSetting、Enviromentが使えない  ・ライトマップ、影、ノーマルマップ、などなど全て使えない ・アバターのテクスチャがメモリ容量の大部分を占めるため  3D背景等で必要とするテクスチャはほとんど増やせない その他いろいろ問題が沸いて出てくる状態…
  6. ライトの色情報を与える頂点カラーシェーダーで 時間の経過をデータ数を増やさずに表現 2・ゲームをアプリ内で表現するための3Dアセット軽量化 背景用頂点カラーのシェーダーを4種追加  ・custom/VertexColor   (ライトの影響あり)   ・custom/VertexColor_Cutout (ライトの影響あり 透過PNGに対応)

     ・custom/VertexColor_Unlit (ライト効果なし)   ・custom/VertexColor_Unlit_Cutout  (ライト効果なし 透過PNGに対応) 頂点カラーシェーダーの実用編 17
 ・頂点カラーのためポリゴン数は多少増やしても OK ・テクスチャは基本タイリング or アトラス化する 頂点カラーとタイリングTexture 基本的なことをちゃんとやる!
  7. 2・ゲームをアプリ内で表現するための3Dアセット軽量化 Buildin Rendering Pipeline でのポストエフェクトは そのまま使わず軽量化したものを独自開発 独自ポストエフェクトの構築 ポストエフェクトは、 ・Mobile Bloom

    ・Mobile Bokeh (ボケ) のみを導入 Bokeh に関しては UI上で用いる 必要な表現だけを選別し それらを軽量化! 当たり前の事をしっかり動かすところから始める
  8. 2・ゲームをアプリ内で表現するための3Dアセット軽量化 水面シェーダー の導入 (作りたいのが 釣りゲーム なので必須) Directional Light 1つと Reflection

    Probe 1つ 海底の頂点カラーと この水面シェーダーで 海面を超軽量表現 水の流れをFlowMap として描画が可能 頂点カラーにより複数マテリアル表現も可能 既存であるBuildIn-RP 用の 水面シェーダーを 徹底リサーチし1つを選択 R.A.Mのシェーダーを導入
  9. 2・ゲームをアプリ内で表現するための3Dアセット軽量化 水面で欠かせない表現 Foam (泡) ForwardRenderingでのDepthTextureの対応 Differed -> Forward に変更するとG-Bufferが使えず Foam

    が表現できない。 そのためにcameraに Depth Texture を作成するフラグ を立てるスクリプトを書きDifferedと同様にForwardでも Foamの表現を可能にする。 DepthTexture を利用した Foam の表現の有無  水際のFoam(泡)の表現にDepthTextureが必要。 DifferedではノーペナルティでDepthTextureが作成可 能だが、ローエンドのAndroid端末やiOSでの描画不具 合回避のため Forward に変える必要がある。 既存のアセットを最大限活用 必要に応じたカスタマイズ
  10. 3・ワークフローについて 23
 ゲームを形にするために目指したワークフローの概要 •UIプレハブ&アンカリング設定までArtが対応 ※更新があってもエンジニアの手が入らない •追加した素材にロジックが必要ならエンジニア作業 UI / UX UI /

    2Dエフェクト / アニメーション •Spriteベース、uGUI/Imageベースで分けて専門のArtが担当 ※役割を明確化 •動的にImageやInformationを変える所はエンジニア作業 3D / 演出 •ほとんどの演出をUnityのTimelineで構築 ※参考用アニメーションからUnityで作る •演出中のゲームシーケンス制御、TrackのBinding などエンジニア作業 アート側がしっかりUnityをラーニングしてエンジニアの工数を軽減させる
  11. 3・ワークフローについて 出来上がったワークフロー システム / 機能実装 エンジニア ラフレイアウトのプレハブ を元にゲーム遷移、シー ケンスを実装 UX/UI

    企画内容の確認と それに伴う画面構成 UIの大ラフをまとめて 制作物量を計算する アート / PM 仕様決め ラフレイアウト Unity上でUIラフをアート が実装 プレハブ構築やアンカー 設定等を行う  アート Unity 本デザイン アート エンジニアがゲームとし てつなげたラフレイアウト のプレハブを本デザイン に作りこむ Unity作業 Unity 実装調整 アート/エンジニア 最終的なゲームの形に なった後、あらためて UI/UXを確認しUnity上 で調整する 2D/3D/Effect 企画内容に伴う2D、 3D、演出回りのアートア セット物量を計算。サン プル制作し負荷計算も行 う アート / PM 仕様決め 各種アセット制作 制作 ※内部、外部 アート Maya,3DsMax MotionBuilder PS GAME PROJECT / UNITY 制作フロー Unity実装 2D/3D演出等のアニメー ションはUnityに直に作 成する。 3Dアセットはアートが実 装、Animator等も設定 する Unity アート Timeline実装 カメラ設定 各演出のプレハブやオブ ジェクトのアクティブ制 御、カメラモーションなど をTrackで設定する アート Unity システム / 機能実装 実装されたアセットを動 的に変更する場合など、 エンジニアが対応を行う エンジニア
  12. 3・ワークフローについて 25
 Cinemachine と Timelineでのイベントシーン構築 今回の釣りのゲームは特に「シーン」の連続 Timelineの構築でイベント回りを対応させるためTimeline拡張にフォーカスする 通常の釣果の演出もTimeline制御 タイミングなどの細かい調整は すべてアート側で担う。

    カメラの挙動は Cinemachine の Virtual Cameraで制御 ・トラックごとのBinding は動的に対応するスクリプトを用意  アバター入れ替えやレアリティでの演出表現の切り替えなど ・Timeline上のループやジャンプマーカーの拡張も行う 
  13. 3・ワークフローについて 1. ゲーム開始時に作成した演出(Timeline)のリストを取得 2. ゲーム実行中に指定した条件に一致するものを ホストが判定 3. 一致するものがあったらホスト(配信者)で実行し 実行イベントの通知を全員に送る 4.

    画面上で同じ演出が全員にいく 5. 画面遷移などゲーム内の重要なイベント中は 賑やかしを止める ゲーム内の賑やかし演出の仕組み:仕様詳細 27
 演出 ゲーム 再開
  14. 33
 REALITY ゲーム事業部ではメンバーを募集中です! 余談・メンバー募集中 ・2D UI / UX デザイナー  •

    UX構築の実務経験があり、デザインができる • Unityへの実装 (プレハブ構築の対応が可能) ( SpriteRenderer と uGUI/image を把握し キャンバスを理解しアンカリング設定ができる) ▽募集メンバー ・3DCG 背景モデラー • Maya or 3DsMAXでの背景モデリング、頂点カラーなどの対応 • Unityの実装 (Unity内でのシェーダー、マテリアル、ライティング設定ができる) ・3DCG アバター衣装モデラー (アニメーター) • Maya or 3DsMAXでのアバター衣装モデリング、 スケルトン & ウェイト設定 • Unityの実装 (Unity内でマテリアル設定、Humanoid、Animator、揺れモノの対応ができる)
  15. 34
 余談・メンバー募集中 1. 仕事、ユーザー、同僚を愛する。 2. 事業成長にこだわる。 3. 終わりなき挑戦を楽しむ。 REALITY Value

    以上にマッチする!という方はぜひ! ※応募は REALITY の HPからどうぞ!  https://reality.inc/jobs/