SlideShare une entreprise Scribd logo
1  sur  102
Télécharger pour lire hors ligne
ScriptableRenderPipelineでアプリに最適な描画をしよう
2018/7/13
講演者名 黒河 優介
所属団体 Unity Technologies Japan
肩書・役職 Developer Relation Engineer
•
•
•
•
•
• Unity RenderPipeline
• ScriptableRenderPipeline(SRP)
•
※ ForwardRendering
Unity
•
•
• Shadow
Opaque
→ Depth Test
Transparent
→
Opaque
Opaque
Opaque
Opaque
Z-Buffer ZTest
Z-Test
Transparent
Transparent
Transparent
Transparent
• Camera Depth
• Renderer sortingLayerName
• Renderer sortingOrder
• MeshRenderer sortingOrder
• Material.renderQueue
地面の部分は3つのオブジェクトを描画後に描画して、塗るピクセル数を
減らしてほしいが、一番最初に描画されてしまっています。
これはRendererのBoundingBoxの中心位置で手前・奥の判定を行っている
ため、地面が一番手前と判定されてしまっています。
まず最初に三つのオブジェクトが描画されて…
その後に地面が描画されることが理想形です。
Unity
…
vertex
このようにポイントライト3つ
あるシーンを描画する場合…
まず、ポイントライト適応前の状態を描画します
その後、ポイントライト一つ一つ当たった状態のオブ
ジェクトを描画して加算合成していきます。
そのため余計な描画負荷を伴います
Point Light....
Shadow
Shadow
QualitySettings
Shadow …
Unity
ScriptableRenderPipeline(SRP)
• SRP
• LightWeightRenderPipeline(LWRP)
•
SRP
• Unity
SRP
•
•
• Shadow
•
SRP
// 描画時にコールバックされます。引数contextに対して描画命令を発行していきます
void OnRender(ScriptableRenderContext context, Camera[] cameras) {
foreach (var camera in cameras){
// まず Camera毎のShader のパラメーターセットアップして…
SetupShaderParams(camera);
// スクリプトで決めたルールでカリングをして…
var res = CullResults.Cull(ref cullingParams, context, ref cull);
// そしてカリングして得た Rendererを引数で指定したルールで描画します
context.DrawRenderers(res.visibleRenderers, ref settings, filterSettings);
}
}
SRP
1.RenderPipelineAsset/RenderPipeline
2. RenderPipelineAsset Asset
GraphicsSettings.renderPipelineAsset
3.Shader Renderpipeline
LightMode
1.
[ExecuteInEditMode]
public class MySRPAsset : RenderPipelineAsset{
protected override IRenderPipeline InternalCreatePipeline(){
return new MyScriptableRenderPipelineInstance();
}
}
public class MyScriptableRenderPipelineInstance : RenderPipeline{
// 描画のタイミングでコールバックされます
public override void Render(ScriptableRenderContext context, Camera[] cameras){
base.Render(context, cameras);
foreach (var camera in cameras){
// 描画処理をここに書いていきます
}
}
}
2-1. GraphicsSettings
var instance = ScriptableObject.CreateInstance<MySRPAsset>();
AssetDatabase.CreateAsset(instance, "Assets/MyScriptableRenderPipeline.asset");
上記のようなEditor拡張で、独自のRenderPipelineAsset
のアセットを作成します
2-2. GraphicsSettings
先ほど作成したRenderPipelineAssetを指定します
3. Shader
RenderPipeline Renderer ShaderPassName
Pass
Shader Pass LightMode
var settings = new DrawRendererSettings(camera, new ShaderPassName("BasicPass"));
settings.sorting.flags = SortFlags.CommonOpaque;
var filterSettings = new FilterRenderersSettings(true)
{
renderQueueRange = RenderQueueRange.opaque,
layerMask = 1 << LayerDefine.BG
};
context.DrawRenderers(cull.visibleRenderers, ref settings, filterSettings);
SubShader{
Tags { "Queue"=“Geometry" "RenderType"=“Opaque"}
Pass{
Tags { "LightMode" = "BasicPass"}
....処理等
}
}
C#側の処理
Shader側
var settings = new DrawRendererSettings(camera, new ShaderPassName("BasicPass"));
settings.sorting.flags = SortFlags.CommonOpaque;
var filterSettings = new FilterRenderersSettings(true)
{
renderQueueRange = RenderQueueRange.opaque,
layerMask = 1 << LayerDefine.BG
};
context.DrawRenderers(cull.visibleRenderers, ref settings, filterSettings);
SubShader{
Tags { "Queue"=“Geometry" "RenderType"=“Opaque"}
Pass{
Tags { "LightMode" = "BasicPass"}
....処理等
}
}
C#側の処理
Shader側 描画設定で指定したShaderPassNameと
ShaderのLightModeを一致させる必要が
あります。
SRP
SRP
Camera
ImageEffect
public class MyScriptableRenderPipelineInstance : RenderPipeline{
// 描画のタイミングでコールバックされます
public override void Render(ScriptableRenderContext context, Camera[] cameras){
base.Render(context, cameras);
foreach (var camera in cameras){
// 描画処理をここに書いていきます
}
// ImageEffect等の実装はココで実行されるようにする等が必要です
}
}
SRP
Surface Shader
SRP vertex shader / fragment shader
2018.1 ShaderGraph Shader
ScriptableRender Pipeline
LightWeightRenderPipeline(LWRP)
SRP 0
Unity
LightWeithRenderPipeline(LWRP)
HDRenderPipeline(HDRP)
LightWeightRenderPipeline(LWRP)
Unity (Built-In) RenderPipeline
LWRP URL
https://blogs.unity3d.com/jp/2018/02/21/the-lightweight-render-
pipeline-optimizing-real-time-performance/
LightWeightRenderPipeline(LWRP)
標準のレンダリングパイプラインで問題だったポイントライトの加算問題も
LWRPでは起こりません。ピクセルシェーダー側でキチンとポイントライトを
扱い1パスで描画されます
LWRP
• PackageManager
•
• github
•
https://github.com/Unity-Technologies/ScriptableRenderPipeline
PackageManager LWRP
LightweightRenderPipelineをInstall
するだけです
LWRP
• Shader LWRP
• Unity Shader Material
Editor
LWRP
• Shader LWRP
• LightMode LightweightForward
• ShadowMapTexture
Shadow
参考URL
https://connect.unity.com/p/lightweightrenderpipelinexiang-kenishaderwoshu-itemita
LWRP
• LightWeightRenderPipeline
• PostProcessingStack v2
• ShaderGraph
• Core RP
• [ShaderIncludePath]
• Stripping scriptable shader variants(2018.2 )
• SRP Batcher
[ShaderIncludePath]
• Unity Shader include
• Assets or
[ShaderIncludePath]
public class ShaderIncludePathSetting{
[ShaderIncludePath]
public static string[] GetPaths(){
return new[]{
"Assets/SRP/Core/",
"Assets/SRP/LightWeightPipeline/",
};
}
} Shader内のincludeをコチラからの相対パスで
指定できるようになります。
[ShaderIncludePath]
• Github LWRP
Shader ShaderIncludePath
Stripping scriptable shader variants
• Shader variants Shader
•
•
参考URL
https://blogs.unity3d.com/2018/05/14/stripping-scriptable-shader-variants/
Stripping scriptable shader variants
LWRP
• LWRP 2.0
Stripping scriptable shader variants
• LWRP 2.x Unity2018.1
• LWRP 2.0 Renderpipeline
SRP Batcher
• CPU
• Shader
• GPU
• 5
• DirectX11/Metal Experimental
2018.3 Vulkan Experimental
SRP Batcher
GraphicsSettings.useScriptableRenderPipelineBatching= true;
※LWRP/HDRP Unity CBuffer
SRP Batcher
DrawCall CPU
GPU
Material ConstantBuffer
Material CPU
SRP Batcher (RenderDoc )
SRP Batcher有効時 SRP Batcher無効時
SRP Batcher (RenderDoc )
SRP Batcher有効時 SRP Batcher無効時
ドローコール数や順番はSRP Batcherの有無で
は変わっていません。
SRP Batcher (RenderDoc )
SRP Batcher有効時 SRP Batcher無効時
実際に描画する前に行うShaderパラメーター
のセット周りの処理が異なっています
• 0 RenderPipeline
• LWRP RenderPipeline
0 RenderPipeline
キャラクターは板ポリゴンに
スプライトを貼っただけ
RenderPipeline …
RenderPipeline …
Transparentは奥から手前を
遵守します
RenderPipeline …
Materialの切り替えを都度しな
がら奥から手前へ描画します
RenderPipeline …
そのため、描画するのに非常に多くの
Material切り替えが発生しました
Material …
…
ScriptableRender Pipeline
…
var pass = new ShaderPassName("BasicPass");
var settings = new DrawRendererSettings(camera, pass);
settings.sorting.flags = SortFlags.CommonOpaque;
var filterSettings = new FilterRenderersSettings(true){
renderQueueRange = RenderQueueRange.transparent,
layerMask = 1 << LayerDefine.BG
};
context.DrawRenderers(cull.visibleRenderers,
ref settings,
filterSettings);
…
var pass = new ShaderPassName("BasicPass");
var settings = new DrawRendererSettings(camera, pass);
settings.sorting.flags = SortFlags.CommonOpaque;
var filterSettings = new FilterRenderersSettings(true){
renderQueueRange = RenderQueueRange.transparent,
layerMask = 1 << LayerDefine.BG
};
context.DrawRenderers(cull.visibleRenderers,
ref settings,
filterSettings);
描画する時のShaderのPass名
を指定できます
…
var pass = new ShaderPassName("BasicPass");
var settings = new DrawRendererSettings(camera, pass);
settings.sorting.flags = SortFlags.CommonOpaque;
var filterSettings = new FilterRenderersSettings(true){
renderQueueRange = RenderQueueRange.transparent,
layerMask = 1 << LayerDefine.BG
};
context.DrawRenderers(cull.visibleRenderers,
ref settings,
filterSettings);
描画する時のソート順を指
定できます
…
var pass = new ShaderPassName("BasicPass");
var settings = new DrawRendererSettings(camera, pass);
settings.sorting.flags = SortFlags.CommonOpaque;
var filterSettings = new FilterRenderersSettings(true){
renderQueueRange = RenderQueueRange.transparent,
layerMask = 1 << LayerDefine.BG
};
context.DrawRenderers(cull.visibleRenderers,
ref settings,
filterSettings);
描画する対象のオブジェクトの
Opaque・Transparent等を指定
できます。
…
var pass = new ShaderPassName("BasicPass");
var settings = new DrawRendererSettings(camera, pass);
settings.sorting.flags = SortFlags.CommonOpaque;
var filterSettings = new FilterRenderersSettings(true){
renderQueueRange = RenderQueueRange.transparent,
layerMask = 1 << LayerDefine.BG
};
context.DrawRenderers(cull.visibleRenderers,
ref settings,
filterSettings);
Layer単位で描画するオブジェクト
を切り替えられます。
Shader Z Pre-Pass
SubShader{
Tags { "Queue"="Transparent" "RenderType"="Transparent"}
// Z Pre-Pass
Pass{
Tags { "LightMode" = "ZPrepass"}
ZWrite On
ColorMask 0
//...実際の処理
}
// 実際の描画用のパス
Pass{
Tags { "LightMode" = "BasicPass"}
ZWrite Off
ZTest Equal
Blend SrcAlpha OneMinusSrcAlpha
//...実際の処理
}
}
SRP
Depth
αが一定値以下の場合はdiscard
して描画を行うShader Pass
「ZPrepass」で一旦キャラク
ターを描画します。
※Z Bufferの様子です
その後 床を描画します
キャラクターを通常のShaderPassで描画します。
この時、マテリアル切り替えを最小に抑える順番になるように
sorting.flagに「SortFlags.OptimizeStateChanges」を指定します
最後に影を描画します
Z Pre-Pass
※α …
Z BufferのZ値と一致した部分のピクセルでない
と、Zテストを通らず、ピクセルが塗られないた
め絵が破綻しません
Material
LWRP
背景からキャラクター。
キャラクターから背景への影
はリアルタイムShadowで、他
は焼いたShadowです。
LWRP
わかりやすくするため、
リアルタイムのShadowのみ青
くしました。
…
Shadow
→
Shadow
→
→
→
LWRP …
焼いたShadowの上からリアル
タイムのShadowも描いてしま
います
LWRP …
それを防ごうとすると、
キャラクターへのShadowが
なくなってしまいます
• Shadow
• Shadow
•
始めにキャラクターだけの
ShadowMapを生成します
キャラクターだけのShadowMapを
適応して背景を描きます
キャラクターだけのShadowMapに
背景オブジェクトも描き足します。
最後にキャラクターを描画します。
// 描画時にコールバックされます。引数contextに対して描画命令を発行していきます
void OnRender(ScriptableRenderContext context, Camera[] cameras) {
foreach (var camera in cameras){
// 「Chara」レイヤーだけ先にShadowを処理します
ShadowPass( 1 << Layers.Chara);
// 「Chara」レイヤー以外のオブジェクトをレンダリングします
DrawObjects( ~( 1<< Layers.Chara) );
// 「Chara」レイヤー以外のShadowを処理します
ShadowPass( ~( 1 << Layers.Chara) );
// 「Chara」レイヤーのオブジェクトだけをレンダリングします
DrawObjects( 1<< Layers.Chara );
}
}
通常では、SelfShadowが発
生してしまいます
今回の特殊パスを用いれば、
キャラクターのSelfShadowのみオフ
に出来ます
SRP ShadowPass
ScriptableRenderPipeline
•
•
• Shadow
• Unity LWRP
3
Appendix
0
https://github.com/wotakuro/CustomScriptRenderPipelineTest
LWRP
https://github.com/wotakuro/MixedShadowSample
SRP
https://connect.unity.com/u/5768a3b332b306001aaf2d1f

Contenu connexe

Tendances

【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~UnityTechnologiesJapan002
 
シリコンスタジオの最新テクノロジーデモ技術解説
シリコンスタジオの最新テクノロジーデモ技術解説シリコンスタジオの最新テクノロジーデモ技術解説
シリコンスタジオの最新テクノロジーデモ技術解説Silicon Studio Corporation
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-Tatsuya Iwama
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...エピック・ゲームズ・ジャパン Epic Games Japan
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...エピック・ゲームズ・ジャパン Epic Games Japan
 
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDマテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDエピック・ゲームズ・ジャパン Epic Games Japan
 
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?com044
 

Tendances (20)

UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
 
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
 
シリコンスタジオの最新テクノロジーデモ技術解説
シリコンスタジオの最新テクノロジーデモ技術解説シリコンスタジオの最新テクノロジーデモ技術解説
シリコンスタジオの最新テクノロジーデモ技術解説
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
 
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
 
猫でも分かるUMG
猫でも分かるUMG猫でも分かるUMG
猫でも分かるUMG
 
60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編
 
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
 
[GTMF2019] Python / BlueprintによるUnreal Engineの自動化
[GTMF2019] Python / BlueprintによるUnreal Engineの自動化[GTMF2019] Python / BlueprintによるUnreal Engineの自動化
[GTMF2019] Python / BlueprintによるUnreal Engineの自動化
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
 
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
 
UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編
 
UE4の色について v1.1
 UE4の色について v1.1 UE4の色について v1.1
UE4の色について v1.1
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
 
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem 猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
 
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDマテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
 
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
 
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
 

Similaire à 【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう

【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしよう【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしようUnity Technologies Japan K.K.
 
AGA_CVPR2017
AGA_CVPR2017AGA_CVPR2017
AGA_CVPR2017nonane
 
プログラム説明 kgPhotonMapping v0-1-0
プログラム説明 kgPhotonMapping v0-1-0プログラム説明 kgPhotonMapping v0-1-0
プログラム説明 kgPhotonMapping v0-1-0Takahiro KOGUCHI
 
Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]MakotoItoh
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Google Cloud Platform - Japan
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜Taro Matsuzawa
 
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」Sho Kagami
 
Structured Light 技術俯瞰
Structured Light 技術俯瞰Structured Light 技術俯瞰
Structured Light 技術俯瞰Teppei Kurita
 
RenderTextureの正しいα値は?
RenderTextureの正しいα値は?RenderTextureの正しいα値は?
RenderTextureの正しいα値は?KLab Inc. / Tech
 
財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニングRyoji Yanashima
 
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座Silicon Studio Corporation
 
Houdini study rev01_slide_data
Houdini study rev01_slide_dataHoudini study rev01_slide_data
Houdini study rev01_slide_dataMasato Tsuzuki
 
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆5mingame2
 
制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)dena_study
 

Similaire à 【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう (17)

【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしよう【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしよう
 
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらいCEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
 
AGA_CVPR2017
AGA_CVPR2017AGA_CVPR2017
AGA_CVPR2017
 
プログラム説明 kgPhotonMapping v0-1-0
プログラム説明 kgPhotonMapping v0-1-0プログラム説明 kgPhotonMapping v0-1-0
プログラム説明 kgPhotonMapping v0-1-0
 
UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!
 
Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
 
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
 
Structured Light 技術俯瞰
Structured Light 技術俯瞰Structured Light 技術俯瞰
Structured Light 技術俯瞰
 
RenderTextureの正しいα値は?
RenderTextureの正しいα値は?RenderTextureの正しいα値は?
RenderTextureの正しいα値は?
 
財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング
 
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
 
Houdini study rev01_slide_data
Houdini study rev01_slide_dataHoudini study rev01_slide_data
Houdini study rev01_slide_data
 
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
 
制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)
 

Plus de Unity Technologies Japan K.K.

建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】Unity Technologies Japan K.K.
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!Unity Technologies Japan K.K.
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnity Technologies Japan K.K.
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようUnity Technologies Japan K.K.
 
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - UnityステーションUnity Technologies Japan K.K.
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうUnity Technologies Japan K.K.
 
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!Unity Technologies Japan K.K.
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】Unity Technologies Japan K.K.
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity Technologies Japan K.K.
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発Unity Technologies Japan K.K.
 
FANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますFANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますUnity Technologies Japan K.K.
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021Unity Technologies Japan K.K.
 
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】Unity Technologies Japan K.K.
 
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Unity Technologies Japan K.K.
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るUnity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unity Technologies Japan K.K.
 

Plus de Unity Technologies Japan K.K. (20)

建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
 
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
 
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
FANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますFANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えます
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021
 
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
 
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
 
徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】
 
徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
 
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-
 

【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう