Esempio n. 1
0
        void Update()
        {
            // Menu 버튼
            if (bool_is_left_hand && menuAction.GetStateDown(left_hand))
            {
                text.text = "Sym.Sym4D_X_SendMosionData(0, 0);";
                Sym.Sym4D_X_SendMosionData(0, 0);
                Sym.Sym4D_W_SendMosionData(0);
            }
            else if (false == bool_is_left_hand && menuAction.GetStateDown(right_hand))
            {
                text.text = "Sym.Sym4D_X_SendMosionData(100, 0);";
                Sym.Sym4D_X_SendMosionData(100, 0);
                Sym.Sym4D_W_SendMosionData(50);
            }

            if (bool_is_left_hand && trigger.GetStateDown(left_hand))
            {
                text.text = "Sym.Sym4D_X_SendMosionData(0, 100);";
                Sym.Sym4D_X_SendMosionData(0, 100);
                Sym.Sym4D_W_SendMosionData(100);
            }
            else if (false == bool_is_left_hand && trigger.GetStateDown(right_hand))
            {
                text.text = "Sym.Sym4D_X_SendMosionData(-0, -100);";
                Sym.Sym4D_X_SendMosionData(0, -100);
                Sym.Sym4D_W_SendMosionData(75);
            }
        }
Esempio n. 2
0
        //void Update()
        //{
        //    currJoyX = Input.GetAxis("Horizontal");
        //    currJoyY = Input.GetAxis("Vertical");
        //    Debug.Log($"joyX={currJoyX} / joyY={currJoyY}");
        //    if (currJoyX != prevJoyX)
        //    {
        //        //Change Roll
        //        prevJoyX = currJoyX;
        //        StartCoroutine(ChangeRollNPitch());
        //    }

        //    if (currJoyY != prevJoyY)
        //    {
        //        //Change Pitch
        //        prevJoyY = currJoyY;
        //        StartCoroutine(ChangeRollNPitch());
        //    }
        //}

        IEnumerator ChangeRollNPitch()
        {
            yield return(new WaitForSeconds(0.1f));

            //Sym4D-X100 COM Port Open  및 컨텐츠 시작을 장치에 전달
            Sym.Sym4D_X_StartContents(xPort);
            yield return(new WaitForSeconds(0.1f));

            Sym.Sym4D_X_SendMosionData((int)-currJoyX * 100, (int)currJoyY * 100);


            yield return(new WaitForSeconds(0.1f));
        }
Esempio n. 3
0
        void Awake()
        {
            // VR
            trigger    = SteamVR_Actions.default_InteractUI;
            menuAction = SteamVR_Actions.default_MenuButton;
            left_hand  = SteamVR_Input_Sources.LeftHand;
            right_hand = SteamVR_Input_Sources.RightHand;


            //포트번호 설정
            xPort = Sym.Sym4D_X_Find();
            wPort = Sym.Sym4D_W_Find();

            //Sym4D-X100 COM Port Open  및 컨텐츠 시작을 장치에 전달
            Sym.Sym4D_X_StartContents(xPort);
            Sym.Sym4D_W_StartContents(wPort);

            //Roll, Pitch 최대허용 각도(0 ~ 100) : 0도 ~ 10도
            Sym.Sym4D_X_SetConfig(100, 100);
            Sym.Sym4D_W_SetConfig(100);
        }
Esempio n. 4
0
        //포트 번호 초기화 및 기본 테스트
        IEnumerator Init()
        {
            //print("Init");
            ////포트번호 설정
            //xPort = Sym.Sym4D_X_Find();
            //wPort = Sym.Sym4D_W_Find();

            //yield return ws;
            //Debug.Log($"X Port={xPort} W Port={wPort}");

            ////Sym4D-X100 COM Port Open  및 컨텐츠 시작을 장치에 전달
            //Sym.Sym4D_X_StartContents(xPort);
            //yield return ws;

            // 선생님이 안된다고 말씀하셨음.
            //Sym.Sym4D_X_New_SendVibration(100);
            //yield return ws;

            ////Roll, Pitch 최대허용 각도(0 ~ 100) : 0도 ~ 10도
            //Sym.Sym4D_X_SetConfig(100, 100);
            //yield return ws;

            //Sym4D-X100에 모션 데이터 전달(-100 ~ +100)
            Sym.Sym4D_X_SendMosionData(0, 0);
            yield return(ws);

            Sym.Sym4D_X_SendMosionData(100, 100);
            yield return(ws);

            Sym.Sym4D_X_SendMosionData(-100, -100);
            yield return(ws);

            Sym.Sym4D_X_SendMosionData(100, -100);
            yield return(ws);

            Sym.Sym4D_X_SendMosionData(-100, 100);
            yield return(ws);

            Sym.Sym4D_X_SendMosionData(0, 0);
            yield return(ws);

            Sym.Sym4D_X_EndContents();
            yield return(ws);


            //Wind 테스트
            Sym.Sym4D_W_StartContents(wPort);
            yield return(ws);

            Sym.Sym4D_W_SendMosionData(0);
            yield return(new WaitForSeconds(1));

            Sym.Sym4D_W_SendMosionData(50);
            yield return(new WaitForSeconds(5));

            Sym.Sym4D_W_SendMosionData(100);
            yield return(new WaitForSeconds(5));

            Sym.Sym4D_W_SendMosionData(50);
            yield return(new WaitForSeconds(5));

            Sym.Sym4D_W_SendMosionData(0);
            yield return(ws);

            Sym.Sym4D_W_EndContents();
        }
Esempio n. 5
0
 void OnDestroy()
 {
     Sym.Sym4D_X_EndContents();
     Sym.Sym4D_W_EndContents();
 }