iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
Software Development

從零開始了解Unity或Unreal Engine應用於VR軟體開發系列 第 8

Day 8. 我在解VR Simulator的Bug的途中,常看到叫人改Active Input Handling的設定

昨天很開心的給大家看我可以用鍵盤和滑鼠移動視角跟位置就結束了呢,今天來稍微講講我的心得吧(?。
 
 
因為我想用Unity做有關VR的遊戲,我也知道在VR頭盔裡的顯示,跟在一般這樣平面的螢幕顯示,感覺上是不同的,還有用手部控制器操控,跟用鍵盤操控也不太一樣,所以呢就想到說可以用VR模擬器。

不過呢,不知道是我的設定有問題,還是真的有Bug,總之使用模擬器大失敗呢。
 


 
不知道有沒有人想到,如果我用模擬器的結果,還是用鍵盤以及平面螢幕顯示的話,那為什麼還要用模擬器呢?
 
 
這是我在搜索解法中冒出來的問題,我的答案是:辛辛苦苦用模擬器去把鍵盤跟滑鼠的行為仿造成頭盔跟手部控制器,就是為了在有頭盔跟控制器時,可以無縫接軌啊!!
 
 
阿理論上是這樣沒錯啦,不過現在的現實就是沒辦法呢(哭),所以昨天才決定試著直接操作鍵盤滑鼠,而不是定義好虛擬的頭盔與手部控制器後,然後再把鍵盤與滑鼠的輸入訊號接過去
 
 


 
 

好啦好啦,廢話太多了,今天真正想講的是有關Input這件事,當時在查找用鍵盤跟滑鼠操作時,畫面到底為什麼沒有跟著動的原因時

就看到一些人回覆說可以試著改Edit > Project Settings > Player > Configuration > Active Input HandlingInput System Package(New)Both
 
 
顧名思義啊,Input就是你敲打鍵盤或滑鼠、控制器等等所產生的Input訊號,而Unity有推出了新的Input管理Package,但同時也保留了舊的Input管理方式,所以才會提供你選擇的機會,單用Old、New、或兩者都用。


 
 
 
 
 
那我使用的XR interaction toolkit,他的Input設定,是使用Input System Package製成的,也就是新版的Input管理。

雙擊那個有藍色閃電的三折頁檔案,就會跳出3.這個視窗,這邊就會顯示你的Input設定是BlahBlah的。

而如果你想用新版Input package自製,可以點擊4.Input Action,就會新增一個藍色閃電的三折頁檔案。
 
 
 
 
我前幾天在操作時,會出現下面這個警告的原因也是因為,我的Project在有使用了新版Input package的情況下,Player那裡的設定還是維持Old的關係。

 
 
 
 
我昨天那個,直接操作鍵盤與滑鼠控制的程式碼呢,則是使用舊版Input管理,就是用UnityEngine.Input的Method去實現的。

像FlyCamera.cs裡面的Input.GetMouseButton(1),就是在說:如果(滑鼠右鍵一直按著的話){就...}。

//FlyCamera.cs
using UnityEngine;
using System.Collections;
 
public class FlyCamera : MonoBehaviour {

    void Update () {
        if (Input.GetMouseButton(1)) { // 0 左鍵, 1 右鍵, 2 滾輪
            ...
        }
    }
}

 
雖然還是不知道Bug出在哪,但至少我搞懂了一件事~


上一篇
Day 7. 算了,假裝我成功假裝我有VR頭盔好了
下一篇
Day 9. 來Build遊戲看看
系列文
從零開始了解Unity或Unreal Engine應用於VR軟體開發28

1 則留言

0
長風青雲
iT邦新手 4 級 ‧ 2021-09-23 22:05:10

@@我想想 等之後我上研究所的時候
拿錢錢來買頭盔好了XDDD
可以玩又可以更接觸一下我們的VR~

我要留言

立即登入留言