无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

分享到微博請遵守國家法律
襄樊市| 科尔| 苍溪县| 托克托县| 黎川县| 都昌县| 洛川县| 郎溪县| 盐亭县| 饶阳县| 陵水| 马尔康县| 云浮市| 太康县| 明溪县| 桑植县| 仁怀市| 潍坊市| 尚志市| 裕民县| 溆浦县| 四平市| 克拉玛依市| 定襄县| 新龙县| 海丰县| 农安县| 民丰县| 定陶县| 海淀区| 台山市| 隆尧县| 湛江市| 石棉县| 荥阳市| 江华| 松溪县| 青岛市| 萨嘎县| 宝坻区| 利川市|