Dressing Room のような Unity プロジェクトを作成しています。基本的な機能は、gameobj (靴など) の生地を変更することです。プレイヤーがgameobjを選択したときにアウトライン効果を実現したいので、ソースシェーダーをアウトラインシェーダーに変更するとうまくいくことがわかりました。ただし、ソース シェーダーには法線マップとライトマップのプロパティがあり、アウトライン シェーダーには次のものしかありません。
Shader "Outlined/Silhouetted Diffuse" {
Properties {
_Color ("Main Color", Color) = (.0,.0,.0,0)
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
_Outline ("Outline width", Range (0.0, 0.03)) = .01
_MainTex ("Base (RGB)", 2D) = "white" { }
}
そのため、シェーダーが変更されると、ライトマップと法線マップのプロパティが同時に失われます。これら 2 つのプロパティをアウトライン シェーダーに追加する方法がわかりません。
Shader "Outlined/Silhouetted Diffuse" {
Properties {
_Color ("Main Color", Color) = (.0,.0,.0,0)
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
_Outline ("Outline width", Range (0.0, 0.03)) = .01
_MainTex ("Base (RGB)", 2D) = "white" { }
//**********add these two properties ***********
_BumpMap ("Normalmap", 2D) = "bump" {}
_LightMap ("Lightmap (RGB)", 2D) = "black" {}
}