SlideShare a Scribd company logo
1 of 14
実行時のライトベイクを
Shaderでやってみる
Unity Technologies Japan
Developer Relation Manager / Engineer
黒河 優介
なぜそんな事をやろうと思った?
• UnityのForward環境では 処理出来る光源に制限がある
• DeferredはモバイルやVRだと重いので…
• Editor上でBakeだと、ランダムマップ生成などが実現できない
→そうだ、実行時にライトのベイクをしよう!!!
ランタイムベイクのアイディア
通常のモデル
+ →
ライトの影響度
ライトの影響を
受けたモデル
※Unityちゃんを例にあげているが、背景など動かないオブジェクトでの利用を想定
今回の話
+ →
今回の話は、ここをShaderで作成してみる話
ライトの影響度を作るとは…
色々なアングルから見ても破たんしないようにする
必要がある
ライトの影響度を作るとは…
Texture UV展開されたModel
→ModelのUV座標を使って展開
ライトの影響度を作るとは…
→ModelのUV座標を使って展開
今回作らなければならないのはこのTexture
まずは、Shaderのおさらいから
Vertex Shader Fragment Shader
3D空間にある各頂点が2D
画面上のどの座標に位
置するかを計算する。
2D画面上で表示する色
を計算する
質感を出すなどは大体こ
ちらで行われるため、
Shaderの話になるとコチラ
がメインになりがち
どうやって、Textureを作るのか…
1.RenderTextureをProgramで作成して、それ
に対して描画すれば出来そう
3.あとは オブジェクトの位置、ライトの情
報、法線情報を元にfragmentshaderで頑張
る
2.VertexShaderでUV情報のみ利用すれば展
開図は出来そう
通常VertexShaderでやっている事をおさらい
Modelの
各頂点座標一覧
Objectの位置情報
カメラの情報
Vertex Shader
各頂点が、画面上のドコに表示されるかは
Vertex Shaderの計算で決定される
今回のTexture生成でのVertexShader
Modelの各頂点
ライトマップ用UV
座標
Vertex Shader
ライトマップ用のUV座標のみを使う事で、もともとの
UV展開用のTextureに各頂点をマッピングできる
どこがどの位ライトの影響を受けるかは
FragmentShaderを頑張って書く!!
ベイクしている様子のイメージ
点光源のみ対応
プロジェクトはコチラ https://github.com/wotakuro/PrebakeSystem
結局、何が言いたかったかというと…
・Shaderというと質感を出すためのものというイメージが強く
fragmentshader(pixel shader)の話がメインになりがち
・VertexShaderを使う事で幅が広がるというのが今回のお話でし
たかった

More Related Content

What's hot

What's hot (20)

【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
 
Mixed Reality Toolkit V2.2.0のMobile対応について
Mixed Reality Toolkit V2.2.0のMobile対応についてMixed Reality Toolkit V2.2.0のMobile対応について
Mixed Reality Toolkit V2.2.0のMobile対応について
 
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!
 
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
 
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
 
Mixed Reality関連のSDKの状況を調べてみた
Mixed Reality関連のSDKの状況を調べてみたMixed Reality関連のSDKの状況を調べてみた
Mixed Reality関連のSDKの状況を調べてみた
 
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみようUIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
 
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTipsUnityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
 
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみただんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
 
シーケンサーの使い方と映像基礎
シーケンサーの使い方と映像基礎シーケンサーの使い方と映像基礎
シーケンサーの使い方と映像基礎
 
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」についてXRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
 
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニックAzure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
 
Azure Remote Renderingを試す
Azure Remote Renderingを試すAzure Remote Renderingを試す
Azure Remote Renderingを試す
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
 
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
 
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
 
World Locking Toolについて
World Locking ToolについてWorld Locking Toolについて
World Locking Toolについて
 
【Unity道場スペシャル 2017博多】無料アニメーションツールAnima2Dを使ってみよう
【Unity道場スペシャル 2017博多】無料アニメーションツールAnima2Dを使ってみよう【Unity道場スペシャル 2017博多】無料アニメーションツールAnima2Dを使ってみよう
【Unity道場スペシャル 2017博多】無料アニメーションツールAnima2Dを使ってみよう
 
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
 

Viewers also liked

Villar del Arzobispo
Villar del ArzobispoVillar del Arzobispo
Villar del Arzobispo
comeniusfine
 
сухарвеа н9аchristmas in
сухарвеа н9аchristmas inсухарвеа н9аchristmas in
сухарвеа н9аchristmas in
Lilia Ayatskova
 
презентация Microsoft power point
презентация Microsoft power pointпрезентация Microsoft power point
презентация Microsoft power point
Lilia Ayatskova
 
Welcome to TNR
Welcome to TNRWelcome to TNR
Welcome to TNR
NinjaRep
 
Quantitative learning
Quantitative learningQuantitative learning
Quantitative learning
drmccreedy
 
T5 vocab la comida
T5 vocab la comidaT5 vocab la comida
T5 vocab la comida
as434128mhs
 
Presentazione Training Meta
Presentazione Training MetaPresentazione Training Meta
Presentazione Training Meta
Trainingmeta
 
Reading and studying
Reading and studyingReading and studying
Reading and studying
drmccreedy
 

Viewers also liked (20)

Moverio+unityで始めるarグラスアプリ開発
Moverio+unityで始めるarグラスアプリ開発Moverio+unityで始めるarグラスアプリ開発
Moverio+unityで始めるarグラスアプリ開発
 
一般的なチートの手法と対策について
一般的なチートの手法と対策について一般的なチートの手法と対策について
一般的なチートの手法と対策について
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!
 
Samantha y paula
Samantha y paulaSamantha y paula
Samantha y paula
 
Villar del Arzobispo
Villar del ArzobispoVillar del Arzobispo
Villar del Arzobispo
 
Google glass and journalism
Google glass and journalismGoogle glass and journalism
Google glass and journalism
 
сухарвеа н9аchristmas in
сухарвеа н9аchristmas inсухарвеа н9аchristmas in
сухарвеа н9аchristmas in
 
Coherence in english
Coherence in englishCoherence in english
Coherence in english
 
презентация Microsoft power point
презентация Microsoft power pointпрезентация Microsoft power point
презентация Microsoft power point
 
Clase 5
Clase 5Clase 5
Clase 5
 
Chore keynote
Chore keynoteChore keynote
Chore keynote
 
Welcome to TNR
Welcome to TNRWelcome to TNR
Welcome to TNR
 
Quantitative learning
Quantitative learningQuantitative learning
Quantitative learning
 
Taxes 2011 122211
Taxes 2011 122211Taxes 2011 122211
Taxes 2011 122211
 
Esol day of action
Esol day of actionEsol day of action
Esol day of action
 
T5 vocab la comida
T5 vocab la comidaT5 vocab la comida
T5 vocab la comida
 
Presentazione Training Meta
Presentazione Training MetaPresentazione Training Meta
Presentazione Training Meta
 
Peter and paul fortress
Peter and paul fortressPeter and paul fortress
Peter and paul fortress
 
P2BK 6 presentation vol. 2.0
P2BK 6 presentation vol. 2.0P2BK 6 presentation vol. 2.0
P2BK 6 presentation vol. 2.0
 
Reading and studying
Reading and studyingReading and studying
Reading and studying
 

Similar to 実行時ライトベイクをShaderでやってみた

20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability Seminar
Visso株式会社
 
Android開発者とデザイナーの効率的な連携について
Android開発者とデザイナーの効率的な連携についてAndroid開発者とデザイナーの効率的な連携について
Android開発者とデザイナーの効率的な連携について
lychee .
 
ITエンジニアに易しいUI/UXデザイン
ITエンジニアに易しいUI/UXデザインITエンジニアに易しいUI/UXデザイン
ITエンジニアに易しいUI/UXデザイン
Roy Kim
 
【Unite2014】誰でも出来る!MayaLTを使ったUnityアセット制作ワークフロー
【Unite2014】誰でも出来る!MayaLTを使ったUnityアセット制作ワークフロー【Unite2014】誰でも出来る!MayaLTを使ったUnityアセット制作ワークフロー
【Unite2014】誰でも出来る!MayaLTを使ったUnityアセット制作ワークフロー
cfm_art
 

Similar to 実行時ライトベイクをShaderでやってみた (20)

UE4セミナー 資料
UE4セミナー 資料UE4セミナー 資料
UE4セミナー 資料
 
第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座
 
初めてのVR/AR開発をUnityで
初めてのVR/AR開発をUnityで初めてのVR/AR開発をUnityで
初めてのVR/AR開発をUnityで
 
ロボコンの為のFusion360講座 vol2.レンダリング編
ロボコンの為のFusion360講座 vol2.レンダリング編ロボコンの為のFusion360講座 vol2.レンダリング編
ロボコンの為のFusion360講座 vol2.レンダリング編
 
[書籍紹介] 無料ではじめるWindows Azure×WordPress超入門(インプレスジャパン) - 著者:戸倉彩
[書籍紹介] 無料ではじめるWindows Azure×WordPress超入門(インプレスジャパン) - 著者:戸倉彩[書籍紹介] 無料ではじめるWindows Azure×WordPress超入門(インプレスジャパン) - 著者:戸倉彩
[書籍紹介] 無料ではじめるWindows Azure×WordPress超入門(インプレスジャパン) - 著者:戸倉彩
 
【Unity道場スペシャル 2018仙台】Unityでステージをつくるのじゃ
【Unity道場スペシャル 2018仙台】Unityでステージをつくるのじゃ【Unity道場スペシャル 2018仙台】Unityでステージをつくるのじゃ
【Unity道場スペシャル 2018仙台】Unityでステージをつくるのじゃ
 
20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability Seminar
 
Unity道場08 Unityとアセットツールで学ぶ 「絵づくり」の基礎 ライティング 虎の巻
Unity道場08 Unityとアセットツールで学ぶ「絵づくり」の基礎 ライティング虎の巻Unity道場08 Unityとアセットツールで学ぶ「絵づくり」の基礎 ライティング虎の巻
Unity道場08 Unityとアセットツールで学ぶ 「絵づくり」の基礎 ライティング 虎の巻
 
アートステージについて
アートステージについてアートステージについて
アートステージについて
 
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
 
Android開発者とデザイナーの効率的な連携について
Android開発者とデザイナーの効率的な連携についてAndroid開発者とデザイナーの効率的な連携について
Android開発者とデザイナーの効率的な連携について
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
 
Unity/CSharp 3
Unity/CSharp 3Unity/CSharp 3
Unity/CSharp 3
 
Webデザイナーとadobe 0312
Webデザイナーとadobe 0312Webデザイナーとadobe 0312
Webデザイナーとadobe 0312
 
01 idea table3.0
01 idea table3.001 idea table3.0
01 idea table3.0
 
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETCGREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETC
 
ITエンジニアに易しいUI/UXデザイン
ITエンジニアに易しいUI/UXデザインITエンジニアに易しいUI/UXデザイン
ITエンジニアに易しいUI/UXデザイン
 
Practical ux4publish
Practical ux4publishPractical ux4publish
Practical ux4publish
 
【Unite2014】誰でも出来る!MayaLTを使ったUnityアセット制作ワークフロー
【Unite2014】誰でも出来る!MayaLTを使ったUnityアセット制作ワークフロー【Unite2014】誰でも出来る!MayaLTを使ったUnityアセット制作ワークフロー
【Unite2014】誰でも出来る!MayaLTを使ったUnityアセット制作ワークフロー
 

More from 優介 黒河 (8)

Looking glasslt4 kurokawa
Looking glasslt4 kurokawaLooking glasslt4 kurokawa
Looking glasslt4 kurokawa
 
Looking glass + videoplayer
Looking glass + videoplayerLooking glass + videoplayer
Looking glass + videoplayer
 
Looking glassrenderinglt en
Looking glassrenderinglt enLooking glassrenderinglt en
Looking glassrenderinglt en
 
LookingGlass RenderingOptimizePlan(JP)
LookingGlass RenderingOptimizePlan(JP)LookingGlass RenderingOptimizePlan(JP)
LookingGlass RenderingOptimizePlan(JP)
 
PHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしようPHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしよう
 
Unityで炎上から身を守る方法
Unityで炎上から身を守る方法Unityで炎上から身を守る方法
Unityで炎上から身を守る方法
 
ウェアラブル勉強会 東京#2
ウェアラブル勉強会 東京#2ウェアラブル勉強会 東京#2
ウェアラブル勉強会 東京#2
 
未来ガジェットMoverioを手に入れたぞ
未来ガジェットMoverioを手に入れたぞ未来ガジェットMoverioを手に入れたぞ
未来ガジェットMoverioを手に入れたぞ
 

Recently uploaded

Recently uploaded (10)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

実行時ライトベイクをShaderでやってみた