unity3d通过代码改变光照方向 application.loadlevel;已过时在unity5中怎么写?

[更新]
·
·
分类:游戏
4226 阅读

unity3d通过代码改变光照方向

application.loadlevel;已过时在unity5中怎么写?

application.loadlevel;已过时在unity5中怎么写?

用的是SceneManager.LoadScene()方法代替了,在下面。全格式是()。
1:Unity4.x 项目中3D模型其材质丢失,成为“白模”?
解决方案:手工重新赋值材质贴图。
2:Unity4.x 项目中的NavMesh 升级报错?
“NavMesh asset format has changed. Please rebake the NavMesh data.” ?
解决方案:按照字面含义,重新对静态物体进行烘焙即可。3:Unity4.x 天空盒子升级后显示混乱?
解决方案: 找到项目中“标准资源”(Standard Assets),点击天空盒子的材质,出现提示信息“This texture contains alpha, but is not RGBM(Incompatible with HDR[高动态光照渲染])”点击“Fix Now”进行自动修复即可。
4:Unity4.x 在升级后出现某些3D模型不显示的“严重”问题?
解决方案: 由于Unity5.0 与Unity4.x版本的底层编码变化较大,Unity5.0已经不能正确识别部分老“预设”,从而造成不显示问题。此时我们找到对应模型的“原型”3D模型,重新建立“预设”在场景中的原位置进行重新加载即可。(注意与原来的方位需要一致才可以)。

我的游戏出现MAP LOADING FAILED(TEXTURE ERROR)游戏进不去如何解决?

1.起因项目组六月份时做了一次工作室内部测试,收到比较多的反馈是游戏不同玩法间切换时切会加载场景,等待Loading时间比较长,很影响用户体验。当前项目中的很多玩法是由UI加场景共同呈现的,因此,如果要跳转到对应玩法,需要切换到对应场景,玩法退出时,又得重新切回主场景。来回切场景时间确实会比较长,导致游戏体验较差。
2.修改思路将场景相关的内容制作成Prefab,第一次进入的时候异步加载,后续再进入的话,不需要重新加载。对于这个需求,只要简单的写一个玩法Prefab的生命周期管理,实现异步加载及互相切换的逻辑即可。然而把场景做成Prefab是不够的,光照贴图,雾效,反射探针等效果并不能随着Prefab的加载自动切换。因此,需要找到这些效果切换的解决方案。
3.解决光照贴图的切换在Unity里试验了下效果,光照贴图的切换并不是只是在LightmapSettings中替换下贴图就可以切换成功的。经过调研分析,需要把所有受光照贴图影响的Renderer的两个属性lightmapScaleOffset和lightmapIndex设置为正确的属性。在原场景中,在烘好的光照贴图后,这两个属性是正常的。但一旦将场景的根节点拖成Prefab,这些Renderer上的属性丢失了。因此,在写了一个自定义脚本,将需要的数据在制作为Prefab时,序列化到Prefab上。在运行时再跟进序列化的数据刷新一遍Renderer的数据,如此一来效果就可以正常的切换了。 [] public class SceneLightMapData { public RendererInfo[] rendererInfos public Texture2D[] lightmaps public Texture2D[] lightmapsDir } [] public class RendererInfo { public Renderer renderer public int lightmapIndex public Vector4 lightmapOffsetScale }4.解决雾效的切换雾效的切换就比较简单了。只需要修改RenderSettings中雾效相关的设置就好了。 [] public class SceneFogData { public float fogStartDistance public float fogEndDistance public Color fogColor }5.解决反射探针的切换最初并没有关注到反射探针的效果需要处理,因为项目中的是baked的反射探针,以为跟随Prefab一起加载进来,只需要Actvie状态即可,甚至连美术同学都没发现异常。直到有一天TA同学找到我说,反射探针的效果不对,给了我一张FrameDebuger的截图,显示其使用的Texture丢了。经过调研发现,反射探针的texture,需要先把引用关系序列化,再运行时重新设置。具体需要序列化的数据为: [] public class SceneReflectionProbeData { public ReflectionProbe probe public Texture texture }6.小结 在做场景不Loading方案时,主要的难点是将场景相关的数据序列化,然后再运行时实时应用。下图简单的列出了需要处理的数据。