SlideShare a Scribd company logo
Amplify Shader Editorを使った
LWRP対応について
伊藤 和樹
プロフィール
2017年より前職にて
初内製の新規タイトルの開発に従事
システム周りをメインにAssetBundleなどを担当
今年7月より別の会社に転職
新規開発中タイトルのLWRP対応などを担当中
1
アジェンダ
• LWRP(Lightweight Render Pipeline)とは
• LWRPの導入
• ASE(Amplify Shader Editor)でLWRP対応シェーダを作るには
• ASEでLWRP対応のカスタムテンプレートを作成する
• 既存マテリアルのシェーダ差し替え
2
LWRPとは
• Unity 2018.1より利用可能となったScriptable Render Pipeline
そのレンダーパイプラインのテンプレートの1つ
• ライティングやシェーディングに制限をかけるかわり
従来のレンダーパイプラインよりパフォーマンスの最適化がされている
3
LWRPの導入
4
Unity 2018から追加されたPackage Managerから
インストールするよ
5
・Render-pipelines.lightweight
・Render Pipeline Core Library をインストールします
6
ポストエフェクトを利用する場合は
Post Processing v2をPackage Managerからインストールしましょう
7
Post Processingも最新のプレビュー入れとけば大丈夫だろう
8
と思ってた時期が僕にもありました、、、
パッケージのバージョン相性問題
素直に最新版を入れたらポストエフェクトを使ってるシーンのUIが楽しい事になった(Android/iOS 実
機)
9
Unity 2018.2番台の場合RenderPipeline CoreとLWRPのバージョンが3.0.0に対して、
Post Processing v2のバージョンを2.0.10にする事でバグは解消した
10
11
12
13
バージョン相性問題にはかなり手を焼いたので気をつけてください!
Amplify Shader EditorでLWRP対応シェーダを作るには
14
AmplifyShaderEditor/Plugins/EditorResources/Templates/SRP/LWSRPTemplat
es.unitypackage
1. 専用テンプレートのパッケージをインポートする
2. パッケージと同じディレクトリに移動する
以上!
一部ASEバージョンのLWRP対応テンプレートの注意点
一部のバージョンのLightweightUnlitテンプレートで
InputSurfaceUnlit.hlslをincludeしていますが、
_MainTex ・ _Colorがプロパティ名で使用出来なくなります。 (InputSurfaceUnlit側で予約されている為)
弊害としてuGUIのimageに設定された画像を_MainTexに自動で当てはめると言った使い方が
出来なくなるのでUI向けシェーダ使ってる際に問題が出ます。
15
解決法
• InputSurfaceUnlitのincludeを削除する
Amplify Shaderでシェーダを制作する際に使わない関数の集まりとなっているので、
削除しても問題ありません。(最新verのASEではシレッと削除されています)
16
さて、シェーダ作ろうか。
17
ん?LWRP対応のテンプレートがPBRとUnlitしかない
ぞ
18
ライティングを反映させたければPBR使わんとならん、、、
19
うわァァァァァァァァァ
何の為Lightweightなんだよぉぉぉぉ
20
という事で、テンプレート作りましょう
21
ASEでLWRP対応のカスタムテンプレートを作成する
22
AmplifyShaderEditor/Plugins/EditorResources/Templates
ここより下に作ればおk
PBRとUnlitのテンプレートをベースに改造してくと作りやすいと思います
23
Amplify Shaderのwiki
http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Templates
ASEのカスタムノードを作成する
Scriptable Render PipelineではUnityCG.cgincが使えない為、
いくつかのノードが使えないので、対応したカスタムノードを作って対応します。
• 使用出来なくなるノード
Shade Vertex Light
PI
Blinn-Phong Lighting
Half Blinn-Phong Lighting
24
25
CommonInitとGenerateShaderForOutputをオーバーライドする事で作成可能
カスタムノードの実装例(LWRP対応Vertex Light)
既存マテリアルのシェーダ差し替え
手動だとヒューマンエラーも発生しやすいし
何より数が多いと死にます、
エディタ拡張しましょう。
26
27
Shader Util
https://docs.unity3d.com/ja/current/ScriptReference/ShaderUtil.html
まとめ
• LWRPとPost Processingにはバージョン間の相性問題があるぞ
• Amplify ShaderはCustom Template作って対応した方が良い
• 既存マテリアルへのシェーダ差し替えはエディタ拡張で行った方が良い
• シェーダ系のエディタ拡張を作る際はShaderUtilが便利
28
我々にはLWRPは早過ぎた。
29
うかつにプレビュー版の機能を取り入れるのはリスクが大きい
ご静聴ありがとうございました。
30

More Related Content

What's hot

AWS サービスアップデートまとめ 2014年5月
AWS サービスアップデートまとめ 2014年5月AWS サービスアップデートまとめ 2014年5月
AWS サービスアップデートまとめ 2014年5月
Yasuhiro Horiuchi
 
AWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメントAWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメント
Hiroyasu Suzuki
 
AWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップAWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップ
Hiroyasu Suzuki
 
AWSでスケールアウト&スケールアップ
AWSでスケールアウト&スケールアップAWSでスケールアウト&スケールアップ
AWSでスケールアウト&スケールアップ
Hiroyasu Suzuki
 
AWS サービスアップデートまとめ 2014年1月
AWS サービスアップデートまとめ 2014年1月AWS サービスアップデートまとめ 2014年1月
AWS サービスアップデートまとめ 2014年1月
Yasuhiro Horiuchi
 

What's hot (20)

負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット
 
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Amazon s3へのデータ転送における課題とその対処法を一挙紹介Amazon s3へのデータ転送における課題とその対処法を一挙紹介
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
 
Lambda Layerの権限制御を試してみた
Lambda Layerの権限制御を試してみたLambda Layerの権限制御を試してみた
Lambda Layerの権限制御を試してみた
 
AWS サービスアップデートまとめ 2014年5月
AWS サービスアップデートまとめ 2014年5月AWS サービスアップデートまとめ 2014年5月
AWS サービスアップデートまとめ 2014年5月
 
EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016 EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016
 
初めてのLambda(ラムダ)
初めてのLambda(ラムダ)初めてのLambda(ラムダ)
初めてのLambda(ラムダ)
 
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすかAWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
 
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
 
AWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメントAWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメント
 
EXTREME AWS
EXTREME AWSEXTREME AWS
EXTREME AWS
 
Let's join in OpsWorks world!
Let's join in OpsWorks world!Let's join in OpsWorks world!
Let's join in OpsWorks world!
 
AWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップAWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップ
 
歩みを止めないみんな大好きEC2
歩みを止めないみんな大好きEC2歩みを止めないみんな大好きEC2
歩みを止めないみんな大好きEC2
 
AWSサーバーレスをつかってハマったところ
AWSサーバーレスをつかってハマったところAWSサーバーレスをつかってハマったところ
AWSサーバーレスをつかってハマったところ
 
20140418 aws-casual-network
20140418 aws-casual-network20140418 aws-casual-network
20140418 aws-casual-network
 
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
 
AWSでスケールアウト&スケールアップ
AWSでスケールアウト&スケールアップAWSでスケールアウト&スケールアップ
AWSでスケールアウト&スケールアップ
 
AWS サービスアップデートまとめ 2014年1月
AWS サービスアップデートまとめ 2014年1月AWS サービスアップデートまとめ 2014年1月
AWS サービスアップデートまとめ 2014年1月
 
Behind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship ProgramBehind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship Program
 

Similar to AmplifyShaderEditorを使ったLWRP対応について

Similar to AmplifyShaderEditorを使ったLWRP対応について (8)

Spray intro
Spray introSpray intro
Spray intro
 
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメ
 
Scheme Interpreter in Ruby
Scheme Interpreter in RubyScheme Interpreter in Ruby
Scheme Interpreter in Ruby
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
 
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは
 
Talk: serverless-express
Talk: serverless-expressTalk: serverless-express
Talk: serverless-express
 
Android e2e testing at mercari
Android e2e testing at mercariAndroid e2e testing at mercari
Android e2e testing at mercari
 

Recently uploaded

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
 

Recently uploaded (8)

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
 
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
 
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 

AmplifyShaderEditorを使ったLWRP対応について