SlideShare a Scribd company logo
1 of 95
Download to read offline
ScriptableRenderPipelineでアプリに最適な描画をしよう
2018/6/27
講演者名 黒河 優介
所属団体 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 )
[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
• 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
Appendix
0
https://github.com/wotakuro/CustomScriptRenderPipelineTest
LWRP
https://github.com/wotakuro/MixedShadowSample
SRP
https://connect.unity.com/u/5768a3b332b306001aaf2d1f

More Related Content

What's hot

Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unity Technologies Japan K.K.
 
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話Unity Technologies Japan K.K.
 
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントそれを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントMakoto Goto
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解したtorisoup
 
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?historia_Inc
 
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -Takehito Gondo
 
そう、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編>エピック・ゲームズ・ジャパン Epic Games Japan
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~ProjectAsura
 
Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理torisoup
 
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介torisoup
 
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作UnityTechnologiesJapan002
 
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発Hirohito Morinaga
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -historia_Inc
 
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なことhistoria_Inc
 
GCC2016 ゲームエフェクト制作の現状報告
GCC2016 ゲームエフェクト制作の現状報告GCC2016 ゲームエフェクト制作の現状報告
GCC2016 ゲームエフェクト制作の現状報告t h
 
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニックUnityTechnologiesJapan002
 

What's hot (20)

Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
 
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話
 
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントそれを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
 
UE4におけるレベル制作事例
UE4におけるレベル制作事例  UE4におけるレベル制作事例
UE4におけるレベル制作事例
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
【出張ヒストリア2017】新しいUnreal AudioEngineでインタラクティブサウンドコンテンツはどこまでつくれるか!?
 
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
 
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 
そう、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編>
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
 
Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理
 
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
 
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
 
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
 
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと
 
GCC2016 ゲームエフェクト制作の現状報告
GCC2016 ゲームエフェクト制作の現状報告GCC2016 ゲームエフェクト制作の現状報告
GCC2016 ゲームエフェクト制作の現状報告
 
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
 
日本一詳しい人が教えるUE4
日本一詳しい人が教えるUE4日本一詳しい人が教えるUE4
日本一詳しい人が教えるUE4
 
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらいCEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
 

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

【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしようUnity Technologies Japan K.K.
 
Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]MakotoItoh
 
Kobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテルKobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテルtnoda
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するTakahito Tejima
 
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
 
php5-gd で画像を弄る話
php5-gd で画像を弄る話php5-gd で画像を弄る話
php5-gd で画像を弄る話Yo Ya
 
シリコンスタジオの最新テクノロジーデモ技術解説
シリコンスタジオの最新テクノロジーデモ技術解説シリコンスタジオの最新テクノロジーデモ技術解説
シリコンスタジオの最新テクノロジーデモ技術解説Silicon Studio Corporation
 
勉強会20140319 rspec_capybara
勉強会20140319 rspec_capybara勉強会20140319 rspec_capybara
勉強会20140319 rspec_capybaraShugo Numano
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用Seiya Tokui
 
シェーダー伝道師 第一回
シェーダー伝道師 第一回シェーダー伝道師 第一回
シェーダー伝道師 第一回hixi365
 
AGA_CVPR2017
AGA_CVPR2017AGA_CVPR2017
AGA_CVPR2017nonane
 
Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用nmaro
 
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆5mingame2
 
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D ReasoningSoft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D ReasoningKohei Nishimura
 
Scalatronで楽しく学ぶ関数型プログラミング
Scalatronで楽しく学ぶ関数型プログラミングScalatronで楽しく学ぶ関数型プログラミング
Scalatronで楽しく学ぶ関数型プログラミングJun Saito
 
Houdini study rev01_slide_data
Houdini study rev01_slide_dataHoudini study rev01_slide_data
Houdini study rev01_slide_dataMasato Tsuzuki
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!Yuichi Higuchi
 
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!エピック・ゲームズ・ジャパン Epic Games Japan
 
Direct xとopenglの隠蔽実装例
Direct xとopenglの隠蔽実装例Direct xとopenglの隠蔽実装例
Direct xとopenglの隠蔽実装例tecopark
 

Similar to 【GTMF2018OSAKA】ScriptableRenderPipelineでアプリに最適な描画をしよう (20)

【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう
 
Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]
 
Kobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテルKobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテル
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
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」
 
php5-gd で画像を弄る話
php5-gd で画像を弄る話php5-gd で画像を弄る話
php5-gd で画像を弄る話
 
シリコンスタジオの最新テクノロジーデモ技術解説
シリコンスタジオの最新テクノロジーデモ技術解説シリコンスタジオの最新テクノロジーデモ技術解説
シリコンスタジオの最新テクノロジーデモ技術解説
 
勉強会20140319 rspec_capybara
勉強会20140319 rspec_capybara勉強会20140319 rspec_capybara
勉強会20140319 rspec_capybara
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
 
シェーダー伝道師 第一回
シェーダー伝道師 第一回シェーダー伝道師 第一回
シェーダー伝道師 第一回
 
AGA_CVPR2017
AGA_CVPR2017AGA_CVPR2017
AGA_CVPR2017
 
UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!
 
Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用
 
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
 
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D ReasoningSoft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
 
Scalatronで楽しく学ぶ関数型プログラミング
Scalatronで楽しく学ぶ関数型プログラミングScalatronで楽しく学ぶ関数型プログラミング
Scalatronで楽しく学ぶ関数型プログラミング
 
Houdini study rev01_slide_data
Houdini study rev01_slide_dataHoudini study rev01_slide_data
Houdini study rev01_slide_data
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!
 
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!
 
Direct xとopenglの隠蔽実装例
Direct xとopenglの隠蔽実装例Direct xとopenglの隠蔽実装例
Direct xとopenglの隠蔽実装例
 

More from 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.
 

More from 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ティーチャートレーニングデイ -認定アソシエイト編-
 

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