大将军 发表于 2012-12-15 18:28

Unity中创建双面材质代码


在其它三维软件中设置好的双面材质导入到unity3d中就失去了效果,不过我们可以通过自定义材质来在unity3d中实现双面材质的效果。步骤如下:
1、在资源库中新建一新shader;代码如下:

Shader "Nature/Vegitation Vertex Lit" {

Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_SpecColor ("Spec Color", Color) = (1,1,1,0)
_Emission ("Emmisive Color", Color) = (0,0,0,0)
_Shininess ("Shininess", Range (0.1, 1)) = 0.7
_MainTex ("Base (RGB) Trans. (Alpha)", 2D) = "white" { }
}

Category {
ZWrite Off
Cull Off
Alphatest Greater 0
Tags {Queue=Transparent}
Blend SrcAlpha OneMinusSrcAlpha
SubShader {
Material {
Diffuse
Ambient
Shininess
Specular
Emission
}
Pass {
Lighting On
SeperateSpecular On
SetTexture {
constantColor
Combine texture * primary DOUBLE, texture * constant
}
}
}
}
}

然后在模型材质中更改shader为上面新建的Nature/Vegitation Vertex Lit这个shader即可实现双面效果。

Sone 发表于 2017-6-3 16:47

很不错

Sone 发表于 2017-6-3 17:20

楼主是超人

迷彩 发表于 2017-6-3 17:07

真心顶

hbszqf 发表于 2017-6-3 17:20

说的非常好

Edward 发表于 2017-6-3 16:58

很好哦

NicolasBai 发表于 2017-6-4 12:48

楼主是超人

devilcom 发表于 2017-6-4 13:20

真心顶

devilcom 发表于 2017-6-4 13:15

难得一见的好帖

hbszqf 发表于 2017-6-4 12:31

很好哦
页: [1] 2 3 4 5 6 7
查看完整版本: Unity中创建双面材质代码