【Unity&2.5D&Shader】2D2.5D精灵实时阴影怎么使用
2017-02-24 16:33
483 查看
如果只是单纯的对没有 透明通道的 2D精灵,要求阴影,使用 系统自带 的 材质包 Default-Material,即可实现
如果在此基础上需要添加功能,请自便。
本文章就参考资料1 2DSprite的实时阴影
做出补充,Unity 版本号适用于 5.5.0f3 以及5.5.0p4版本
版本原因,导致下面的两行代码无法使用
transform.GetComponent<SpriteRenderer>().renderer.receiveShadows = true;
transform.GetComponent<SpriteRenderer>().renderer.castShadows = true;
参考部分代码来源
https://forum.unity3d.com/threads/sprite-receive-shadow.357705/
把上面的两行代码
由
transform.GetComponent<SpriteRenderer>().renderer.receiveShadows = true;
transform.GetComponent<SpriteRenderer>().renderer.castShadows = true;
改为
transform.GetComponent<SpriteRenderer>().GetComponent<Renderer>().receiveShadows = true;
transform.GetComponent<SpriteRenderer>().GetComponent<Renderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On;
然后再把 参考资料1 里面的shader带入一个图片
效果如下所示
这个Shader也是有问题的
palmbranch材质包在我的资源库里面
1.
3.
4.
5.
如果在此基础上需要添加功能,请自便。
本文章就参考资料1 2DSprite的实时阴影
做出补充,Unity 版本号适用于 5.5.0f3 以及5.5.0p4版本
版本原因,导致下面的两行代码无法使用
transform.GetComponent<SpriteRenderer>().renderer.receiveShadows = true;
transform.GetComponent<SpriteRenderer>().renderer.castShadows = true;
参考部分代码来源
https://forum.unity3d.com/threads/sprite-receive-shadow.357705/
把上面的两行代码
由
transform.GetComponent<SpriteRenderer>().renderer.receiveShadows = true;
transform.GetComponent<SpriteRenderer>().renderer.castShadows = true;
改为
transform.GetComponent<SpriteRenderer>().GetComponent<Renderer>().receiveShadows = true;
transform.GetComponent<SpriteRenderer>().GetComponent<Renderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On;
然后再把 参考资料1 里面的shader带入一个图片
效果如下所示
这个Shader也是有问题的
palmbranch材质包在我的资源库里面
palmbark material.unitypackage
palmbranch项目包(含天空盒子和树木材质包)standAssets_Skyboxes_Terrain.unity
参考资料:1.
2DSprite的实时阴影
2.3.
4.
5.
相关文章推荐
- 【Unity&2.5D&Shader】2.5D阴影资料总览
- Unity&Shader基础篇-常用函数的使用与案例
- [Unity&对象]怎么使用全局静态变量
- 【Unity&摄像机&2.5D】在2.5D游戏项目中,不同精灵要分层显示怎么办
- Unity 实时 半透明 阴影 shader
- [Unity&对象]怎么理解变量public 还是private ,还是使用getset方法定义
- Unity&Shader基础篇-常用函数的使用与案例
- 【Unity&2DSprite&DragonBones】精灵重叠怎么办
- 【Unity Shader】结合Projector和Rendertexture实现实时阴影
- 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件
- 怎么使用VS对Unity进行调试 UnityVs的使用方法的探讨
- 求助:学习K&R一书时,书本使用的函数与库函数冲突,怎么办?
- Unity问答——NGUI怎么使用按键模拟鼠标点击?
- Android中针对<meta-data>怎么来使用
- 【浅墨Unity3D Shader编程】之二 雪山飞狐篇:Unity的基本Shader框架写法&颜色、光照与材质
- 使用鼠标(像QQ截图一样)自由截取Unity程序中的任意地方 && 获取本地文件夹下的所有图片
- unity在定制的shader里面如何添加阴影
- [Unity-14] Unity3d中使用摄像机制作实时显示小地图
- 【Unity 3D】使用 2DToolkit 插件 制作2D精灵动画