昨天很开心的给大家看我可以用键盘和滑鼠移动视角跟位置就结束了呢,今天来稍微讲讲我的心得吧(?。
因为我想用Unity做有关VR的游戏,我也知道在VR头盔里的显示,跟在一般这样平面的萤幕显示,感觉上是不同的,还有用手部控制器操控,跟用键盘操控也不太一样,所以呢就想到说可以用VR模拟器。
不过呢,不知道是我的设定有问题,还是真的有Bug,总之使用模拟器大失败呢。
不知道有没有人想到,如果我用模拟器的结果,还是用键盘以及平面萤幕显示的话,那为什麽还要用模拟器呢?
这是我在搜索解法中冒出来的问题,我的答案是:辛辛苦苦用模拟器去把键盘跟滑鼠的行为仿造成头盔跟手部控制器,就是为了在有头盔跟控制器时,可以无缝接轨啊!!
阿理论上是这样没错啦,不过现在的现实就是没办法呢(哭),所以昨天才决定试着直接操作键盘滑鼠,而不是定义好虚拟的头盔与手部控制器後,然後再把键盘与滑鼠的输入讯号接过去。
就看到一些人回覆说可以试着改Edit > Project Settings > Player > Configuration > Active Input Handling
成Input 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出在哪,但至少我搞懂了一件事~
>>: LeetCode 双刀流: 26. Remove Duplicates from Sorted Array
继上篇观察整个专案资料夹结构之後,接着来观察子层 components 资料夹里的 HelloWor...
前言 该系列是为了让看过Vue官方文件或学过Vue但是却不知道怎麽下手去重构现在有的网站而去规画的系...
也许你还没听过odoo,但身为开发人员当你认识odoo後,会有相见恨晚的感觉!! odoo,他可以是...
前言 该系列是为了让看过Vue官方文件或学过Vue但是却不知道怎麽下手去重构现在有的网站而去规画的系...
今天终於来到终点拉! 前几届参加一直半途而废的我,这次因为有大团队的组队, 不管是激励或压力,都促使...