最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

當(dāng)Cave項(xiàng)目中需要通過手柄的觸摸板或其他除頭盔的控制方式來控制鏡頭旋轉(zhuǎn)和移動時的解

2021-09-26 09:46 作者:TenderRain-  | 我要投稿

當(dāng)Cave項(xiàng)目中需要通過手柄的觸摸板或其他除頭盔的控制方式來控制鏡頭旋轉(zhuǎn)和移動時的解決方案。相Unity和UE4中都有方法控制相機(jī)是否跟隨頭盔位置和旋轉(zhuǎn)朝向

先說下Unity里的SteamVR,控制開關(guān)相機(jī)跟隨頭盔位置和旋轉(zhuǎn)朝向的變量屬性或者方法
unity引擎中已經(jīng)給了一個變量屬性來控制相機(jī)不跟隨頭盔。因此如果只是控制相機(jī)不跟隨頭盔只需要在初始化時將下面這個屬性設(shè)成true就可以了。

UnityEngine.XR.InputTracking.disablePositionalTracking = true;

位置的跟隨方便解決,相應(yīng)的旋轉(zhuǎn)視角的跟隨也已經(jīng)給了個方法進(jìn)行設(shè)置。麻煩在我們找不到這個方法。關(guān)閉相機(jī)跟隨頭盔旋轉(zhuǎn)的也有對應(yīng)的方法,下面的函數(shù)就是關(guān)閉相機(jī)旋轉(zhuǎn)跟隨的,參數(shù)第一個是需要關(guān)閉的哪個相機(jī),第二個就是是否關(guān)閉

UnityEngine.XR.XRDevice.DisableAutoXRCameraTracking(camera, true);

接下去就可以另外控制相機(jī)的旋轉(zhuǎn)以及位置移動了。

下面是我寫的通過手柄的觸摸板控制相機(jī)旋轉(zhuǎn)和移動的代碼

public void ControllerCamera()
 {
 	SteamVR_Action_Boolean m_Teleport = SteamVR_Input.GetAction<SteamVR_Action_Boolean>("Teleport");
 ? ? ? ? SteamVR_Action_Vector2 m_Touch = SteamVR_Input.GetAction<SteamVR_Action_Vector2>("Touch");
 ? ? ? ? //獲取手柄觸摸板的數(shù)值
 ? ? ? ? Vector2 TouchPos = m_Touch.GetAxis(SteamVR_Input_Sources.Any);
 ? ? ? ? //更新相機(jī)角度
 ? ? ? ? RotAngle += (TouchPos.x* RotSpeed);
 ? ? ? ? //設(shè)置相機(jī)角度
 ? ? ? ?PlayerCamera.transform.rotation = Quaternion.Euler(0, RotAngle, 0);
 ? ? ? ?//設(shè)定初始向量
 ? ? ? ?Vector3 dir = new Vector3(0, 0, 1);
 ? ? ? ?//獲取當(dāng)前相機(jī)超前方向的向量
 ? ? ? ?Vector3 newVector = Quaternion.Euler(0, RotAngle, 0) * dir;
 ? ? ? ?//這里我拿個變量接了下數(shù)據(jù),按理說不用接,但我不知道為什么不拿個臨時變量接數(shù)據(jù)移動時方向是反的,乘以-1后也是反的。
 ? ? ? ?float speed = TouchPos.y;
 ? ? ? ?//設(shè)置相機(jī)的偏移(移動相機(jī))
 ? ? ? ? PlayerCamera.transform.Translate(newVector * speed * Time.deltaTime* MoveSpeed, Space.World);//前后移動
 }

最后說下UE4中開關(guān)相機(jī)跟隨頭盔位置和旋轉(zhuǎn)朝向的屬性節(jié)點(diǎn)
相機(jī)屬性中CameraOptions中有下面這個Lock to Hmd這個屬性,將這個勾取消相機(jī)就不會再跟隨頭盔移動和旋轉(zhuǎn)了。


設(shè)置某個相機(jī)不受頭盔控制的藍(lán)圖節(jié)點(diǎn),就是通過相機(jī)變量找到LocktoHmd屬性



當(dāng)Cave項(xiàng)目中需要通過手柄的觸摸板或其他除頭盔的控制方式來控制鏡頭旋轉(zhuǎn)和移動時的解的評論 (共 條)

分享到微博請遵守國家法律
保亭| 永清县| 扎囊县| 安义县| 晋宁县| 南京市| 富锦市| 湖南省| 双流县| 都兰县| 珲春市| 兴山县| 连城县| 冷水江市| 灌云县| 肥西县| 宁陵县| 辽阳市| 都兰县| 土默特左旗| 冕宁县| 天等县| 白城市| 永安市| 勃利县| 凤台县| 平陆县| 枝江市| 青铜峡市| 麟游县| 惠州市| 高雄市| 城固县| 当阳市| 屏南县| 平和县| 卓尼县| 华安县| 鄂尔多斯市| 雷州市| 凤冈县|