Ejemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        thisRigidbody = this.GetComponent <Rigidbody>();
        //GlobalScalers Script = GetComponent<GlobalScalers>();
        weightscale = 1f;
        //weightscale = Script.weightScale;
        GlobalScalers Script = GameObject.FindGameObjectWithTag("GameController").GetComponent <GlobalScalers>();

        print("Script.largestLink: " + Script.largestLink);
        weightscale = Script.largestLink;


        //gameControl = FindObjectOfType<GameController>();
        //graphControl = FindObjectOfType<GraphController>();
        //weightScale = 1;
        lineRenderer = gameObject.AddComponent <LineRenderer>();

        //color link according to status
        Color c;

        c   = Color.cyan;
        c.a = 0.5f;



        //draw line
        //lineRenderer.material = new Material(Shader.Find("Self-Illumin/Diffuse"));
        lineRenderer.material = new Material(Shader.Find("Particles/Additive"));

        ////lineRenderer.material.color = (c);


        //lineRenderer.material.color = Color.Lerp(colorStart, colorEnd, (Mathf.PingPong(Time.time, 1) / 1));

        //lineRenderer.startColor = (Color.red);
        //lineRenderer.endColor=(c);
        //lineRenderer.SetColors(Color.red, Color.cyan);

        /*
         * float alpha = 1.0f;
         * Gradient gradient = new Gradient();
         * gradient.SetKeys(
         *  new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) },
         *  new GradientAlphaKey[] { new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f) }
         *  );
         * lineRenderer.colorGradient = gradient;
         */

        print("weight" + weight);
        print("weightScale" + weightscale);

        if (direction == true)
        {
            lineRenderer.startWidth = 0.5f * weight / weightscale;
            lineRenderer.endWidth   = 0.1f * weight / weightscale;
            //lineRenderer.SetColors(Color.red, Color.cyan);
            lineRenderer.startColor = Color.blue;
            lineRenderer.endColor   = Color.cyan;
        }
        else
        {
            lineRenderer.startWidth = 0.25f * weight / weightscale;
            lineRenderer.endWidth   = 0.25f * weight / weightscale;
            //lineRenderer.SetColors(Color.red, Color.cyan);
            lineRenderer.startColor = Color.red;
            lineRenderer.endColor   = Color.red;
        }

        //lineRenderer.startWidth = 0.5f;
        //lineRenderer.endWidth = 0.1f;

        lineRenderer.positionCount = 2;
        lineRenderer.SetPosition(0, source.transform.position);
        lineRenderer.SetPosition(1, target.transform.position);

        sourceRb = source.GetComponent <Rigidbody>();
        targetRb = target.GetComponent <Rigidbody>();

        intendedLinkLengthSqr = intendedLinkLength * intendedLinkLength;
    }
Ejemplo n.º 2
0
Archivo: Link.cs Proyecto: Keyansn/FYP
    // Use this for initialization
    void Start()
    {
        thisRigidbody = this.GetComponent <Rigidbody>();

        gameObject.layer = 8;

        //GlobalScalers Script = GetComponent<GlobalScalers>();
        weightscale = 1f;
        //weightscale = Script.weightScale;
        GlobalScalers Script = GameObject.FindGameObjectWithTag("GameController").GetComponent <GlobalScalers>();

        //print("Script.largestLink: " + Script.largestLink);
        weightscale = Script.largestLink;


        //gameControl = FindObjectOfType<GameController>();
        //graphControl = FindObjectOfType<GraphController>();
        //weightScale = 1;
        lineRenderer = gameObject.AddComponent <LineRenderer>();

        //color link according to status
        Color c;

        c   = Color.cyan;
        c.a = 0.5f;



        //draw line
        //lineRenderer.material = new Material(Shader.Find("Self-Illumin/Diffuse"));
        // lineRenderer.material = new Material(Shader.Find("Particles/Additive"));   //THIS WAS THE OG
        lineRenderer.material = material;
        ////lineRenderer.material.color = (c);


        //lineRenderer.material.color = Color.Lerp(colorStart, colorEnd, (Mathf.PingPong(Time.time, 1) / 1));

        //lineRenderer.startColor = (Color.red);
        //lineRenderer.endColor=(c);
        //lineRenderer.SetColors(Color.red, Color.cyan);

        /*
         * float alpha = 1.0f;
         * Gradient gradient = new Gradient();
         * gradient.SetKeys(
         *  new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) },
         *  new GradientAlphaKey[] { new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f) }
         *  );
         * lineRenderer.colorGradient = gradient;
         */

        print("weight" + weight);
        print("weightScale" + weightscale);

        if (direction == true)
        {
            lineRenderer.startWidth = 0.5f * weight / weightscale;
            lineRenderer.endWidth   = 0.1f * weight / weightscale;
            //lineRenderer.SetColors(Color.red, Color.cyan);
            lineRenderer.startColor = Color.blue;
            lineRenderer.endColor   = Color.cyan;
        }
        else
        {
            lineRenderer.startWidth = weight / weightscale;
            lineRenderer.endWidth   = weight / weightscale;
            //lineRenderer.SetColors(Color.red, Color.cyan);

            if (randomColours)
            {
                Color RandColor = new Color(UnityEngine.Random.Range(0f, 1f), UnityEngine.Random.Range(0f, 1f), UnityEngine.Random.Range(0f, 1f), 1f);
                lineRenderer.startColor = RandColor;
                lineRenderer.endColor   = RandColor;
            }
            else if (materialRed == true)
            {
                Color matrd = MaterialRed(Convert.ToInt32(UnityEngine.Random.Range(100f, 900f)));
                lineRenderer.startColor = matrd;
                //colorStart = matrd;
                lineRenderer.endColor = matrd;
            }
            else
            {
                lineRenderer.startColor = Color.grey;
                lineRenderer.endColor   = Color.grey;
            }



            //lineRenderer.startColor = Color.red;
            //lineRenderer.endColor = Color.red;
        }

        //lineRenderer.startWidth = 0.5f;
        //lineRenderer.endWidth = 0.1f;

        lineRenderer.positionCount = 4;
        lineRenderer.SetPosition(0, source.transform.position);
        lineRenderer.SetPosition(1, 0.75f * source.transform.position + 0.25f * target.transform.position);
        lineRenderer.SetPosition(2, 0.25f * source.transform.position + 0.75f * target.transform.position);
        lineRenderer.SetPosition(3, target.transform.position);


        sourceRb = source.GetComponent <Rigidbody>();
        targetRb = target.GetComponent <Rigidbody>();

        intendedLinkLengthSqr = intendedLinkLength * intendedLinkLength;

        intendedLinkLength = GameObject.Find("GameController").GetComponent <GraphController>().LinkLength;
        forceStrength      = GameObject.Find("GameController").GetComponent <GraphController>().forceStrength;
    }