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;
         }
     }
 }
Exemple #2
0
    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");
        }
    }