zoukankan      html  css  js  c++  java
  • 合并网格

    原地址:http://tieba.baidu.com/p/3032649566?fr=ala0&pstaala=2
    一般来说,使用相同材质的模型的各个子网格,可以合并为一个网格,以大大地减少DrawCall,如果一个模型中子网格很多并且使用不同材质,也可以合并,只不过是合并成一个渲染对象的子网格和材质列表,网格数量还是那么多,材质还是那么多,虽然DrawCall不见少不过据说可以稍微提高效率(没仔细对比过不做评论),对了,遇到这种情况别忘了砍死你家美工……
    还有,使用合并,要注意的是,合并后的东西,都视为一个网格物体,也就是说,假如一个箱子在西边1km以外,另一个箱子在摄像机面前,如果你把两个箱子合并了网格并且理所当然的把1km以外的箱子隐藏了……别问我会出现什么情况,自己体会一下才深刻……
    下面是针对SkinnedMeshRenderer的所有子网格都是使用相同一个材质(多个的不好比较,合并的适合不容匹配准确,所以告诉你家美工,材质还是只生一个好啊~)注意!必须所有需要合并的网格都共用同一个材质!另外MeshRenderer的合并,Unity有自带的CombineChildren,直接用就是了
    合并成子网格列表和材质列表的,只需把
    _r.materials = new Material[] {lmat[0]};改成_r.materials = lmat.ToArray ();
    _r.sharedMesh.CombineMeshes (lcom.ToArray(),true,false);改成_r.sharedMesh.CombineMeshes (lcom.ToArray(),false,false);
    上图片了,懒得打字,打出来还特么黑白的……
    换装什么的,多个材质合并什么的,道理呢差不多,各位自己解决了,俺要继续加班去鸟,不送……
  • 相关阅读:
    C/C++程序内存泄漏检测
    linux下的内存管理
    Linker Script 链接器脚本
    linux内核进程调度以及定时器实现机制
    嵌入式软件设计中查找缺陷的几个技巧
    winCE DEBUGZONE
    程序员三个境界
    EJB初识(通熟易懂)
    JVM/JDK/JRE/IDE—区别(很经典)
    dubbo初识(一)Dubbo架构设计详解
  • 原文地址:https://www.cnblogs.com/123ing/p/3852731.html
Copyright © 2011-2022 走看看