Unity4 的vs2003工程升级到2015 Unity5 都需要注意哪些事情

5870人阅读
Unity(112)
为了某一个Bug,把游戏工程从Unity4.6 升级到Unity5 测试,中间出现了一些问题,小记。
(1) Plugin的使用变化
在Unity5.0中,对于每一个导入的DLL、SO、Jar这些看起来像 Plugin 文件的文件,都会有一个选项设置其作用平台。从Unity4.6 升级到 Unity5.0 的时候,有一些文件不能被正确的判断平台,就会在Platform 选项上设置为 所有 ,就出现了下面的错误。
我们只要找到 对应的文件,然后设置其作用的平台就可以解决这个BUG。
对于DLL,如果这个DLL文件并不是Plugin文件,就取消掉 Platform 的任何勾选。
(2) 废弃了 AddComponent(string) 接口&
从Unity4.6 更新到Unity5.0 ,打开工程后,Unity会自动检测代码并且转换代码到新的API。AddComponent(string) 这个API被转换到下面的样子。
addedComponent = UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(go, &Assets/PlayMaker/Actions/AddComponent.cs (56,21)&, component.Value);
在UnityEditor 环境下能正常运行居然,但是在导出Xcode工程时报错:
Assets/PlayMaker/Actions/AddComponent.cs(56,88):
error CS0619: `UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(UnityEngine.GameObject, string, string)' is obsolete:
`Method is not meant to be used at runtime. Please, replace this call with GameObject.AddComponent&T&()/GameObject.AddComponent(Type).'
意思就是说这个API呗废弃了,现在只能使用 AddComponent(T) 了。
于是修改,先用System.Type.GetType(string) 获取Type,然后在AddComponet 。
但是这样在IL2CPP上可能会有问题,因为IL2CPP是会裁剪代码的,所以可能出现AOT编译问题导致运行时出现类型找不到的BUG。
如果出现这种情况,之前的文章有解决方法:
http://blog.csdn.net/huutu/article/details/
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1217388次
积分:15678
积分:15678
排名:第764名
原创:331篇
转载:108篇
评论:282条
文章:32篇
阅读:113039
(4)(1)(1)(2)(1)(1)(5)(1)(3)(3)(3)(5)(6)(4)(7)(1)(18)(18)(17)(13)(9)(24)(25)(2)(7)(5)(9)(17)(11)(7)(25)(8)(9)(1)(4)(12)(6)(2)(3)(16)(21)(10)(14)(1)(7)(25)(11)(6)(13)(4)(8)(7)(2)unity5不支持unity4写的程序,你们也这样吗。_unity吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:24,550贴子:
unity5不支持unity4写的程序,你们也这样吗。收藏
。。。怎么不兼容啊 。大哭
siki老师的Unity3D专业视频学习平台,上千门实时更新课程,供学员在线观看
路过的 走过的 进来看看
,这可怎么办
打开工程,代码会自动升级,先备份,有风险
其实我觉得unity5的代码比4要规范
api 有太多的不同备份下吧,貌似没得什么好办法
升级版本的时候一定要先备份哦,这个是必要的。
建议你看下Unity5的官方4.x至5.x升级的文档,那对你很有帮助的。
登录百度帐号推荐应用330被浏览28895分享邀请回答/Manual/GlobalIllumination.html我只说说常用的。(一)Object面板Lightmap Static:
必须把烘焙的物体设置成静态Scale in Lightmap:
数值的大小与该物体的表面积有关,这个值影响烘焙时间,值越大时间越长。(效果如下图)Scale In Lightmap 设置成0.1时的效果Scale In Lightmap 改成1时的效果(这个值也影响光影图的数量)Preserve UVs: 如果物体没有在3dmax里展好UV,那么这里必须勾选。(二)Scene面板Skybox:会直接影响你的环境光Ambient Source:环境源,这里选
的skyboxAmbient Intensity: 环境光的强度值,也就是环境光的亮度值Reflection Source:反射源,这是Unity4.X里没有的。烘焙后会在场景文件的同名文件夹中多出一个名为
LightmapSnapshot的文件。Realtime Resolution:实时分辨率,这个物体所产生的GI对其它物体的影响程度,值越大影响越大。例如 Realtime Resolution 参数设成比原默认的小10倍即 0.2
,这个值调成1后,墙上的绿玻璃颜色,能更多的影响地面了Realtime Resolution 参数改成 0.4后的效果绿色墙所产生的环境光,影响范围变小了。CPU Usage:选的默认。Baked Resolution:烘焙分辨率,如果数值是10,那么就是每个单位里分布10个纹理元素,实际测试的效果如下Baked Resolution的参数值调成10后,阴影的边变实了Baked Resolution的参数值调成1后,阴影的边变的很虚了Indirect Intensity:间接强度,这个和unity4.x里的参数有些像,可以简单的理解为光的反射强度。Bounce Boost:反弹强度,同一单位面积内增大光的反射数量,相比较来说,这个值增大会直接影响渲染时间。Default Parameters:默认参数,这里还可以自己创建自己的参数。一般情况在预烘焙时选择最低设置。Atlas Size:烘焙图的大小,以前4.X版本只能通过脚本来调整,现在好了。(三)灯光参数这里需要注意的是Baking
选项里要设置成Baked ,否则烘焙不起作用。剩下的两个参数,基本和Unity4.X的参数功能相同。最后说一下,下面这几个参数一定要注意,它们影响烘焙速度和光影图数量,当初就在这上面吃过亏,场景太大,参数没调小,烘了一晚上啥也没出来。“Scale In Lightmap 、RealtimeResolution、Baked Resolution、Atlas Size”总体来讲要想提高烘焙速度,就从这Scale In Lightmap 、Realtime Resolution、Baked Resolution三个参数入手基本就可以了。其实升级到Unity5 ,我们遇到了很多问题,很多以前的脚本、插件都不好用,都需要我们一步步解决。435 条评论分享收藏感谢收起修复Unity从4.x升级到5.x后部分脚本的编译错误
将Unity从4.x升级到5.x后,部分脚本编译时产生以下几种错误。
1).UnityEngine.Mesh.GetTriangleStrip(int)' is
obsolete:&
2).UnityEngine.Mesh.SetTriangleStrip(int)' is
obsolete:&
'ponent' does not support slicing.
Unity 5.3.17
UnityEngine.Mesh.GetTriangleStrip(int)' is
解决方法:将GetTriangleStrip函数改成GetTriangles
UnityEngine.Mesh.SetTriangleStrip(int)' is
解决方法:将SetTriangleStrip函数改成SetTriangles
Type 'ponent' does not support
解决方法:将animation改成GetComponent.()
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。330被浏览28895分享邀请回答/news/show-53-1.html74 条评论分享收藏感谢收起}

我要回帖

更多关于 vs2013工程升级到2017 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信