查看: 1121|回复: 0
打印 上一主题 下一主题

unity3d双面材质创建教程

[复制链接]

3795

主题

2

听众

5万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
53202
精华
32

活跃会员 优秀版主 推广达人 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2013-2-19 15:33:24 |只看该作者 |倒序浏览
在其它三维软件中设置好的双面材质导入到unity3d中就失去了效果,不过我们可以通过自定义材质来在unity3d中实现双面材质的效果。步骤如下:

1、在资源库中新建一新shader;

代码如下:



Normal
0

7.8 磅
0
2

false
false
false














MicrosoftInternetExplorer4







/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}


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" = "ixelOrNone"}

      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即可实现双面效果。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-11 13:22 , Processed in 0.097924 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部