public void Hide() { if (qtMesh == null) { QTManager.Instance.activeTerrain.RemoveFromUpdateList(this); } else { qtMesh.Destroy(); qtMesh = null; } QTManager.Instance.activeTerrain.activeNodeListArray [lodLevel].Remove(this); isDisplay = false; }
public void CalculateMesh() { tempNode = null; for (int i = 0; i < updateList.Count; i++) { tempNode = updateList [i]; tempNode.qtMesh = LCQTMesh.CreatObject(); tempNode.qtMesh.transform.parent = transform; tempNode.qtMesh.transform.position = transform.position; tempNode.qtMesh.meshRenderer.material = mat; tempNode.qtMesh.CreatMesh(tempNode.center, tempNode.length, tempNode.GetNeighbourStatusArray(), splitCount); //node.qtMesh.CreatMesh (node.center,node.length,new bool[]{false,false,false,false},splitCount); tempNode.qtMesh.gameObject.SetActive(true); } updateList.Clear(); }
private void Hide(bool isDestroy = false) { if (qtMesh == null) { QTManager.Instance.activeTerrain.RemoveFromUpdateList(this); } else { qtMesh.gameObject.SetActive(false); if (isDestroy) { qtMesh.Destroy(); qtMesh = null; } } QTManager.Instance.activeTerrain.activeNodeListArray [lodLevel].Remove(this); isDisplay = false; }
public void CalculateMesh() { _tempNode = null; for (int i = 0; i < updateList.Count; i++) { _tempNode = updateList [i]; _tempNode.qtMesh = LCQTMesh.CreatObject(); _tempNode.qtMesh.transform.parent = transform; _tempNode.qtMesh.transform.localPosition = Vector3.zero; _tempNode.qtMesh.transform.localRotation = Quaternion.Euler(new Vector3(0f, 0f, 0f)); _tempNode.qtMesh.meshRenderer.material = _planet.mat; _tempNode.qtMesh.CreatMesh(_tempNode, _tempNode.GetNeighbourStatusArray(), _planet.splitCount); //node.qtMesh.CreatMesh (node.center,node.length,new bool[]{false,false,false,false},splitCount); _tempNode.qtMesh.gameObject.SetActive(true); } updateList.Clear(); }
public static LCQTMesh CreatObject() { if (PoolManager.Instance.HasPoolObject(typeof(LCQTMesh))) { LCQTMesh mesh = PoolManager.Instance.TakePoolObject(typeof(LCQTMesh)) as LCQTMesh; return(mesh); } else { GameObject temp = new GameObject(); temp.hideFlags = HideFlags.HideInHierarchy; LCQTMesh qtmesh = temp.AddComponent <LCQTMesh> (); qtmesh.mesh = new Mesh(); qtmesh.meshFilter = temp.AddComponent <MeshFilter>(); qtmesh.meshFilter.mesh = qtmesh.mesh; qtmesh.meshRenderer = temp.AddComponent <MeshRenderer>(); qtmesh.meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; qtmesh.meshRenderer.receiveShadows = false; qtmesh.meshCollider = temp.AddComponent <MeshCollider>(); qtmesh.meshCollider.sharedMesh = qtmesh.mesh; return(qtmesh); } }