Unity 3D中的阴影设置
在Unity 3D中,经常需要用到光照阴影,即Directional Light的Shadow,Shadow分为Hard Shadow和Soft Shadow。区别是Soft Shadow的阴影边缘比较平滑,接近真实,但是性能消耗大于Hard Shadow。
Lightmapping有3种选择:实时光照阴影(RealTimeOnly)、场景烘焙阴影(BakedOnly)、以及上面两者结合的阴影(Auto)。
RealTimeOnly:所有场景物体的光照都实时计算,实时光照对性能消耗比较大;
BakedOnly:只显示被烘焙过的场景的光照效果(如果有地方没有被烘焙过,则不会显示光照效果):场景烘焙是可以选择一些静态物体进行烘焙,这里的静态物体是指在游戏过程中不会动的物体(需要在对象的Inspector面板中勾上static),因此可以在游戏运行前就先把光照效果做好,生成光照贴图,然后游戏运行的时候直接把光照贴图显示出来就可以了,不用实时计算光照效果,用空间(贴图的存储空间)换取了时间(实时光照的计算时间)。
Auto:这种就是上述两者的结合,如果选择这个模式,那么被烘焙过的部分就用光照贴图直接显示,没有被烘焙过的地方就实时计算。
但是在使用Shadow的过程中,可能会遇到一个问题:本来以前显示的好好的,阴影突然不显示了。在Shadow里面选择了显示阴影,仍然没有效果,阴影选择Hard Shadow和Soft Shadow都不行,选择RealTime only、Bake only、Auto也都不行,这是什么原因呢?
有下面三种情况可能导致这种现象的发生,如果遇到这种问题可以试试。
情况一:距离太远了,看不到阴影,把摄像机镜头放近试试,这种情况一般会在选择实时光照(RealTimeOnly)时发生。如果还不行,那么看看第二种情况。
情况二:打开EditàProject SettingsàQuality,在Inspect面板中查看,如下图。在Levels中绿色的是发布时候会选择的模式,当前选择的是Good,可以再Unity中实时查看这个Levels下的显示情况,在Good Levels下,Unity自定义了一下Good情况下的显示效果,在图的下方:Rendering、Shadows、Other,如果选择了Fast,Shadows默认是不显示阴影的。因此遇到阴影不显示的情况,可以检查一下这个地方。不过这种情况一般也是会在实时阴影时出现。

情况三:由PC平台转到了Android平台。这种情况,使用实时阴影或者烘焙可能都会出现在Android平台上无法显示阴影的问题。解决方法就是,在从PC平台转到Android平台的时候,在Player Settings中将Use Direct3D 11后面的勾去掉(如下图),然后再Switch到Android平台,这时阴影效果就会有了。

OK,目前就遇到这么三种情况,如果还有其他情况,还请在留言中写出来,共同分享。
Unity 3D中的阴影设置的更多相关文章
- 在Unity 3D中加入Image图片
在Unity 3D中加入Image图片,我在刚开始是加不进去的,为什么呢?因为没有图片,图如下: 原因就是我们没有把图片设置为Script,图片的格式还是默认的那个,这只能作为贴图使用.我们将图片进行 ...
- Unity 3D中不得不说的yield协程与消息传递
1. 协程 在Unity 3D中,我们刚开始写脚本的时候肯定会遇到类似下面这样的需求:每隔3秒发射一个烟花.怪物死亡后20秒再复活之类的.刚开始的时候喜欢把这些东西都塞到Update里面去,就像下面这 ...
- Unity 3d中Shader是什么,可以吃吗?
众所周知,Unity3d是一款跨平台非常广的游戏引擎,上手容易,界面友好,集成功能众多,是目前开发手游的主流引擎.本人有幸使用Unity 3d进行开发已一年多时间,已领略了这歀引擎的强大之处. 编写s ...
- 3D max模型导入unity 3D中注意事项
一.单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放比例.统一单位为米. ...
- Unity 3D中的内存管理
本文欢迎转载,但烦请保留此行出处信息:http://www.onevcat.com/2012/11/memory-in-unity3d/ Unity3D在内存占用上一直被人诟病,特别是对于面向移动设备 ...
- Unity 3D中的菜单项
1.File菜单:主要是包含项目和场景的创建.保存以及输出等功能.2.Edit(编辑)菜单:只要包括对场景进行一系列的编辑以及环境设置操作等命令.3.Assets(资源)菜单:掌握资源在Unity中的 ...
- Unity 3D 中实现对物体 位置(position) 旋转(rotation) 大小(scale) 的全面控制
今天分享一些基础控制的脚本 1.位置(Position): 控制位置很简单,首先要知道要在xyz哪几个轴上移动,确定好后定义代表着那些轴的移动变量,速度(m_speed在函数外定义为全局变量)然后通过 ...
- Unity 3D中ToLua-UGUI使用说明、导入Unity流程、制作登陆界面
ToLua制作登录界面 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 请支持大神开发者:骏擎CP,蒙哥等奔 ...
- Unity 3D 中动态字体的创建
原创不易,转载请注明转自: http://blog.csdn.net/u012413679/article/details/26232453 ---- kosion 1.载入NGUI插件包,载入完毕后 ...
随机推荐
- win10安装java
java安装还比较顺利,贴两篇亲测可行的教程 1.开发环境安装:https://www.cnblogs.com/shirley-0021/p/8510051.html 2.开发工具安装(Eclipse ...
- Python基础学习---位运算符
<< 左移,每移动1位,相当于乘以2 例如:32<<2 等价于:32*4 ==128 >> 右移,每移动1位,相当于除以2 例如: ...
- python 函数返回值(总结)
关键字:return 没有返回值的叫过程 def test1(): msg="我是一个过程" print(msg) 有return的叫函数 def test02(): msg=&q ...
- ZT 将sublime text的tab改为四个空格
打开Sublime Text3,选择菜单Preferences->Settings-User,打开用户配置文件(据本人理解,Settings-Default是不允许用户自己修改的~而Settin ...
- 《Pro SQL Server Internals, 2nd edition》15w
第三章 统计 SQL Server查询优化器在为查询选择执行计划时使用基于成本的模型.它估计不同执行计划的成本,并选择成本最低的一个.但是,请记住,SQL Server并不搜索可用于查询的最佳执行计划 ...
- Spring事务管理transactionManager
bean.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...
- String与Integer问题
今天分享一下关于最近面试的问题,临近春节,而我在茫茫人海中奔波,今天面试了来到了中关村科技园,挺气派的,之前也是在外面看看,今天就去了,心里有点激动,恰好,正好赶上了上班时,看见它们的努力,我感到再累 ...
- Find Longest common string
动态规划法: 用二维矩阵来的每个元素来代表两个字符串的字符匹配情况, LCS[i, j]= LCS[i-1, j-1] + 1 , if X[i-1] == Y[J-1]. LCS[i, j] =0 ...
- height属性
高度属性: height:长度值|百分比|auto 最大高度:max-height 最小高度:min-height 说明:设置块级元素和替换元素的内容高度.
- Python中的变量作用域
python中变量作用域包括: L (Local) 局部作用域,函数内部声明但没有使用global的变量E (Enclosing) 闭包函数外的函数中,def或者lambda的本地作用域G (Glob ...