Exemplo n.º 1
0
    static void InitScene()
    {
        //デフォルトのMainCameraをDeactivate
        if (Camera.main != null)
        {
            Undo.RecordObject(Camera.main.gameObject, "Deactivate Camera");
            Camera.main.gameObject.SetActive(false);
        }

        //Hologlaのオブジェクト群を配置
        GameObject hologlaCameraParentRoot = InstantiatePrefab(LoadAssetAtPath <GameObject>(HOLOGLA_CAMERA_PARENT_PATH)) as GameObject;

        Undo.RegisterCreatedObjectUndo(hologlaCameraParentRoot, "Create " + hologlaCameraParentRoot.name);
        GameObject hologlaInput = InstantiatePrefab(LoadAssetAtPath <GameObject>(HOLOGLA_INPUT_PATH)) as GameObject;

        Undo.RegisterCreatedObjectUndo(hologlaInput, "Create " + hologlaInput.name);
//		var playMenu = InstantiatePrefab(LoadAssetAtPath<GameObject>(PLAYMENU_PATH)) as GameObject;
//		Undo.RegisterCreatedObjectUndo(playMenu, "Create " + playMenu.name);

        //ルートのHologlaCameraParentの子のHologlaCameraを取得(HologlaCameraManagerが付いてる方).
        GameObject hologlaCameraParent = hologlaCameraParentRoot.transform.Find("HologlaCamera").gameObject;

        HologlaCameraManager hologlaCameraManager = hologlaCameraParent.GetComponent <HologlaCameraManager>();

        ApplyHologlaInputSetting(hologlaCameraManager, hologlaInput.GetComponent <HologlaInput>( ));

        //AR機能利用用にARSession用コンポーネントの有無を確認し、ない場合は生成する.
        if (0 == GameObject.FindObjectsOfType <UnityEngine.XR.ARFoundation.ARSession>().Length)
        {
            //ARSession用オブジェクトを生成する(4.1.5現在、メニューから追加できるGameObjectのARSessionと同じもの).
            ObjectFactory.CreateGameObject("AR Session", typeof(UnityEngine.XR.ARFoundation.ARSession), typeof(UnityEngine.XR.ARFoundation.ARInputManager));
        }

        return;
    }
Exemplo n.º 2
0
        public void InterpupillaryDistanceInputFieldEndEdit(string val)
        {
            endEditInputField(InterpupillaryDistanceInputField, InterpupillaryDistanceSlider);

            HologlaCameraManager hologlaCameraManager = HologlaCameraManagerObj.GetComponent <HologlaCameraManager>();

            hologlaCameraManager.ApplyIPD(InterpupillaryDistanceSlider.value);
        }
Exemplo n.º 3
0
        public void InterpupillaryDistanceInputFieldChanged(string val)
        {
            changeInputField(InterpupillaryDistanceSlider, val);

            HologlaCameraManager hologlaCameraManager = HologlaCameraManagerObj.GetComponent <HologlaCameraManager>();

            hologlaCameraManager.ApplyIPD(InterpupillaryDistanceSlider.value);
        }
Exemplo n.º 4
0
        public void InterpupillaryDistanceSliderChanged(float val)
        {
            changeSlider(InterpupillaryDistanceInputField, val);

            HologlaCameraManager hologlaCameraManager = HologlaCameraManagerObj.GetComponent <HologlaCameraManager>();

            hologlaCameraManager.ApplyIPD(val);
        }
Exemplo n.º 5
0
    //HologlaInputに初期の関連づけを行う.
    static void ApplyHologlaInputSetting(HologlaCameraManager hologlaCameraManager, HologlaInput hologlaInput)
    {
        GazeInput gazeInput;

        gazeInput = hologlaCameraManager.GetComponent <GazeInput>( );
        UnityEventTools.RemovePersistentListener(hologlaInput.onPressLeftAndRight, gazeInput.InputLeftAndRightEvent);
        UnityEventTools.AddPersistentListener(hologlaInput.onPressLeftAndRight, gazeInput.InputLeftAndRightEvent);
        UnityEventTools.RemovePersistentListener(hologlaInput.LeftButtonComp.onClick, gazeInput.InputLeftEvent);
        UnityEventTools.AddPersistentListener(hologlaInput.LeftButtonComp.onClick, gazeInput.InputLeftEvent);
        UnityEventTools.RemovePersistentListener(hologlaInput.RightButtonComp.onClick, gazeInput.InputRightEvent);
        UnityEventTools.AddPersistentListener(hologlaInput.RightButtonComp.onClick, gazeInput.InputRightEvent);

        return;
    }
Exemplo n.º 6
0
        void Start()
        {
            XRSettings.enabled = false;

            settingDefaultValues();

            fisheyes_ = HandMRManagerObj.MRObject.GetComponentsInChildren <FisheyeURP>();

            float iDistanceValue = PlayerPrefs.GetFloat("HandMR_InterpupillaryDistance", interpupillaryDistanceDefault_);

            InterpupillaryDistanceSlider.value    = iDistanceValue;
            InterpupillaryDistanceInputField.text = "" + (int)iDistanceValue;
            ScreenSizeDropdown.value = PlayerPrefs.GetInt("HandMR_ScreenSize", screenSizeDefault_);

            float fisheyeFieldOfView = PlayerPrefs.GetFloat("HandMR_FisheyeFieldOfView", fisheyeFieldOfViewDefault_);

            FisheyeFieldOfViewSlider.value    = fisheyeFieldOfView;
            FisheyeFieldOfViewInputField.text = "" + (int)fisheyeFieldOfView;
            float fisheyeRate = PlayerPrefs.GetFloat("HandMR_URP_Intensity", fisheyeRateDefault_);

            FisheyeRateSlider.value    = fisheyeRate;
            FisheyeRateInputField.text = "" + (int)fisheyeRate;
            float fisheyeCenter = PlayerPrefs.GetFloat("HandMR_FisheyeCenter", fisheyeCenterDefault_);

            FisheyeCenterSlider.value    = fisheyeCenter;
            FisheyeCenterInputField.text = "" + (int)fisheyeCenter;
            float scale = PlayerPrefs.GetFloat("HandMR_URP_Scale", scaleDefault_);

            ScaleSlider.value    = scale;
            ScaleInputField.text = "" + (int)scale;

            HandMRManagerObj.ViewModeChange(HandMRManager.Mode.VR);

            foreach (FisheyeURP fisheye in fisheyes_)
            {
                fisheye.Intensity      = PlayerPrefs.GetFloat("HandMR_URP_Intensity", fisheyeRateDefault_) * 0.01f;
                fisheye.CenterPosition = PlayerPrefs.GetFloat("HandMR_FisheyeCenter", fisheyeCenterDefault_) * 0.01f;
                fisheye.Scale          = PlayerPrefs.GetFloat("HandMR_URP_Scale", scaleDefault_) * 0.01f;
            }
            HandMRManagerObj.FieldOfView = PlayerPrefs.GetFloat("HandMR_FisheyeFieldOfView", fisheyeFieldOfViewDefault_);

            HologlaCameraManager hologlaCameraManager = HologlaCameraManagerObj.GetComponent <HologlaCameraManager>();

            hologlaCameraManager.ApplyIPD(PlayerPrefs.GetFloat("HandMR_InterpupillaryDistance", interpupillaryDistanceDefault_));
            hologlaCameraManager.SwitchViewSize((HologlaCameraManager.ViewSize)PlayerPrefs.GetInt("HandMR_ScreenSize", screenSizeDefault_));
        }
Exemplo n.º 7
0
    // Use this for initialization
    void Start( )
    {
        isLaunchGameScene = UserSettings.isLaunchGameScene;

        if (null == hologlaManager)
        {
            hologlaManager = GameObject.FindObjectOfType <HologlaCameraManager>( );
        }
        if (null == hologlaInput)
        {
            hologlaInput = GameObject.FindObjectOfType <HologlaInput>( );
        }
        RegisterMenuTransReset( );
        ResetMenuPosition( );
        ResetMenuRotation( );

        UpdateSelectFrame( );

        return;
    }
Exemplo n.º 8
0
        public void ScreenSizeDropdownChanged(int val)
        {
            HologlaCameraManager hologlaCameraManager = HologlaCameraManagerObj.GetComponent <HologlaCameraManager>();

            hologlaCameraManager.SwitchViewSize((HologlaCameraManager.ViewSize)val);
        }
Exemplo n.º 9
0
        void Start()
        {
            if (HandMRManagerObj == null || HologlaCameraManagerObj == null || HandVRMainObj == null ||
                LeftButton == null || RightButton == null)
            {
                return;
            }

            HandVRMainObj.ShiftX = PlayerPrefs.GetFloat("HandMR_HandPositionX", 0f) * 0.001f;

            HandMRManagerObj.HandDetectionMode =
                (HandMRManager.HandDetection)PlayerPrefs.GetInt("HandMR_HandDetectionMode", (int)HandMRManager.HandDetection.Both);

            int mode = PlayerPrefs.GetInt("HandMR_GoogleMode", 0);

            if (mode <= 1)
            {
                HandMRManagerObj.ViewModeChange(HandMRManager.Mode.MR);

                if (PlayerPrefs.GetInt("HandMR_PhonePosition", 0) == 0)
                {
                    HandVRMainObj.ShiftY = PlayerPrefs.GetFloat("HandMR_HandPositionY", 0f) * -0.001f;
                }
                else
                {
                    HandVRMainObj.ShiftY   = PlayerPrefs.GetFloat("HandMR_HandPositionY", 0f) * 0.001f;
                    LeftButton.localScale  = new Vector3(LeftButton.localScale.x, -LeftButton.localScale.y, LeftButton.localScale.z);
                    RightButton.localScale = new Vector3(RightButton.localScale.x, -RightButton.localScale.y, RightButton.localScale.z);
                }

                HologlaCameraManager hologlaCameraManager = HologlaCameraManagerObj.GetComponent <HologlaCameraManager>();

                if (mode == 1)
                {
                    hologlaCameraManager.SwitchEyeMode(HologlaCameraManager.EyeMode.SingleEye);
                }

                hologlaCameraManager.ApplyIPD(PlayerPrefs.GetFloat("HandMR_InterpupillaryDistance", 64f));
                hologlaCameraManager.SwitchViewSize((HologlaCameraManager.ViewSize)PlayerPrefs.GetInt("HandMR_ScreenSize", 0));
            }
            else if (mode == 2)
            {
                HandMRManagerObj.ViewModeChange(HandMRManager.Mode.VR);

#if ENABLE_URP
                FisheyeURP[] fisheyeURPs = HandMRManagerObj.MRObject.GetComponentsInChildren <FisheyeURP>();
                foreach (FisheyeURP fisheye in fisheyeURPs)
                {
                    fisheye.Intensity      = PlayerPrefs.GetFloat("HandMR_URP_Intensity", 58f) * 0.01f;
                    fisheye.CenterPosition = PlayerPrefs.GetFloat("HandMR_FisheyeCenter", 50f) * 0.01f;
                    fisheye.Scale          = PlayerPrefs.GetFloat("HandMR_URP_Scale", 100f) * 0.01f;
                }
#else
                fisheyes_ = HandMRManagerObj.MRObject.GetComponentsInChildren <Fisheye>();
                foreach (Fisheye fisheye in fisheyes_)
                {
                    fisheye.Rate   = PlayerPrefs.GetFloat("HandMR_FisheyeRate", 58f) * 0.01f;
                    fisheye.Center = PlayerPrefs.GetFloat("HandMR_FisheyeCenter", 50f) * 0.01f;
                }
#endif
                HandMRManagerObj.FieldOfView = PlayerPrefs.GetFloat("HandMR_FisheyeFieldOfView", 90f);

                LeftButton.GetChild(0).GetComponent <Image>().enabled  = false;
                RightButton.GetChild(0).GetComponent <Image>().enabled = false;

                HologlaCameraManager hologlaCameraManager = HologlaCameraManagerObj.GetComponent <HologlaCameraManager>();
                hologlaCameraManager.ApplyIPD(PlayerPrefs.GetFloat("HandMR_InterpupillaryDistance", 64f));
                hologlaCameraManager.SwitchViewSize((HologlaCameraManager.ViewSize)PlayerPrefs.GetInt("HandMR_ScreenSize", 0));
            }
            else if (mode == 3)
            {
                HandMRManagerObj.ViewModeChange(HandMRManager.Mode.VRSingle);
            }
            else
            {
                HandVRMainObj.ShiftX = 0f;
                HandMRManagerObj.ViewModeChange(HandMRManager.Mode.AR);
            }

            if (HandAreaObj != null)
            {
                HandAreaObj.SetActive(PlayerPrefs.GetInt("HandMR_HandArea", 1) != 0);
            }
        }