예제 #1
0
    // Update is called once per frame
    void Update()
    {
        a = new Vec3(A);
        b = new Vec3(B);

        Vector3Debugger.UpdatePosition("Blue", a);
        Vector3Debugger.UpdatePosition("Green", b);

        switch (excersice)
        {
        case EXCERSICE.EX_1:
            value = a + b;
            break;

        case EXCERSICE.EX_2:
            value = b - a;
            break;

        case EXCERSICE.EX_3:
            Vec3 aux3 = a;
            aux3.Scale(b);
            value = aux3;
            break;

        case EXCERSICE.EX_4:
            value = Vec3.Cross(b, a);
            break;

        case EXCERSICE.EX_5:
            timer += Time.deltaTime;
            if (timer >= 1)
            {
                timer = 0;
            }

            value = Vec3.Lerp(b, a, timer);
            break;

        case EXCERSICE.EX_6:
            value = Vec3.Max(a, b);
            break;

        case EXCERSICE.EX_7:
            value = Vec3.Project(a, b);
            break;

        case EXCERSICE.EX_8:
            //value = Vec3.ClampMagnitude(??????????)
            break;

        case EXCERSICE.EX_9:
            value = Vec3.Reflect(b, a);
            break;

        case EXCERSICE.EX_10:
            timer += Time.deltaTime;
            if (timer >= 10)
            {
                timer = 0;
            }

            value = Vec3.LerpUnclamped(b, a, timer);
            break;
        }

        Vector3Debugger.UpdateColor("value", vectorColor);
        Vector3Debugger.UpdatePosition("value", value);
    }