天天看点

unity3d双面材质_[转]unity3d中创建双面材质

在其它三维软件中设置好的双面材质导入到unity3d中就失去了效果,不过我们可以通过自定义材质来在unity3d中实现双面材质的效果。步骤如下:

1、在资源库中新建一新shader;代码如下:

Shader "DoubleSided" {

Properties {

_Color ("Main Color", Color) = (1,1,1,1)

_MainTex ("Base (RGB)", 2D) = "white" {}

//_BumpMap ("Bump (RGB) Illumin (A)", 2D) = "bump" {}

}

SubShader {

//UsePass "Self-Illumin/VertexLit/BASE"

//UsePass "Bumped Diffuse/PPL"

// Ambient pass

Pass {

Name "BASE"

Tags {"LightMode" = "PixelOrNone"}

Color [_PPLAmbient]

SetTexture [_BumpMap] {

constantColor (.5,.5,.5)

combine constant lerp (texture) previous

}

SetTexture [_MainTex] {

constantColor [_Color]

Combine texture * previous DOUBLE, texture*constant

}

}

// Vertex lights

Pass {

Name "BASE"

Tags {"LightMode" = "Vertex"}

Material {

Diffuse [_Color]

Emission [_PPLAmbient]

Shininess [_Shininess]

Specular [_SpecColor]

}

SeparateSpecular On

Lighting On

Cull Off

SetTexture [_BumpMap] {

constantColor (.5,.5,.5)

combine constant lerp (texture) previous

}

SetTexture [_MainTex] {

Combine texture * previous DOUBLE, texture*primary

}

}

}

FallBack "Diffuse", 1

}

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