|
9 t" C& r+ D" ~8 ~' q5 ?输入系统(术语)ar开发公司的最新消息可以到我们平台网站了解一下,也可以咨询客服人员进行详细的解答!http://www.2d3d5d.net/- d/ j! G+ P% j0 D1 X1 M2 N4 K
2 s2 e% ?7 d1 H, j在MRTK提供的所有功能中,输入系统是比较大的系统之一。工具箱中的许多东西都是在它之上构建的(指针、焦点、预设)。输入系统中的代码允许在跨平台之间进行自然交互,比如抓取和旋转。2 M/ ~ o* s5 ?& K6 m, ]/ ?4 L
2 v& f [9 X0 g, O$ i+ h: G
; u! N0 Y( `5 o3 b
# x* b; J2 O# ^, D我们在这里说明一些有价值的术语:% ^4 m3 d8 O3 W( X9 k3 ]7 a! Z) o% K
4 W, Q7 h+ {' I; t8 b {7 h% M! w8 J5 X w
" n" A6 m7 Y9 @$ L数据源(D)
% ?- e$ } g7 `) v/ F( T; \5 L6 {0 A% Q0 S4 X K( U l( q. c) T4 I
在输入配置文件中对输入数据提供者的一个引用——换句话说它是输入设备的管理器。这个组件的作用是把底层系统的输入数据桥接成MRTK所使用的输入数据。其中一个例子是W混合现(WMR)的适配,它的工作是把通过W混合现(WMR)输入的数据转化为MRTK所使用的输入数据。另外一个例子是OVR适配(它的工作室通过OVR得到输入动作并转化为MRTK所接受的数据)。
2 \1 B* M# u5 W1 d+ G6 j) ~+ L: t5 D: F( v9 W
' n' K! f z9 n' A6 l: N- Y0 Q6 {/ h7 B, C3 H& z; ~$ [/ L
控制器(C)" C7 i, |$ M' Y( {* Q
* V6 [) [. f6 @! t* X. l2 F* t0 B
物理控制器的抽象(包括所有的六轴手柄,HL1提供的空间手柄,全关节的手部捕捉器或者LM等等输入设备)。控制器派生于设备管理器(比如,一个WMR(混合现)设备管理器会捕捉一个全关节的手,并管理他的生命期)
$ S: r, @' r8 R1 H
( K+ j# C- N! n; z( [( g' X
, d2 r3 E. `7 ^2 o) e+ k
( k- E, Y! Z2 y; ]2 t指针(P)6 T6 }8 V& H. Y# `$ k) Y
7 O$ Q g1 N- g! b: {& y# b
控制器会通过指针来与游戏对象()进行交互。例如近距离交互指针,可以通过检测手(既控制器)何时靠近其宣称自己支持的“近距离交互”对象。隔空指针或者远距离指针(比如远距离线指针),可以帮助我们处理超过我们手臂长度的远距离内容。
4 B( T1 ?8 I7 i9 z x4 {; I6 g& Z$ H. I0 P8 x( ]# M# ^( e' f9 R
9 u5 v, G: n% ~6 ]
6 |8 Y# B4 @$ F; _$ n! ?
指针由设备管理器创建,然后附加到输入源。要获取控制器的所有指针,请执行以下操作:ISP。1 w' c8 k7 T1 ?$ w7 u" z. |
. p3 V+ b: W. M/ r5 |! P
! Q* M+ |% q$ I6 Y) T# V8 e
o. P4 N3 f, i' n( t* h1 G5 g) P
?
) \) g" V5 R/ {2 [6 W% o: K, M/ G3 B! ~, t4 q
( k5 u( }( I- }5 u9 ^* l& D
?
" k8 q" X! e& F g' d: c& @7 m
* {) Y4 X& u0 r, k1 R, b4 j& \; [4 @3 d5 L1 y
/ `$ ]- @+ W6 L9 E" W* V注意,一个控制器可以同时拥有许多不同的指针。但是为了确保操作顺利,在某一时刻只有一个指针会被激活(比如,中距离指针的使用会组织近距离指针)。以确保这不会陷入混乱中,有一个指针中介控制指针允许活跃(例如,近距离指针被激活的时候,远距离指针将会被关闭)。
5 e8 A+ i+ n, d/ m# p5 J# p% y6 u
& k8 h& m) F1 B( H# {9 n, M. z7 ~; a) f
焦点(F)
0 l5 S( X- C: ]4 `2 C1 i( \5 v% V6 `! w- R1 f; W8 I) [7 }! P# k
指针的事件将被发送给焦点对象。不同的指针类型将提供不同的焦点选择方案,比如手指戳的指针会通过一个球体的碰撞来选择焦点,而一个远距离的线指针将会通过一个线来检测接收的焦点对象。所有焦点对象必须现IMRFH接口来触发。我们也可以注册一个全局对象来接受所有指针事件,但我们在这里不推荐使用这种方法。
6 `+ {/ P# E4 Q4 T7 w" p
1 h" b8 b2 c. ~# v, I) P' j5 a$ ?4 j+ ], H- g, @
0 F: S- b$ \' t/ }
更新焦点对象的组件是FP。
' w$ ~: i6 ?! E# K/ G/ Q0 t
/ Y- H4 Q$ d7 f* T, y' c% ^- K
- X' k( U. J0 ~+ c+ Q3 ~ E1 W q9 C
光标(C)5 D; t r0 F- O, b
( z; P0 {! \2 V
与指针关联的体,它在指针交互周围提供额外的视觉提示。例如,手指光标会在你的手指周围呈现一个圆环,当你的手指接近“接近可交互”的物体时,圆环可以旋转。一个指针同时只能和一个光标关联相关联。
% z" g3 S2 v! S$ A5 o! l% w( W; S- q4 _- z+ s# F8 y
% ]9 P7 p+ y: e( N8 U+ }1 y( u) t: g; c1 c7 y( P) p2 ?
交互和操作(IM)
4 v% M. n* s" P, M9 Z6 K% d% S+ {4 Q2 W' K
对象可以使用交互或操作脚本进行标记(这可能是I或者NIGMH)。# ]% `0 C5 R: n) R
8 C& [( |. {3 ? e& _* ~4 R
# p: Q, a- }* M, E) y( o/ e2 l
3 y7 }0 j& o w8 I
例如,NIG和NIT允许某些指针(特别是靠近交互指针的指针)知道可以将焦点放在哪些对象上。
0 H. K/ @& E ]- W! A2 {( U" p y1 t# h; |5 @7 h {1 P& k) h
1 Z3 ~7 ~# ~ q1 e. W
n5 A K% u! m9 z' q6 BI和MH,这些组件,它们侦听指针事件来影响移动缩放旋转游戏对象的可视化表现。 |