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
unity1week online 共有会 #9 「暗闇の中の光と音」
Search
kugi
October 01, 2022
Programming
0
120
unity1week online 共有会 #9 「暗闇の中の光と音」
https://unityroom.com/games/glow_in_the_dark
kugi
October 01, 2022
Tweet
Share
More Decks by kugi
See All by kugi
WebGPUTracer / RayTracingCamp9
kugimasa
0
370
WebGPUに触れてみた
kugimasa
0
1.1k
FluorSwitch / RayTracingCamp8
kugimasa
0
1.2k
unity1week online 共有会 #6 「継続は力なり」
kugimasa
0
27
日常4コマ -kugi日記-
kugimasa
1
90
unity1week online 共有会 #4 「作り込みのための引き出し by NOAちゃんファンクラブ」
kugimasa
0
95
Agileなラクダたちの道のり
kugimasa
0
95
カニをハックしてみた
kugimasa
0
1.3k
HU hackathon online 2020 オープニング
kugimasa
0
28
Other Decks in Programming
See All in Programming
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
430
Code Reviews
bkuhlmann
4
890
"config" ってなんだ? / What is "config"?
okashoi
0
250
PHPはいつから死んでいるかの調査
chiroruxx
2
410
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
560
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
1
330
GitHub Copilotのススメ
marcy731
1
210
Polars入門
daikikatsuragawa
1
160
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
300
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
3
310
Featured
See All Featured
How GitHub (no longer) Works
holman
305
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.7k
Facilitating Awesome Meetings
lara
43
5.6k
Making Projects Easy
brettharned
109
5.5k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Adopting Sorbet at Scale
ufuk
69
8.6k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
For a Future-Friendly Web
brad_frost
172
9k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Transcript
暗闇の中の光と音 kugi(@kugi_masa) unity1week online共有会 #9
プロフィール kugi @kugi_masa 新卒2年目 ゲームプログラマ 趣味は4コマ漫画と壁登り アザラシを偽ったセイウチ
私と unity1week 「さがす」 アニマルハンター 「密」 蜜蜂 Cluster Bee 「ふえる」 Groundwater
「あける」 すきすきスキマん 「回」 NOA’s Project 「2」 Kani と Uni 「ちゅう」 诺亚的任务 「正」 正座ネコ 「そろえる」 Fxxxin Fashion Club 合計9回参加 うち4回共同開発
今回のゲーム ヒカリを集めてゴールを目指すゲーム サウンド制作:NaTsu Beats Glo t Dak
アイディアの出発点 蓄光(燐光) 物質が光を吸収し、 その吸収したエネルギーによって 光を発光する現象 腐敗した生物から生じた黄リンが酸化する際に 青白い光を発したことから燐光と呼ばれる
ヒカリを「ためる」 ヒカリを吸収して(ためて)、 その吸収した(ためた)エネルギーによって 発光するゲーム 物質が光を吸収し、 その吸収したエネルギーによって 光を発光する現象
エネルギーの吸収と消費 ヒカリの粒子 ヒカリのカーテン エネルギーの吸収方法
エネルギーの吸収と消費 ためたエネルギーで移動 発光度合いが変化 エネルギー消費によるアクション エネルギーは運動量 エネルギーは光量
サウンドについて NaTsuさんが1つの曲を作曲し、それを3つに分解 エネルギーは音数 ① ② ③ ② エネルギーの割合に応じて 再生するトラック数を増やす ①
② ③
サウンドについて 自然な切り替わりにするための試み • 再生位置を同期させるため、3つのAudioSourceを同時に再生 • エネルギー段階が切り替わるタイミングで各AudioSourceの音量を調整 • 切り替え時は線形補間で調整 E ①
② ③ ① ② ③
表現したいもの • ためたエネルギーが別のモノに伝搬していく様子 ◦ 移動による探索 ◦ 発光表現 ◦ 音楽の盛り上がり •
暗闇の中で儚く消えていきそうだけど発光する光 • 暗いけど暖かさを感じられる空間 • 蓄光材質の質感
儚さの表現 • 移動する力を失い停止 • 発光の消滅 • サウンドも無音に エネルギーがある状態との差をつける カメラ演出、光の減衰、音量 さまざまな部分でイージング関数を使用
線形補間よりも余韻に浸れた イージング関数チートシート
蓄光材質の質感 表面下散乱(サブサーフェススキャッタリング) 物質の内部に入り込んだ光が散乱され、その光が物質の表面に放出される 表面での光の反射 表面下散乱
表面下散乱を擬似的に表現 Fast Subsurface scattering shader in Unity URP for mobile
by Enrique Ventura 仮想的な光源方向 光源方向 視線方向
今回のゲーム用に改変 • ゲーム画面はほとんど真上からの視点 • 暗闇のため、強めのディレクショナルライトは設置したくない カメラの後方に光源があると仮定して シーン上のライト方向ではなく、カメラ方向で代用 照り返しは真上にポイントライトを設置
マップ作成 ヒカリの粒子の配置 Unityをもっと使いやすく!Unityカイゼン委員会! - Unityステーション by Unity Japan • 数値フィールドで数学関数を用いる機能
• 数学の力を借りる ◦ 「美しい曲線」で検索 x=(1+cos(5*2*pi*#/25))*cos(2*pi*#/25) z=(1+cos(5*2*pi*#/25))*sin(2*pi*#/25)
ライティング設定 ライトマップとライトプローブのベイク • カーテン位置にポイントライト、エリアライトを設置しベイク ◦ ベイクに時間がかかるため、テスト時はライトマップサイズを抑える ◦ 周辺にライトプローブを設置 • 粒子は触れると消えるため、ベイクせずポストプロセス(Bloom)のみ
• 影については基本的にオフ HIGH QUALITY LIGHTING using Light Probes - Unity Tutorial by Brackeys
改善点 • ライティング調整 ◦ 発光度合いが強すぎるヒカリのカーテン • BGMに馴染むSE • クリアタイムによるスコア ◦
ゆったりとした音楽や空間とは裏腹に、 焦らせてしまうタイム表示 ◦ ヒカリの粒子を取りたくなる反面、 いかに省エネできるかになってしまった ◦ そもそもスコア自体不要だったかもしれない
まとめ • 現実世界の現象から着想を得てゲームを作った • 表現したいものを詰め込むことができた • 夫婦で共同制作できた Glow in the
Dark / relaxing music by NaTsu Beats フルバージョンの曲も是非聞いてみてください!
Tha y o lni!
参考文献 • Glow in the Dark • イージング関数チートシート • Fast
Subsurface scattering shader in Unity URP for mobile • Unityをもっと使いやすく!Unityカイゼン委員会! - Unityステーション • Unity 2021.2で強化されたインスペクターの数式機能や、複数要素選択時の線形配置機能について • HIGH QUALITY LIGHTING using Light Probes - Unity Tutorial • Glow in the Dark / relaxing music