CombineChildren_Customの利用

CombineChildren_Customの利用

複数の子のメッシュを一つのメッシュへと統合する
この際、コリジョンまでは作成されないので、うまく作る必要がある

using UnityEngine;
using System.Collections;

public class combineTest : MonoBehaviour {

  // Use this for initialization
   void Start () {
       this.gameObject.AddComponent<CombineChildren_Custom>();
       GetComponent<CombineChildren_Custom>().Combine();        //Combine()はメッシュのみでコリジョンは生成しない 
       Destroy(GetComponent<CombineChildren_Custom>());
       
       //子の元データの削除
       Transform[] child = this.gameObject.GetComponentsInChildren<Transform>();
       for (int i = 1; i < child.Length; i++) {    //iを1にしてrootを避けてる
           Destroy(child[i].gameObject);
       }
       
       this.gameObject.AddComponent<MeshCollider>();
       GetComponent<MeshCollider>().sharedMesh = GetComponent<MeshFilter>().mesh;
       //コンバインしたメッシュからコリジョンを作る
       //http://docs-jp.unity3d.com/Documentation/ScriptReference/MeshCollider-sharedMesh.html
   }
   
   // Update is called once per frame
   void Update () {
   
   }
}

メニュー



  • 最終更新:2014-06-13 12:13:33

このWIKIを編集するにはパスワード入力が必要です

認証パスワード