Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
グランブルーファンタジー『Project Re:LINK』におけるリアルタイム雲表現の研...
Search
Cygames
February 23, 2017
Technology
1
15k
グランブルーファンタジー『Project Re:LINK』におけるリアルタイム雲表現の研究と技術紹介!
2017/02/18 GAME CREATORS CONFERENCE'17
Cygames
February 23, 2017
Tweet
Share
More Decks by Cygames
See All by Cygames
雲だけじゃない!『GRANBLUE FANTASY: Relink』の世界に奥行きを出す半透明スプライト活用術
cygames
0
140
最高のアートワークを発信する『Cygames展 Artworks』企画制作事例
cygames
0
96
社内にバーチャルスタッフ!?「スイちゃん」のキャラクターデザインと施策の広げ方の秘訣
cygames
1
280
全高3m超のバハムート像がスマホを通して躍動する! ~『Cygames展 Artworks』ARコンテンツの開発プロセスと実装~
cygames
0
93
最高の資料を目指すために!社内フリーイラスト制作チームの取り組みについて
cygames
1
280
「生きているモーション」を作り出すCygamesのモーションキャプチャー
cygames
0
190
『Cygames展 Artworks』におけるShadowverseデジタルサイネージ制作事例
cygames
0
76
『GRANBLUE FANTASY: Relink』 原作の世界観に没入するステージの絵作り
cygames
0
1.7k
『GRANBLUE FANTASY: Relink』イラストを再現する為のキャラクターモデル制作事例
cygames
0
260
Other Decks in Technology
See All in Technology
“プロダクトを好きになれるか“も QAエンジニア転職の大事な判断基準だと思ったの
tomodakengo
1
220
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
170
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
440
本部長の代わりに提案書レビュー! KDDI営業が毎日使うAIエージェント「A-BOSS」開発秘話
minorun365
PRO
14
2k
原則から考える保守しやすいComposable関数設計
moriatsushi
3
480
OAuth/OpenID Connectで実現するMCPのセキュアなアクセス管理
kuralab
5
600
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
440
ローカルLLMでファインチューニング
knishioka
0
100
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
220
Workflows から Agents へ ~ 生成 AI アプリの成長過程とアプローチ~
belongadmin
3
170
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
6
1.3k
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
350
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
Bash Introduction
62gerente
614
210k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Cost Of JavaScript in 2023
addyosmani
50
8.4k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Adopting Sorbet at Scale
ufuk
77
9.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
910
Facilitating Awesome Meetings
lara
54
6.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Why Our Code Smells
bkeepers
PRO
337
57k
Transcript
None
None
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. ⼤大阪Cygames • 設⽴立立⽇日 • 2015年年4⽉月1⽇日 • 所在地
• グランフロント⼤大阪 • 事業内容 • ハイエンドゲームの開発
© Cygames, Inc. グランブルーファンタジー PROJECT Re:LINK 対応機種 : PS4 発売⽇日
: 2018年年 予定
© Cygames, Inc. © Cygames, Inc. グランブルーファンタジーの空と雲の表現について
© Cygames, Inc. 空と雲のコンセプト どこまでも広がる壮⼤大且つ繊細で 気持ちの良良い空の世界を表現する。
© Cygames, Inc. 空の世界
© Cygames, Inc. 空と雲の形、デザイン ファンタジーらしく不不思議な形から 誰もが理理解できる⼊入道雲などを組み合わせる。
© Cygames, Inc. 空と雲の形、デザイン
© Cygames, Inc. 空と雲の形、デザイン
© Cygames, Inc. 空と雲の形、デザイン
© Cygames, Inc. 空と雲の形、デザイン
© Cygames, Inc. 空と雲の形、デザイン
© Cygames, Inc. 光や影の表現 フォトリアルな空気遠近法を基本としつつ ⼿手書きイラストらしい表現も加える。 影の中にもしっかりと⾊色表現を⼊入れる。
© Cygames, Inc. 光や影の表現
© Cygames, Inc. 光や影の表現
© Cygames, Inc. 他の環境物との関係 空と雲だけの処理理で考えるのではなく、 同じ環境にある物として⾒見見えるようにする。
© Cygames, Inc. 他の環境物との関係
© Cygames, Inc. 他の環境物との関係
© Cygames, Inc. 他の環境物との関係
© Cygames, Inc. PROJECT Re:LINKでは こ の 空の世界を 3Dで 描
く
© Cygames, Inc. © Cygames, Inc. 『Project Re:LINK』における雲表現の研究紹介
None
© Cygames, Inc. 雲表現
© Cygames, Inc. 雲表現 眼下に どこまでも広がる 雲表現が必要
© Cygames, Inc. どこまでも広がる雲 無限平⾯面下に 雲を充填して 表現 z y x
雲表現
© Cygames, Inc. z y x 平⾯面雲 Plane Cloud 雲表現
© Cygames, Inc. © Cygames, Inc. 平⾯面雲 スクリーンショット
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. 平⾯面雲 1. そもそも雲とは? 2. 平⾯面雲を形作る⽅方法 3. 光学法則
4. レイマーチ 平⾯面雲の実装に必要な知識識
© Cygames, Inc. © Cygames, Inc. 1.そもそも雲とは? 平⾯面雲の実装に必要な知識識
© Cygames, Inc. そもそも雲とは 液体もしくは固体です。 気体ではありません。 Wikipedia⽈曰く… 雲は、 ⼤大気中にかたまって浮かぶ⽔水滴または氷の粒粒(氷晶)のことを ⾔言う。
© Cygames, Inc. そもそも雲とは わた雲 ⾼高度度0.5~∼2kmに浮かぶ ⽔水滴。
© Cygames, Inc. そもそも雲とは ⾶飛⾏行行機雲 排気ガス中の⽔水蒸気が ⽔水滴や氷晶に なったもの。 ※単なる排気ガスではない!
© Cygames, Inc. そもそも雲とは – まとめ 雲は ⽔水滴 もしくは 氷晶
の集まり。
© Cygames, Inc. © Cygames, Inc. 2.平⾯面雲を形作る⽅方法 平⾯面雲の実装に必要な知識識
© Cygames, Inc. 平⾯面雲を形作る⽅方法 • 雲を形作る⽅方法はいくつか存在します。 • 今回は Volumetric Noise
Textureを⽤用いた ⼿手続き型(プロシージャル)雲 ⽣生成法を 研究しました。
© Cygames, Inc. 平⾯面雲を形作る⽅方法 研究にあたって、Guerrilla Games社の The Real-‐‑‒time Volumetric Cloudscapes
of Horizon Zero Dawn という資料料を参考にしました。 http://www.slideshare.net/guerrillagames/the-‐‑‒realtime-‐‑‒ volumetric-‐‑‒cloudscapes-‐‑‒of-‐‑‒horizon-‐‑‒zero-‐‑‒dawn
© Cygames, Inc. 平⾯面雲を形作る⽅方法 • 通常の Noise Texture に 奥⾏行行き(W軸)が増えた
ノイズテクスチャ。 • 雲を形作る際の 基準となります。 イメージ図 Volumetric Noise Textureとは? U
© Cygames, Inc. 平⾯面雲を形作る⽅方法
© Cygames, Inc. 平⾯面雲を形作る⽅方法 Noiseアルゴリズム紹介 このテクスチャの作り⽅方
© Cygames, Inc. Perlin Noise • Ken Perlin⽒氏が開発したノイズ。 • 綺麗麗な雲模様を⽣生成することが
可能です。 • 左図は、 ⾮非整数ブラウン運動 (Fractional Brownian Motion) によるガウス過程を経たものです。 Fractal Perlin noise
© Cygames, Inc. Worley Noise • Steven Worley⽒氏が 開発したノイズ。 •
⽔水⾯面がキラキラ反射している様な 模様を⽣生成することが可能です。 Worley noise
© Cygames, Inc. Worley Noise • 階調を反転(1-‐‑‒n)させることで、 モコモコとした膨らみをもつ 模様になります。 Worley
noise Inversed
© Cygames, Inc. Perlin-‐‑‒Worley Noise Perlin Noise と Worley Noise
を合成することで モコモコとした膨らみを持つ雲模様を ⽣生成することが出来ます。
© Cygames, Inc. Perlin-‐‑‒Worley Noise Perlin-‐‑‒Worley noise と は
≦ ≦ の 任意のパラメータ Fractal Perlin Inversed Worley = ( ∗ )/ ( ∗ )
© Cygames, Inc. 平⾯面雲を形作る⽅方法 まとめ Perlin-‐‑‒Worley Volumetric Noise Texture
平⾯面雲を形作る⽅方法は…
© Cygames, Inc. © Cygames, Inc. 3.光学法則 平⾯面雲の実装に必要な知識識
© Cygames, Inc. 光学法則 雲のライティングを⾏行行うためには、 光が雲を通過した際の事象を シミュレートする必要があります。
© Cygames, Inc. 光学法則 ライティング無し
© Cygames, Inc. 光学法則 ライティング有り
© Cygames, Inc. 光学法則 まとめ ライティング有り ライティング無し
© Cygames, Inc. 光学法則 これからご紹介する光学法則は すべて液体に関する法則です。
© Cygames, Inc. 光学法則 ランベルトの法則
© Cygames, Inc. 光学法則 光が物質を通過する場合、 吸光度度は 光路路⻑⾧長に⽐比例例します。 これを、ランベルトの法則と⾔言います。 吸光度度=光の透過度度
© Cygames, Inc. ランベルトの法則 下の⽅方が 明るいぜ! ランベルトの法則 イメージ 光 光
光 光 光路路⻑⾧長 ⻑⾧長い 光路路⻑⾧長 短い
© Cygames, Inc. ランベルトの法則 吸光度度 = 吸光係数 ∗ 光路路⻑⾧長 吸光度度
= 吸光係数 ∗ 光路路⻑⾧長 = 透過光 ⼊入射光 吸光係数とは、物質固有の定数です。
© Cygames, Inc. 光学法則 ベールの法則
© Cygames, Inc. 光学法則 光が物質を通過する場合、 吸光度度は、物質のモル濃度度に⽐比例例します。 これをベールの法則と呼びます。 モル=濃度度の単位
© Cygames, Inc. ベールの法則 ベールの法則 イメージ 下の⽅方が 明るいぜ! 光 光
光 光 濃度度 薄い 濃度度 濃い
© Cygames, Inc. ベールの法則 吸光度度 = 吸光係数 ∗ モル濃度度 吸光係数とは、物質固有の定数です。
© Cygames, Inc. ベールの法則 吸光係数とモル濃度度の違い • 吸光係数 物質固有の係数 • モル濃度度
体積あたりの濃度度
© Cygames, Inc. 吸光係数とモル濃度度の違い 濃いジュースも 薄いジュースも 吸光係数は同じです。 モル濃度度は違います。 例例えば…
© Cygames, Inc. 光学法則 ランベルト・ベールの 法則
© Cygames, Inc. 光学法則 ランベルトの法則とベールの法則を 組み合わせたものを ランベルト・ベールの法則 と呼びます。
© Cygames, Inc. ランベルト・ベールの法則 吸光度度は物質の濃度度に⽐比例例する ベールの法則 吸光度度は光路路⻑⾧長に⽐比例例する ランベルトの法則 + 吸光度度は物質の光路路⻑⾧長と濃度度に⽐比例例する
© Cygames, Inc. ランベルト・ベールの法則 吸光度度=吸光係数 ∗ 濃度度 ∗ 光路路⻑⾧長 =
© Cygames, Inc. 光学法則 まとめ ライティング有り ライティング無し
© Cygames, Inc. 光学法則 まとめ 雲密度度(濃度度)と 雲の厚さ(光路路⻑⾧長)が 必要になる。 雲をライティングする為には…
© Cygames, Inc. © Cygames, Inc. 4.レイマーチ 平⾯面雲の実装に必要な知識識
© Cygames, Inc. レイマーチ 先程の光学法則は全て、 対象の濃度度が⼀一定の液体の場合でした。 ⼀一定!
© Cygames, Inc. レイマーチ しかし、雲は⼤大気中に浮かぶ液体であり、 その濃度度は⼀一定ではありません。 濃い! 薄い!
© Cygames, Inc. レイマーチ そこで、レイマーチによる 濃度度(雲密度度)の測定を⾏行行う必要があります。
© Cygames, Inc. レイマーチ レイマーチ…?
© Cygames, Inc. レイマーチ レイマーチとは? • レイトレースの⼀一種。 • レイを少しずつ進めながら 処理理を⾏行行います。
© Cygames, Inc. レイマーチ 例例:衝突判定 衝突! レイ 衝突物との距離離
© Cygames, Inc. レイマーチ このような反復復処理理を レイマーチと呼びます。
© Cygames, Inc. レイマーチ この をステップと呼び、 ⼀一つの幅を ステップ幅と呼びます。 ステップ
© Cygames, Inc. レイマーチ ステップの反復復処理理を マーチング ループと呼び、 その回数をステップ回数と呼びます。 マーチング ループ
© Cygames, Inc. レイマーチ 平⾯面雲では レイマーチを⽤用いて 雲密度度の測定を⾏行行います。
© Cygames, Inc. レイマーチ レイマーチにより雲密度度を測定すると… • 雲のかたちが決定します。 • 密度度が0ならばそこに雲は存在しません。 •
雲のライティングが決定します。 • ステップの進んだ⻑⾧長さ=光路路⻑⾧長 • ランベルト・ベールの法則 • 吸光度度=吸光係数 ∗ 雲密度度 ∗ 光路路⻑⾧長
© Cygames, Inc. レイマーチ 1 合計は 20mol/L! 雲密度度の測定 (イメージ) 3
6 2 8 ※この数値はイメージです。 1 + 3 = 4
© Cygames, Inc. レイマーチ 雲密度度の測定 (イメージ) 合計は 0mol/L! 0 0
0 0 0
© Cygames, Inc. レイマーチ ところで…
© Cygames, Inc. レイマーチ レイマーチは負荷の⾼高い処理理です。 float density = 0.0; for
(int i = 0; i < StepCount; i++) { density += calcDensity(...); } return calcColor(density); シェーダー内で ループ処理理… その為、 ⾼高速化が必要になります。
© Cygames, Inc. レイマーチ ⾼高速化 平⾯面雲における レイマーチの基本的な⾼高速化⼿手法は、 以下があります。 1.レイマーチの省省略略 2.ステップの早期終了了
3.ステップ回数の削減
© Cygames, Inc. レイマーチ ⾼高速化 1.レイマーチの省省略略 ⾼高速化前 合計は 0mol/L! 0
0 0 0 0
© Cygames, Inc. レイマーチ ⾼高速化 0 1.レイマーチの省省略略 ⾼高速化後 確実にレイが雲と衝突しない場合、 レイマーチを省省略略します。
合計は 0mol/L!
© Cygames, Inc. Raymarch ⾼高速化 2.ステップの早期終了了 ⾼高速化前 合計は 20mol/L! 1
3 6 2 8
© Cygames, Inc. レイマーチ ⾼高速化 2.ステップの早期終了了 ⾼高速化後 1 3 6
合計は 10mol/L! 雲密度度が充分濃い場合は、 ステップを早期終了了出来ます。
© Cygames, Inc. レイマーチ ⾼高速化 3.ステップ回数の削減 合計は 20mol/L! ⾼高速化前 1
3 6 2 8
© Cygames, Inc. レイマーチ ⾼高速化 3.ステップ回数の削減 合計は 19mol/L! 3.5 ステップ幅を拡⼤大することで、回数を削減出来ます。
ただし、測定結果の不不正確さが ⽐比例例することに注意してください。 ⾼高速化後 7.5 8
© Cygames, Inc. レイマーチ ⾼高速化 3.ステップ回数の削減 ステップ回数の削減とステップの早期終了了は、 併⽤用することも可能です。 ⾼高速化後 3.5
7.5 合計は 11mol/L!
© Cygames, Inc. レイマーチ – まとめ 平⾯面雲の形を決定し、 ライティングを⾏行行う為、 レイマーチにより、雲密度度を求めます。 ⾼高速化は必須です。
© Cygames, Inc. © Cygames, Inc. 平⾯面雲 おさらい
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. 平⾯面雲 – おさらい 雲は 液体または固体です。
© Cygames, Inc. 平⾯面雲 – おさらい 平⾯面雲は Perlin Worley
Volumetric Noise Texture で形作っています。 U
© Cygames, Inc. 平⾯面雲 – おさらい 平⾯面雲は ランベルト・ベールの法則 を⽤用いて ライティングしています。
© Cygames, Inc. 平⾯面雲 – おさらい 平⾯面雲は レイマーチ で 雲密度度を測定しています。
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. 平⾯面雲 まとめましたが…
© Cygames, Inc. 平⾯面雲 -‐‑‒ ⽣生じた課題 • ⼊入道雲は形に個性があり、 機械的に⽣生成される Volumetric
Noise Textureでは ⽣生成することが難しかった。 • 任意形状雲の研究が 別途必要に。 ⼊入道雲が表現出来ない!
© Cygames, Inc. © Cygames, Inc. 任意形状雲
None
© Cygames, Inc. 任意形状雲について •任意形状雲は • ボリュームのある雲も表現できる! • 形は簡単に変更更可能! •
カメラが雲の中に⼊入ることができる!
© Cygames, Inc. 任意形状雲
© Cygames, Inc. 形状の作成⽅方法 • 球体を結合させて作成 • 処理理が単純かつ⾼高速 • 雲の形を作りやすい
イメージ 結合した時になんとなく雲っぽい
© Cygames, Inc. 最初の雲 • 3Dテクスチャに形状を格納 • レイマーチで描画 • 平⾯面雲と⾒見見た⽬目に差異異が出る
• 拡縮などに弱い
© Cygames, Inc. 現在の雲 • 平⾯面雲と⾒見見た⽬目に 差異異が出ない • 拡縮にも強い
© Cygames, Inc. 雲の描画 〜~単体の場合〜~ 空間に⾒見見えない雲を充満 ↓ 雲を表⽰示したい場所に球体を定義 ↓ 球体内のみ密度度を収集して描画
© Cygames, Inc. ライティング 平⾯面雲と同じ 同じにすることで、 平⾯面雲と⼀一緒に表⽰示しても⾒見見た⽬目に違いが出ない!
© Cygames, Inc. 完成図 〜~単体の場合〜~
© Cygames, Inc. 雲の描画 〜~複数の場合〜~ • 視線⽅方向に 複数の雲が重なる • 雲同⼠士で
影を落落とす などを考慮する必要がある
© Cygames, Inc. 視線⽅方向に複数の雲が重なるので(1/2) 描画する雲の球体をリストアップ
© Cygames, Inc. 視線⽅方向に複数の雲が重なるので(2/2) 不不透明になった時点で終了了する Alpha 0.1 0.4 0.6 0.8
1.0 描画されない!
© Cygames, Inc. 雲同⼠士で影を落落とすために ライト⽅方向へも複数の雲を考慮する
© Cygames, Inc. 完成図 〜~複数の場合〜~
© Cygames, Inc. 完成図 〜~複数の場合〜~
© Cygames, Inc. 動的結合
© Cygames, Inc. 動的結合
© Cygames, Inc. 動的結合
© Cygames, Inc. 動的結合
© Cygames, Inc. 動的結合
© Cygames, Inc. 様々な形状を表現可能
© Cygames, Inc. 様々な形状を表現可能
© Cygames, Inc. © Cygames, Inc. 平⾯面雲と任意形状雲
© Cygames, Inc. ⼆二つの雲を合体
© Cygames, Inc. ⼆二つの雲を合体
© Cygames, Inc. 今後の課題 • ⾼高速化対応が必要 • よりグランブルーファンタジーらしく!
© Cygames, Inc. © Cygames, Inc.
© Cygames, Inc. 最後に 『最高の雲』を作り上げ 『最高のゲーム』へ
© Cygames, Inc. © Cygames, Inc. ご清聴ありがとうございました