プログラマーの卵の日記

備忘録になってます!小難しそうなことから超簡単なことまでやってます!!

Cygames Tech Conference2021 メモ⑥

ダイナミックな変更を可能にするCyllista Game
Engineのオープンワールド向けプロシージャル背景制作ツールと描画機能

 

 

PC、ハイエンドコンソール向けゲームエンジン

 

テレインシステム

1,データ構成

 ・セクターごとに地形等の情報を保持
  ハイトマップ
   257x257 この都合で無圧縮
  マテリアルIDマップ
   上記同様に無圧縮
  フォリッジ密度マップなど
  エコトープマップ
  森林や雪原など   

 ・セクターを選択して編集を開始

 ・セクターをほかのユーザーが編集しているかどうかの表示

 ・テレインLOD

  近景、中景、遠景

 

2,基本編集ツール

 地形編集ツール
  ハイトマップ編集
   スカルプト機能
    リアルタイム反映
    コリジョン更新
  パスツール
   道、川を引くツール
   デカール配置
  メッシュスタンプ

 

3,テレインレイヤー

 

4,プロシージャルペイント

 メッシュスタンプを発展させたもの

 

 ハイトとマテリアルがリアルタイムで更新

 

 分布:形状をパラメータ化

  高さ、傾き
  2Dグレースケールマップ
  ComputeShaderで実装

 

5,テレイン描画

 ロード済み子ノードのみカリング

 Triplanar Mapping
  急な傾斜の縦伸びを防止
  https://bgolus.medium.com/normal-mapping-for-a-triplanar-shader-10bf39dca05a


 ブレンド処理の処理負荷が高くなる
  現状48サンプル

 

 TriplanarからBiplanar Mappingへ変更
  2軸を採用してブレンドする
  Triplanar Mappingと遜色なし

 

 Stochastic Sampling
  ウェイトに従って確率的に1マテリアル/投影方向を選択
  https://www.gdcvault.com/play/1025480/Terrain-Rendering-in-Far-Cry

 

 Biplanar + Stochastic + α
  近景と遠景で調整

 

 

フォリッジしシステム

1,プロシージャルフォリッジ配置

 効率的に配置したい

 ・GPUで配置
 ・実行時にリアルタイム配置
 ・ルールで自動配置

 

 配置用マップ
  密度マップ
   4枚まで利用可能
  エコトープマップ
   大きな警官の種類と範囲
  サブエコトープマップ
  マテリアルIDマップ
   テレインマテリアルIDを保持

 

2,点群生成とカリング

 ランダムでなくDeterministicな配置

 点単位でカリングして描画

 点群ソート
  GPU Radix Sort

  https://www.guerrilla-games.com/read/gpu-based-procedural-placement-in-horizon-zero-dawn
   読み込めない…

 

3,頂点吸着

 

4,フォリッジレイヤの依存関係

 高木の周りに低木を植えたい
  高木の点群をDependency Mapにラスタライズ

 

5,遠景フォリッジ

 ロードされていないためフォリッジ配置データがない

 レジデントマップ
  jenkinsで毎日自動生成

 

6,他システムへの情報提供

 点群の座標はゲーム実行時まで不明
  サウンドやゲームプレイなど

 

 点群クエリー
  サウンドゲームプレイで活用
  指定した円のうちにあるフォリッジ配置店を取得

 

 

 

 

techcon.cygames.jp