zoukankan      html  css  js  c++  java
  • 通过组合mesh优化资源

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;

    public class ConbineOpMesh : MonoBehaviour {

    void Start () {
    CombineToMesh (this.gameObject);
    }

    public void CombineToMesh(GameObject _go)
    {
    SkinnedMeshRenderer[] smr = _go.GetComponentsInChildren<SkinnedMeshRenderer> ();
    List<CombineInstance> lcom = new List<CombineInstance> ();

    List<Material> lmat = new List<Material> ();
    List<Transform> ltra = new List<Transform> ();

    for(int i = 0; i < smr.Length; i++)
    {
    lmat.AddRange(smr[i].materials);
    ltra.AddRange(smr[i].bones);
    for(int sub = 0; sub < smr[i].sharedMesh.subMeshCount; sub++)
    {
    CombineInstance ci = new CombineInstance();
    ci.mesh = smr[i].sharedMesh;
    ci.subMeshIndex = sub;
    lcom.Add(ci);
    }
    Destroy (smr[i].gameObject);
    }
    SkinnedMeshRenderer _r = _go.GetComponent<SkinnedMeshRenderer> ();
    if(_r == null)
    {
    _r = _go.AddComponent<SkinnedMeshRenderer>();
    }
    _r.sharedMesh = new Mesh ();
    _r.bones = ltra.ToArray ();
    _r.materials = new Material[]{lmat[0]};
    _r.rootBone = _go.transform;
    _r.sharedMesh.CombineMeshes (lcom.ToArray(),true,false);
    }

    void Update () {

    }
    }

  • 相关阅读:
    SIGGRAPH
    用JSP实现的商城购物车模块
    大数运算
    编写高质量代码改善java程序的151个建议——导航开篇
    Spring3.0 AOP 具体解释
    HDU3400+三分
    Java实现BFS广度优先查找
    Java实现BFS广度优先查找
    Java实现BFS广度优先查找
    Java实现BFS广度优先查找
  • 原文地址:https://www.cnblogs.com/Akishimo/p/4973419.html
Copyright © 2011-2022 走看看