欢迎来到天天文库
浏览记录
ID:42594398
大小:2.18 MB
页数:18页
时间:2019-09-18
《3D游戏制作 移动平台上的角色阴影制作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Unity3D游戏制作移动平台上的角色阴影制作 本文将重点介绍两种目前在移动平台上的主流阴影制作技术,同时也会简单介绍两种移动平台上相对较为高级的动态阴影生成方法。由于目前主流使用Unity3.x在移动平台上并不支持阴影的动态生成技术,所以目前最普遍流行同时性价比也最高的阴影生成方法有以下两种: 1、 简单贴图法所谓简单贴图法即是直接在角色的角底附加一个阴影半透明贴图,并让其跟随角色一起运动,一般是将该阴影Object成为角色模型的子物体,该种阴影生成效果如下: 阴影的Inspector视图如下: 其中ShadowComponent是控制阴影的一个脚本,与其
2、生成无关,故不再这里介绍。影响该应用生成的主要有两个部分,一个是Shadow网格,另外一个则是渲染所需要的材质“NoName”。需要注意的是,Shadow网格是一个平面,但不建议使用Unity自身生成的Plane,因为Unity生成的面数较多,可通过3DMax等建模工具来自行建模,如下所示: 对于材质,最重要的则是Shader的书写,我将其列在下方,以方便大家使用: [csharp]viewplaincopyprint?1.Shader "iPhone/SimpleShadow" 2.{ 3. Properties 4. { 5.
3、 _MainTex ("MainTex", 2D) = "" {} 6. } 7. 8. SubShader 9. { 10. Tags { "Queue" = "Transparent" } 11. 12. Pass 13. { 14. Blend SrcAlpha OneMinusSrcAlpha 15. 16. Color [_clrBase] 17. 18.
4、 Cull Off 19. Lighting Off 20. SetTexture [_MainTex] { combine texture, one - texture } 1. } 2. } 3.} [csharp]viewplaincopyprint?1.Shader "iPhone/SimpleShadow" 2.{ 3. Properties 4. { 5. _MainTex ("MainTex", 2D) = "" {} 6.
5、 } 7. 8. SubShader 9. { 10. Tags { "Queue" = "Transparent" } 11. 12. Pass 13. { 14. Blend SrcAlpha OneMinusSrcAlpha 15. 16. Color [_clrBase] 17. 18. Cull Off 19. Lighting
6、Off 20. SetTexture [_MainTex] { combine texture, one - texture } 21. } 22. } 23.} Shader"iPhone/SimpleShadow"{Properties{_MainTex("MainTex",2D)=""{}}SubShader{Tags{"Queue"="Transparent"}Pass{BlendSrcAlphaOneMinusSrcAlphaColor[_clrBase]CullOffLightingOffSet
7、Texture[_MainTex]{combinetexture,one-texture}}}}通过以上设置即可生成最简单的阴影效果,大家可以通过自己设定脚本来控制阴影的移动和变化等等。 但是,该阴影生成方法有一个明显的“硬伤”,即该阴影只能适用于平坦的地面,一旦地面凹凸不平或有遮挡物,则会出现“穿帮”的效果,如下图所示,该方法生成的阴影对脚下的正方体完全没有影响,所以为了解决这种问题,投影生成法应运而生。 2、 投影生成法该方法本质上来说是一种贴花(Decal)技术,即设定一个投影器,然后将阴影贴图投射到你想展现阴影的地方,该方法的优点在于投影效果不取决
8、于被投影区域的几何形状,即被投影区域可以任意凹凸的曲
此文档下载收益归作者所有