void SetClippingPlanes(MeshDistance meshDistance, ClippingPlanes clippingPlanes) { if (IsVisibleToCamera) { if (clippingPlanes.Near > meshDistance.ClosestDistance) { clippingPlanes.Near = meshDistance.ClosestDistance; } if (clippingPlanes.Far < meshDistance.FurthestDistance) { clippingPlanes.Far = meshDistance.FurthestDistance; } } }
public void test() { //body clearance //GameObject obstaclesParent = GameObject.Find("ObstaclesParent"); MeshDistance md = new MeshDistance(); GameObject obstaclesParent = GameObject.Find("ObstaclesParent"); float clearance; float clearanceMin; // clearance load and crane //CreateObstacle co = (CreateObstacle)child.gameObject.GetComponent(typeof(CreateObstacle)); clearanceMin = md.distance(craneLift, craneBody); clearance = md.distance(craneLift, craneMainBoom); Debug.Log("clearnace =" + md.distance(craneLift, craneMainBoom)); if (clearance < clearanceMin) { clearanceMin = clearance; } clearance = md.distance(craneLift, craneSecondBoom); if (clearance < clearanceMin) { clearanceMin = clearance; } clearance = md.distance(craneLift, craneSuperLift); if (clearance < clearanceMin) { clearanceMin = clearance; } //Debug.Log(craneLift.name); if (clearanceMin <= Constants.safetyFactor) { //MeshRenderer rend = (MeshRenderer)child.gameObject.GetComponent(typeof(MeshRenderer)); Renderer rend = (Renderer)craneLift.GetComponent(typeof(Renderer)); rend.material.color = Color.red; //co.changeColorToRed(); //rend.material.color = Color.white; // child.GetComponent<CreateObstacle>().material.color = Color.red; } if (clearanceMin <= 50 && clearanceMin > Constants.safetyFactor) { //MeshRenderer rend = (MeshRenderer)child.gameObject.GetComponent(typeof(MeshRenderer)); Renderer rend = (Renderer)craneLift.GetComponent(typeof(Renderer)); rend.material.color = Color.yellow; //rend.material.color = Color.red; //co.changeColorToYellow(); //rend.material.color = Color.white; // child.GetComponent<CreateObstacle>().material.color = Color.red; } if (clearanceMin > 50) { //MeshRenderer rend = (MeshRenderer)child.gameObject.GetComponent(typeof(MeshRenderer)); Renderer rend = (Renderer)craneLift.GetComponent(typeof(Renderer)); rend.material.color = Color.white; //rend.material.color = Color.red; //co.changeColorToYellow(); //rend.material.color = Color.white; // child.GetComponent<CreateObstacle>().material.color = Color.red; } //CreateObstacle co = (CreateObstacle)child.gameObject.GetComponent(typeof(CreateObstacle)); //rend.material.color = Color.red; //co.changeColor("white"); // For obstacles foreach (Transform child in obstaclesParent.transform) { //CreateObstacle co = (CreateObstacle)child.gameObject.GetComponent(typeof(CreateObstacle)); clearanceMin = md.distance(child.gameObject, craneBody); clearance = md.distance(child.gameObject, craneMainBoom); if (clearance < clearanceMin) { clearanceMin = clearance; } clearance = md.distance(child.gameObject, craneSecondBoom); if (clearance < clearanceMin) { clearanceMin = clearance; } clearance = md.distance(child.gameObject, craneLift); if (clearance < clearanceMin) { clearanceMin = clearance; } clearance = md.distance(child.gameObject, craneSuperLift); if (clearance < clearanceMin) { clearanceMin = clearance; } //Debug.Log(clearanceMin); //Debug.Log(child.name); if (clearanceMin <= Constants.safetyFactor) { //MeshRenderer rend = (MeshRenderer)child.gameObject.GetComponent(typeof(MeshRenderer)); Renderer rend = (Renderer)child.gameObject.GetComponent(typeof(Renderer)); rend.material.color = Color.red; //co.changeColorToRed(); //rend.material.color = Color.white; // child.GetComponent<CreateObstacle>().material.color = Color.red; } if (clearanceMin <= 50 && clearanceMin > Constants.safetyFactor) { //MeshRenderer rend = (MeshRenderer)child.gameObject.GetComponent(typeof(MeshRenderer)); Renderer rend = (Renderer)child.gameObject.GetComponent(typeof(Renderer)); rend.material.color = Color.yellow; //rend.material.color = Color.red; //co.changeColorToYellow(); //rend.material.color = Color.white; // child.GetComponent<CreateObstacle>().material.color = Color.red; } if (clearanceMin > 50) { //MeshRenderer rend = (MeshRenderer)child.gameObject.GetComponent(typeof(MeshRenderer)); Renderer rend = (Renderer)child.gameObject.GetComponent(typeof(Renderer)); rend.material.color = Color.white; //rend.material.color = Color.red; //co.changeColorToYellow(); //rend.material.color = Color.white; // child.GetComponent<CreateObstacle>().material.color = Color.red; } //CreateObstacle co = (CreateObstacle)child.gameObject.GetComponent(typeof(CreateObstacle)); //rend.material.color = Color.red; //co.changeColor("white"); } }