コード例 #1
0
    void _OnPressureChange()
    {
        int press = press_pen.getFrame().pressure;

        if (press > pressure_level_division[1])
        {
            pressure_level = PRESSURE_LEVEL.LEVEL_2;
        }
        else if (press > pressure_level_division[0])
        {
            pressure_level = PRESSURE_LEVEL.LEVEL_1;
        }
        else
        {
            pressure_level = PRESSURE_LEVEL.LEVEL_0;
        }

        OnPoseChange.Invoke();

        Matrix4x4 trasformation_mat = press_pen.getFrame().rt_mat *press_pen.dodeca_tracker_thread.dodeca_tracker.pen_tip_pose;

        direction = trasformation_mat.ExtractRotation() * new Vector3(0.0f, 0.0f, 1.0f);
    }
コード例 #2
0
    void TestUpdate()
    {
        if (Input.GetKey(KeyCode.Q))
        {
            this.transform.Translate(new Vector3(0.0f, 0.0f, 0.1f));
        }
        if (Input.GetKey(KeyCode.E))
        {
            this.transform.Translate(new Vector3(0.0f, 0.0f, -0.1f));
        }
        if (Input.GetKey(KeyCode.W))
        {
            this.transform.Translate(new Vector3(0.0f, 0.1f, 0.0f));
        }
        if (Input.GetKey(KeyCode.S))
        {
            this.transform.Translate(new Vector3(0.0f, -0.1f, 0.0f));
        }
        if (Input.GetKey(KeyCode.A))
        {
            this.transform.Translate(new Vector3(-0.1f, 0.0f, 0.0f));
        }
        if (Input.GetKey(KeyCode.D))
        {
            this.transform.Translate(new Vector3(0.1f, 0.0f, 0.0f));
        }

        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            pressure_level += 1;
            if (pressure_level > PRESSURE_LEVEL.LEVEL_2)
            {
                pressure_level = PRESSURE_LEVEL.LEVEL_2;
            }
            Debug.Log(pressure_level);
            switch (pressure_level)
            {
            case PRESSURE_LEVEL.LEVEL_1:
                OnPressureExceed_01.Invoke();
                break;

            case PRESSURE_LEVEL.LEVEL_2:
                OnPressureExceed_12.Invoke();
                break;
            }
        }
        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            pressure_level -= 1;
            if (pressure_level < PRESSURE_LEVEL.LEVEL_0)
            {
                pressure_level = PRESSURE_LEVEL.LEVEL_0;
            }
            Debug.Log(pressure_level);
            switch (pressure_level)
            {
            case PRESSURE_LEVEL.LEVEL_0:
                OnPressureDeceed_01.Invoke();
                break;

            case PRESSURE_LEVEL.LEVEL_1:
                OnPressureDeceed_12.Invoke();
                break;
            }
        }
    }