• unity 合并skinnedMeshRenderer中遇到的一个大坑


    将多个skinnedMeshRenderer合并成一个skinnedMeshRenderer,主要涉及的mesh合并、骨骼列表合并、重定向顶点骨骼索引。其中重定向顶点骨骼索引只是通过加偏值即可完成,所以总体来说并无耗时操作。但合并一个由十几个skinnedMeshRenderer组成,总顶点数不足一万,总骨骼数150的人物模型,在PC上却花费一秒多,而在普通安卓手机上花费7秒多。

    经过下面一步非常简单的优化以后,合并同样的模型在同样手机上则可瞬间完成。

        for(int x=0;x<smrenderer.sharedMesh.boneWeights.Length ;x++)
                {   。。。}

    改成

        BoneWeight [] boneWs = smrenderer.sharedMesh.boneWeights;
                int bl = boneWs.Length;
                for(int x=0;x<bl; x++)
                {   。。。}

    以及

        for(int x=0;x<smrenderer.bones.Length;x++)
                {。。。}

    改成

        int mbl = myBons.Length;
                for(int x=0;x<mbl;x++)
                {。。。}

    第一处改动是主要的。

  • 相关阅读:
    Leetcode Binary Tree Preorder Traversal
    Leetcode Minimum Depth of Binary Tree
    Leetcode 148. Sort List
    Leetcode 61. Rotate List
    Leetcode 86. Partition List
    Leetcode 21. Merge Two Sorted Lists
    Leetcode 143. Reorder List
    J2EE项目应用开发过程中的易错点
    JNDI初认识
    奔腾的代码
  • 原文地址:https://www.cnblogs.com/wantnon/p/5509805.html
Copyright © 2020-2023  润新知