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

歡迎光臨散文網(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)和移動時的解的評論 (共 條)

分享到微博請遵守國家法律
宁海县| 平阳县| 南京市| 德江县| 平山县| 新巴尔虎左旗| 方城县| 中宁县| 民丰县| 丹江口市| 扎赉特旗| 淮南市| 元氏县| 平南县| 西乌| 黎川县| 商河县| 万安县| 泗洪县| 寿阳县| 喀什市| 天柱县| 宣威市| 汨罗市| 佳木斯市| 马边| 东城区| 贡觉县| 恩施市| 宁城县| 革吉县| 沂源县| 富民县| 广饶县| 神农架林区| 调兵山市| 略阳县| 石城县| 绥德县| 马边| 秦皇岛市|