这里搜罗总结了部分网友unity4升级到unity5出现的问题,总结一下,方便需要的时候查阅:
一. 如果发现升级中有脚本错误,请第一时间使用菜单:
Assets -> Run API Updater ...
GameObject (named 'Sprite') references runtime script in scene file. Fixing!的错误。论坛上也有类似的问题 Assetbundle loading error
Loading streamed-scene will fail if exist game object that have component with a script property type and value is prefab's script.
Code: [Select]
class UISprite { [SerializeField] UIAtlas mAtlas; // It's prefab's script. Not works for AssetBundle }
I changed the property type to GameObject(prefab) from Script(prefab's script).
It works.
Code: [Select]
Other controls are same.class UIScript { [SerializeField] GameObject mAtlasPrefab; // for AB, use mAtlasPrefab.GetComponent
()... }
#pragma surface surf NoLighting noambient **alpha:blend**
Unity5终于正式发布了,我们也赶紧尝试着把现在的项目升级到Unity5.0,升级的过程遇到了不少问题,估计也是大家将来会遇到的,分享出来供大家参考
一、先说说Unity4.0 烘焙面板里常用的参数
<img data-rawheight="463" data-rawwidth="834" src="https://pic1.zhimg.com/0c990c639cd74557f74fa071cbefc4ac_b.jpg" class="origin_image zh-lightbox-thumb" width="834" data-original="https://pic1.zhimg.com/0c990c639cd74557f74fa071cbefc4ac_r.jpg">Quality烘焙质量一般会选择高
Bounces 反弹 这个值一般选1,如果选2,烘焙的时间会增长50%左右,所以设置这个值要谨慎。
SkyLight Intensity 天空光强度 这个一般我也不会设置的太高
BounceBoost 反弹增强,同一单位面积内增大光的反射数量,相比较来说,这个值增大会直接影响渲染时间。
BounceIntensity 增强光的反射强度
ContrastThreshold 对比度,这个只是偶尔会调。
下面是我烘焙大场景时用到的参数,基本是在效果和时间上达到了一个合理的平衡点。
<img data-rawheight="502" data-rawwidth="789" src="https://pic1.zhimg.com/3df7d810d2fbdb230c368768d04c2d3c_b.jpg" class="origin_image zh-lightbox-thumb" width="789" data-original="https://pic1.zhimg.com/3df7d810d2fbdb230c368768d04c2d3c_r.jpg">二、再说说Unity5.X,和4.X的区别,首先光照烘焙技术就不同,
Unity4.X版本采用的是Autodesk的Beast技术
Unity5.X版本采用的是PowerVR Ray Tracing和Enlighten技术,所以Lighting Window 面板里的参数差别就很大。
整体的参数介绍这个官网的网址里有,
http://docs.unity3d.com/Manual/GlobalIllumination.html
我只说说常用的。
(一)Object面板
<img data-rawheight="288" data-rawwidth="327" src="https://pic4.zhimg.com/da73ada7ae22d9fb0ac8d11ab2056307_b.jpg" class="content_image" width="327">Lightmap Static:必须把烘焙的物体设置成静态
Scale in Lightmap:数值的大小与该物体的表面积有关,这个值影响烘焙时间,值越大时间越长。(效果如下图)
Scale In Lightmap 设置成0.1时的效果
<img data-rawheight="508" data-rawwidth="835" src="https://pic2.zhimg.com/1bb4a4721d30b07b5980b31ce39b6115_b.jpg" class="origin_image zh-lightbox-thumb" width="835" data-original="https://pic2.zhimg.com/1bb4a4721d30b07b5980b31ce39b6115_r.jpg">Scale In Lightmap 改成1时的效果
<img data-rawheight="551" data-rawwidth="836" src="https://pic3.zhimg.com/81343e826a9d67ade0f45b263d29ef4a_b.jpg" class="origin_image zh-lightbox-thumb" width="836" data-original="https://pic3.zhimg.com/81343e826a9d67ade0f45b263d29ef4a_r.jpg">(这个值也影响光影图的数量)
Preserve UVs: 如果物体没有在3dmax里展好UV,那么这里必须勾选。
(二)Scene面板
<img data-rawheight="528" data-rawwidth="386" src="https://pic4.zhimg.com/bffd674fcf1b22e34833e90a88b1ac93_b.jpg" class="content_image" width="386">Skybox:会直接影响你的环境光
Ambient Source:环境源,这里选的skybox
Ambient Intensity: 环境光的强度值,也就是环境光的亮度值
Reflection Source:反射源,这是Unity4.X里没有的。烘焙后会在场景文件的同名文件夹中多出一个名为 LightmapSnapshot的文件。
Realtime Resolution:实时分辨率,这个物体所产生的GI对其它物体的影响程度,值越大影响越大。例如
Realtime Resolution 参数设成比原默认的小10倍即 0.2 ,
这个值调成1后,墙上的绿玻璃颜色,能更多的影响地面了
<img data-rawheight="393" data-rawwidth="768" src="https://pic2.zhimg.com/ddd503ef4eed821c9f6765ab0307a3bd_b.jpg" class="origin_image zh-lightbox-thumb" width="768" data-original="https://pic2.zhimg.com/ddd503ef4eed821c9f6765ab0307a3bd_r.jpg">Realtime Resolution 参数改成 0.4后的效果绿色墙所产生的环境光,影响范围变小了。
<img data-rawheight="416" data-rawwidth="836" src="https://pic2.zhimg.com/babb5ed6d4ad475c435e2044de2de445_b.jpg" class="origin_image zh-lightbox-thumb" width="836" data-original="https://pic2.zhimg.com/babb5ed6d4ad475c435e2044de2de445_r.jpg">CPU Usage:选的默认。
Baked Resolution:烘焙分辨率,如果数值是10,那么就是每个单位里分布10个纹理元素,实际测试的效果如下
Baked Resolution的参数值调成10后,阴影的边变实了
<img data-rawheight="310" data-rawwidth="839" src="https://pic2.zhimg.com/190ffea2a250ecad7ccbd60340c6b0b9_b.jpg" class="origin_image zh-lightbox-thumb" width="839" data-original="https://pic2.zhimg.com/190ffea2a250ecad7ccbd60340c6b0b9_r.jpg">Baked Resolution的参数值调成1后,阴影的边变的很虚了
<img data-rawheight="405" data-rawwidth="834" src="https://pic1.zhimg.com/6a2732a6132f8d504f44e1c49e4eade0_b.jpg" class="origin_image zh-lightbox-thumb" width="834" data-original="https://pic1.zhimg.com/6a2732a6132f8d504f44e1c49e4eade0_r.jpg">Indirect Intensity:间接强度,这个和unity4.x里的参数有些像,可以简单的理解为光的反射强度。
Bounce Boost:反弹强度,同一单位面积内增大光的反射数量,相比较来说,这个值增大会直接影响渲染时间。
Default Parameters:默认参数,这里还可以自己创建自己的参数。一般情况在预烘焙时选择最低设置。
Atlas Size:烘焙图的大小,以前4.X版本只能通过脚本来调整,现在好了。
(三)灯光参数
<img data-rawheight="506" data-rawwidth="555" src="https://pic4.zhimg.com/93518c101f725dc1a0cc695d9e1eb73b_b.jpg" class="origin_image zh-lightbox-thumb" width="555" data-original="https://pic4.zhimg.com/93518c101f725dc1a0cc695d9e1eb73b_r.jpg">这里需要注意的是Baking 选项里要设置成Baked ,否则烘焙不起作用。
剩下的两个参数,基本和Unity4.X的参数功能相同。
最后说一下,下面这几个参数一定要注意,它们影响烘焙速度和光影图数量,当初就在这上面吃过亏,场景太大,参数没调小,烘了一晚上啥也没出来。“Scale In Lightmap 、RealtimeResolution、Baked Resolution、Atlas Size”