void splitZ(GameObject _aSection) { float zSplit = Random.Range(20, _aSection.transform.localScale.z - 20); float zSplit1 = _aSection.transform.localScale.z - zSplit; if (zSplit > 20) { GameObject cube0 = GameObject.CreatePrimitive(PrimitiveType.Cube); cube0.transform.localScale = new Vector3(_aSection.transform.localScale.x, _aSection.transform.localScale.y, zSplit); cube0.transform.position = new Vector3( _aSection.transform.position.x, _aSection.transform.position.y, _aSection.transform.position.z - ((zSplit - _aSection.transform.localScale.z) / 2)); cube0.renderer.material.color = new Color(Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f)); cube0.tag = "GenSection"; leftNode = new BSPNode(); leftNode.setCube(cube0); leftNode.setParentNode(this); GameObject cube1 = GameObject.CreatePrimitive(PrimitiveType.Cube); cube1.transform.localScale = new Vector3(_aSection.transform.localScale.x, _aSection.transform.localScale.y, zSplit1); cube1.transform.position = new Vector3( _aSection.transform.position.x, _aSection.transform.position.y, _aSection.transform.position.z + ((zSplit1 - _aSection.transform.localScale.z) / 2)); cube1.renderer.material.color = new Color(Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f)); cube1.tag = "GenSection"; rightNode = new BSPNode(); rightNode.setCube(cube1); rightNode.setParentNode(this); GameObject.DestroyImmediate(_aSection); } }
void splitX(GameObject _aSection) { float xSplit = Random.Range(20, _aSection.transform.localScale.x - 20); if (xSplit > 20) { GameObject cube0 = GameObject.CreatePrimitive(PrimitiveType.Cube); cube0.transform.localScale = new Vector3(xSplit, _aSection.transform.localScale.y, _aSection.transform.localScale.z); cube0.transform.position = new Vector3( _aSection.transform.position.x - ((xSplit - _aSection.transform.localScale.x) / 2), _aSection.transform.position.y, _aSection.transform.position.z); cube0.GetComponent <Renderer>().material.color = new Color(Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f)); cube0.tag = "GenSection"; leftNode = new BSPNode(); leftNode.setCube(cube0); leftNode.setParentNode(this); GameObject cube1 = GameObject.CreatePrimitive(PrimitiveType.Cube); float split1 = _aSection.transform.localScale.x - xSplit; cube1.transform.localScale = new Vector3(split1, _aSection.transform.localScale.y, _aSection.transform.localScale.z); cube1.transform.position = new Vector3( _aSection.transform.position.x + ((split1 - _aSection.transform.localScale.x) / 2), _aSection.transform.position.y, _aSection.transform.position.z); cube1.GetComponent <Renderer>().material.color = new Color(Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f)); cube1.tag = "GenSection"; rightNode = new BSPNode(); rightNode.setCube(cube1); rightNode.setParentNode(this); GameObject.DestroyImmediate(_aSection); } }
void splitZ(GameObject _aSection) { float zSplit = Random.Range(20,_aSection.transform.localScale.z-20); float zSplit1 = _aSection.transform.localScale.z - zSplit; if (zSplit > 20){ GameObject cube0 = GameObject.CreatePrimitive(PrimitiveType.Cube); cube0.transform.localScale = new Vector3 (_aSection.transform.localScale.x, _aSection.transform.localScale.y,zSplit); cube0.transform.position = new Vector3( _aSection.transform.position.x, _aSection.transform.position.y, _aSection.transform.position.z - ((zSplit - _aSection.transform.localScale.z)/2)); cube0.renderer.material.color = new Color(Random.Range(0.0f,1.0f),Random.Range(0.0f,1.0f), Random.Range(0.0f,1.0f)); cube0.tag = "GenSection"; leftNode = new BSPNode(); leftNode.setCube(cube0); leftNode.setParentNode(this); GameObject cube1 = GameObject.CreatePrimitive(PrimitiveType.Cube); cube1.transform.localScale = new Vector3 (_aSection.transform.localScale.x, _aSection.transform.localScale.y,zSplit1); cube1.transform.position = new Vector3( _aSection.transform.position.x, _aSection.transform.position.y, _aSection.transform.position.z+ ((zSplit1 - _aSection.transform.localScale.z)/2)); cube1.renderer.material.color = new Color(Random.Range(0.0f,1.0f),Random.Range(0.0f,1.0f), Random.Range(0.0f,1.0f)); cube1.tag = "GenSection"; rightNode = new BSPNode(); rightNode.setCube(cube1); rightNode.setParentNode(this); GameObject.DestroyImmediate(_aSection); } }