Esempio n. 1
0
        internal void Initialize(UTextureData data, int index, bool newObj)
        {
            m_Mesh  = data.terrain.GetSubMesh(index);
            m_Index = index;
            if (m_Terrain == null || newObj)
            {
                m_Terrain = data.terrain;
            }
            Transform trans = data.gameObject.transform.Find("SubMesh" + index.ToString());

            if (trans != null)
            {
                m_GameObject = trans.gameObject;
            }
            if (m_GameObject == null || newObj)
            {
                m_GameObject = new GameObject("SubMesh" + index.ToString(), typeof(MeshFilter), typeof(MeshRenderer));
                m_GameObject.transform.parent                       = data.gameObject.transform;
                m_GameObject.transform.localPosition                = Vector3.zero;
                m_GameObject.transform.localEulerAngles             = Vector3.zero;
                m_GameObject.transform.localScale                   = Vector3.one;
                m_GameObject.GetComponent <MeshFilter>().sharedMesh = m_Mesh;
                m_GameObject.hideFlags = HideFlags.None;
                if (m_Passes.Count > 0)
                {
                    UpdateMats();
                }
                else
#if UNITY_EDITOR
                { m_GameObject.GetComponent <MeshRenderer>().sharedMaterial = m_Terrain.oldMaterials[index]; }
#else
                { m_GameObject.GetComponent <MeshRenderer>().material = m_Terrain.oldMaterials[index]; }
#endif
            }
#if UNITY_EDITOR
            EditorUtility.SetSelectedWireframeHidden(m_GameObject.GetComponent <Renderer>(), true);
#endif
            m_Passes.ForEach(g => g.Initialize());
        }
Esempio n. 2
0
 public USubMesh(UTextureData data, int index)
 {
     Initialize(data, index);
 }
Esempio n. 3
0
 public void Initialize(UTextureData data, int index)
 {
     Initialize(data, index, false);
 }