我在 Unity 中花了很多时间将两个着色器合并为一个,但一无所获。从未遇到过 Cg/HLSL
在 Unity 项目中,我想将两个着色器组合到一个着色器中,以获得它们的两种功能(第二个着色器的雾除外)。第一个着色器用于照明和纹理颜色并去除透明,另一个着色器用于水下焦散和雾。我该如何组合?
第一个着色器
Shader "Nature/Tree Soft Occlusion Leaves" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Main Texture", 2D) = "white" { }
_Cutoff ("Alpha cutoff", Range(0.25,0.9)) = 0.5
_BaseLight ("Base Light", Range(0, 1)) = 0.35
_AO ("Amb. Occlusion", Range(0, 10)) = 2.4
_Occlusion ("Dir Occlusion", Range(0, 20)) = 7.5
// These are here only to provide default values
[HideInInspector] _TreeInstanceColor ("TreeInstanceColor", Vector) = (1,1,1,1)
[HideInInspector] _TreeInstanceScale ("TreeInstanceScale", Vector) = (1,1,1,1)
[HideInInspector] _SquashAmount …Run Code Online (Sandbox Code Playgroud)