Unity5动态加载烘培场景
来源:互联网 发布:算法基本特征 编辑:程序博客网 时间:2024/05/01 10:43
有时候我们需要动态加载场景(比如场景比较大,或者一些无限重复的自动生成的场景),这时如果对场景又使用了烘培,那么在unity5里面就会有一些小问题。
1.在这种需求下我们一般会把场景物体存成一个预置,需要的时候加载进来,但是在unity5里面,物体的lightmap信息(index和偏移)并不会记录在预置上,这导致你直接把预置加载进来看不到烘培效果,这里要这样,在加载之后手动的赋值这个lightmap信息,(你可以在烘培时预先保存这个信息),使用render的lightmapIndex和lightmapScaleOffset来设置它的烘培信息。
2.然而使用上面的方法对于一些shader还是会看到错误的结果(编辑器正确,至少android设备上是错的),因为unity5在某些设备上,对于这种动态加载的物体,无论你是否设置它的renderer的 lightmapIndex和 lightmapScaleOffset, 它都不会为其shader设置LIGHTMAP_ON这个关键字,如果看一下unity 支持light map的shader的源码,可以发现这个 LIGHTMAP_ON是控制显示烘培图的关键,但是这种情况unity5不会设置,并且你自己手动设置也不行。这里有一个方法,就是修改这个shader,自己加一组关键字,比如叫做DYNAMIC_LIGHTMAP_ON,就算没有定义LIGHTMAP_ON,定义了DYNAMIC_LIGHTMAP_ON也会触发lightmap的贴图,然后在代码里加载完毕动态场景后,设置这个keyword就行了
UNity4据说没有这个问题,对于动态场景,直接加载就自动有lightmap里了,因为unity4会把lightmap信息存储在预置里。
- Unity5动态加载烘培场景
- Unity5.x运行时动态更新烘培贴图
- Unity3D之动态修改烘培贴图的大小&脚本烘培场景
- Unity5.6新功能High-level NavMesh之实时动态烘培NavMesh
- Unity3D_场景の烘培
- Unity3D_场景の烘培
- Unity5.3加载场景
- 动态加载烘培贴图与Terrain转mesh
- Unity5.6.3异步加载场景
- Unity NavMesh动态烘培和绘制
- Unity NavMesh动态烘培和绘制
- unity5.3 加载场景的新函数
- Unity5.5加载场景并显示进度条
- unity5之导航网格寻路系统-1Bake(烘培)
- Unity5动态更新场景Lightmap,支持多张Lightmap混合
- Unity3D 5.1烘培
- Light烘培原理
- unity烘培
- VS中VC++目录中的$是什么意思
- Hibernate Search-----关联检索
- 通向成熟之路
- Android基于AOP的非侵入式监控之——AspectJ实战
- Linux命令总结
- Unity5动态加载烘培场景
- 接触到的前端网站(仅个人收藏用)
- Python点滴(六)
- python win系统获取磁盘及文件夹大小
- 用vnc实现windows远程连接linux桌面
- #define相关
- https php使用curl获取https请求的方法
- The in operator
- DataFrame和SparkSql使用区别