• Unity4.3.3 烘焙踩坑


    许久没发文章了,开始实习了,挺忙的基本没什么时间了

    unity4.3.3是一个非常古老的版本了,弄了一下烘焙,踩了不少坑,

    首先是unity自带的nature shader,其中有soft occlusion系列的shader相信不少人拿来做树了(还有草等植物),但是bake之后发现有阴影,而且阴影很漂亮,但是树没了,错位到别的地方去了,对模型generate lightmap uv也不行,查了一下,是uv的问题,发现也是有人踩过坑的,但是没有什么好的解决方法,看到上面有人说先带着树bake存起lightmap,再把树unstatic掉,快速bake后替换lightmap,可不可行没试过,博主太懒,直接copy一份做shadow,另一份unstatic藏起来,bake之后再把做shadow的树删掉,还原另一部分树,此时打在树上的光是实时的。这种方法可能对性能会有影响,而且树上的光不是bake的,也没有被打到的bake影子,所以效果可能也会有影响,但是shadow部分因为shader本身自带ao所以取舍还是可以考虑一下的

    对该问题的第二种解决方法就是自己去改shader,博主用之前下的built in shaders 包中的该shader进行修改,把结尾改成:

    1. Dependency "OptimizedShader" = "Hidden/Nature/Tree Creator Leaves Optimized"  
    2. FallBack "Transparent/Cutout/VertexLit" 


    可以让他不会消失错位,但是bake后的shader相当于cutout的shader,相比之下有些丑陋

    然后就是terrain的问题们了,terrain的参数不要忘记调

    是一个调了一下午的大坑,屡次bake之后terrain要么没lightmap,要么就是错的,然后发现 lightmap的index错了。。。。开始是对的,只有在运行的时候,terrain的lightmap index是上一次bake的缓存,所以会出错,需要改过来,调节的话unity对terrain的lightmap一般放在后面,这时可以查看lightmap index 最密集的,或者一眼就能看出那张lightmap是terrain的,点击terrain,在lightmapping的object面板中的·terrain,Atlas中的lightmap index改过来,然后运行一下就好了。。。

    分析了一下出现这个问题的原因是,之前手欠修改过 lightmap的index。。。unity可能就默认你要自己修改。。。或者是一个bug。。。

    还有什么问题会继续补充,,,,

    2016-7-27

  • 相关阅读:
    Java实现数组去除重复数据的方法详解
    java枚举和constant使用区别
    如何健壮你的后端服务
    entityframework学习笔记--001
    MongoDB配置服务--MongoDB安装成为windows服务
    MongoDB基础入门003--使用官方驱动操作mongo,C#
    MongoDB基础入门002--基本操作,增删改查
    MongoDB基础入门001--安装
    webapi的返回类型,webapi返回图片
    C#异步下载文件--基于http请求
  • 原文地址:https://www.cnblogs.com/zhanlang96/p/5716967.html
Copyright © 2020-2023  润新知