国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

分享到微博請遵守國家法律
米脂县| 金寨县| 高邑县| 馆陶县| 金山区| 新昌县| 屯昌县| 柘城县| 焦作市| 苏州市| 原平市| 淳安县| 新民市| 河西区| 玉门市| 佛冈县| 通化县| 新晃| 得荣县| 大竹县| 新郑市| 临西县| 台江县| 萍乡市| 务川| 昭平县| 卓资县| 遵义县| 如皋市| 凤冈县| 景洪市| 青浦区| 龙里县| 胶州市| 宁强县| 调兵山市| 大足县| 阳原县| 广德县| 灵川县| 玉溪市|