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
14k
グランブルーファンタジー『Project Re:LINK』におけるリアルタイム雲表現の研究と技術紹介!
2017/02/18 GAME CREATORS CONFERENCE'17
Cygames
February 23, 2017
Tweet
Share
More Decks by Cygames
See All by Cygames
最高のアートワークを発信する『Cygames展 Artworks』企画制作事例
cygames
0
21
社内にバーチャルスタッフ!?「スイちゃん」のキャラクターデザインと施策の広げ方の秘訣
cygames
0
74
全高3m超のバハムート像がスマホを通して躍動する! ~『Cygames展 Artworks』ARコンテンツの開発プロセスと実装~
cygames
0
12
最高の資料を目指すために!社内フリーイラスト制作チームの取り組みについて
cygames
0
83
「生きているモーション」を作り出すCygamesのモーションキャプチャー
cygames
0
48
『Cygames展 Artworks』におけるShadowverseデジタルサイネージ制作事例
cygames
0
21
『GRANBLUE FANTASY: Relink』 原作の世界観に没入するステージの絵作り
cygames
0
25
『GRANBLUE FANTASY: Relink』イラストを再現する為のキャラクターモデル制作事例
cygames
0
39
『GRANBLUE FANTASY: Relink』キャラクターの魅力を支えるリグ制作事例
cygames
0
36
Other Decks in Technology
See All in Technology
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
3
700
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
200
MasterMemory v3 最速確認会
yucchiy
0
260
「完全に理解したTalk」完全に理解した
segavvy
1
230
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
39k
ZOZOTOWN の推薦における KPI モニタリング/KPI monitoring for ZOZOTOWN recommendations
rayuron
1
230
20240513 - 框裡框外_文學院學生如何在AI世代安身立命 @ 淡江大學
dpys
0
500
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
540
The key to VCP-VCF
mirie_sd
0
110
OPENLOGI Company Profile
hr01
0
57k
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
150
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
230
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Site-Speed That Sticks
csswizardry
2
210
Mobile First: as difficult as doing things right
swwweet
222
9k
Fireside Chat
paigeccino
34
3.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
A better future with KSS
kneath
238
17k
Designing for humans not robots
tammielis
250
25k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
470
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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. ご清聴ありがとうございました