unity移动平台阴影解决方案
2016-01-16 13:32
1291 查看
unity移动平台角色阴影解决方案
Projector Shadow制作
思路:主要是利用一个正交的camera去获取阴影模型的体面,赋予给创建的一个rendertexture,然后利用projector去渲染这个rendertexture创建场景
1为剑的阴影模型,2为人物的阴影模型(注:为了资源优化,两个阴影模型可用超低面数)
拉取一个人物到场景,同时,人物模型应包含所需要的阴影模型
对人物设置如下:
人物其他部分层级不变,在Inspector面板的layer中新建一个Shadow层级,将两个shadow模型的层级改变为Shadow;
创建Projector_Camera
关闭灯光阴影,新建一个Camera,同时将重命名为Projector_Camera,参数进行调整Camera具体参数如下:
创建RenderTexture
在Project中右键新建一个RenderTexture,命名为ShadowTest创建RenderTexture的主要目的是为了将我们创建的Porjector_Camera拍摄的画面转存到RenderTexture里,以便我们创建接下来Projector后的渲染调用
创建Projector
在Hierarchy视图中创建一个空物体,命名为Projector,同时为空物体添加一个Projector组件!将Project拖到Projector_Camera下面,同时将我们刚创建的rendertexture拖到Projector_Camera的Target Texture中,为rendertexture获取所需的图像
创建材质球
创建一个材质球shadow,赋予给Projector组件,材质球用能够渲染Rendertexture的类型,同时将我们的Rendertexture拖到材质球上进行应用这个时候已经有阴影了,但是位置和方向不正确,我们根据灯光方向需要重新调整我们的方向和位置,同时我们需要对渲染的层次进行调整
camera的CullingMask去选掉Shadow层级,使我们的游戏画面不会对阴影模型进行渲染
新建一个层级Terrains,将地面改为Terrains层级,同时在Projector的IgnoreLayers进行设置,将Terrains层级去选(注:Terrains层级是为让阴影在特定的层级上进行显示,减少资源消耗)
经过调整后,阴影就正常显示了
为了让阴影和动作匹配,要将Projector_Camera和Projector拖到动作的脚部移动点(改变移动位置,不会改变旋转)
Ok,整体完成,播放时阴影就可以和动作匹配了!!
相关文章推荐
- Patrol 7 架构下?的处理方法
- 中病毒后常用的解决方法病毒终极解决方案
- QQ尾巴 InfoMs.Ime 解决方案
- IE对CSS样式表的限制分析与解决方案
- 开源MySQL高效数据仓库解决方案:Infobright详细介绍
- 惊现支撑1亿pv/天的超级数据库解决方案
- 关于bluehost空间上wordpress后台变为英文的解决方案
- select * from sp_who的解决方案
- 简析Oracle数据库常见问题及解决方案
- php+mysql大量用户登录解决方案分析
- 常见PHP数据库解决方案分析介绍
- unity实现多点触控代码
- asp.net操作过程中常见错误的解决方法
- 在Unity中实现动画的正反播放代码
- unity实现摄像头跟随
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关