HTC VIVE 开发实例教程

360+付费学员加入,Unity价值专家带你21天掌握VR开发技术

HTC VIVE 开发实例教程
370人加入学习
(40人评价)
价格 ¥ 199.00
教学计划

interactable  一个标示,标示着这个物体可以和手柄交互

 

 

物体与手柄接触的时候需要加载的脚本组件

thowable   抓取的时候需要加载的脚本组建

 

[展开全文]

trackedObject 是steamvr 中所有可以跟踪到的物体的返回。

[展开全文]

瞬移:

 都要加box collider

自适应瞬移:

 VRTK_Height Adjust Teleport

 

 

[展开全文]

获取准星容器

控制准星图片

击中的目标:ray raycasthie physice

位置、缩放、法线向量

解决表面闪的问题:shader使用:新建一个(材质)Materil,将shader放到材质上,然后将材质的shader设置成UI->Overlay,然后拖到Image上

凝视激活

Time.deltaTime//当前帧与上一帧间隔的时间

EventSystems//模拟鼠标进入事件

//ExexutrEvents.Exexute(gameObject, new PointerEventData(EventSystem.current), ExecuteEvents.pointerExitHandler);

 

[展开全文]

GUIReticle--准星工具

准星设置成相机的子物体

 设置ImageType 脚本控制FileAmount.注意颜色可透明度。  

 代码控制的时候注意跟新时间

[展开全文]

交互:

  获取按钮事件

   Standard Assets导入(这是一个便利资源)。

   获取手柄设备

   手柄加碰撞体;获取碰撞体,物体添加刚体

   获取手柄按钮

   OnTriggerEnter

device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger)

   OnTriggerExit

debvice.GetPressUp(SteamVR_Controller.ButtonMask.Trigger)

   抓取:将物体刚体false,物理力学开启

   松开:将物体刚体true,物理力学关闭

   手柄碰撞震动:

   OnTriggerStay    device.TriggerHapticPulse(震动时间);

   

[展开全文]

简介:

  SteamVR 在 OpenVR 上层。基于OpenVR API。

  工具 SteamVR Plugin 可在商店下载。

  CameraPig包括两个手柄和一个相机(头盔)

 

  

[展开全文]

任务40

1、开关门:

  继承VRTK,重写StartUsing,调BoxCollider位置,手柄添加VRTK_InteractUse(碰触)或者用VRTK_Pointer(激光)(开启Interact With Objects)

2、抓取:

  Window->VRTK->Setup Interactabel Object设置高光,可抓取,一直抓取,设置“Track Object”  box Collider,精确抓取“Precision Grab”

  

 

 

  

 

[展开全文]

VRTK简介

可实现的功能:

1、支持steamVR、oculus sdk

2、VR模拟器不需要VR硬件即可调试

3、基于头盔和手柄的激光指针

4、基于头盔和手柄的曲线指针

5

[展开全文]

UI交互、手柄按钮高亮及文字提示

1、按钮点击基于Collider,一般放置BoxCollider

 2、UIElement类:在ineractionsystem中实现UI的交互,必须挂在此脚本以标记为可交互的UI

3、按钮一般事件为OnHandClick,手柄点击Trigger键激活

4、ControllerButtonHints类:调用一系列静态方法实现按钮高亮、

[展开全文]

出现场景:

1、菜单

2、游戏元素ui,如血条,生命值,剩余时间

3、对话框

4、提示信息

5、十字光标

 

vr中的UI一般构件步骤

1、新建canvas

2、render mode改为world space

3、修改缩放

4、修改Dynamic pixel per uint

5

[展开全文]

steamVR Interaction System(交互系统),是从the Lab游戏中提取出的。

有时间查看下光照渲染插件:the lab renderer

 

[展开全文]

hinge joint 铰链节点 spring(弹簧)回弹

vrtk_rotator track grap attach

开门

[展开全文]

Player.instance.bodyDirectionGuess

//对人身体方位的估算

hand下面的starting Hand Type需要设置左右,用于替换手模型后

 

 

 

 

[展开全文]

凝视效果:当视线悬停上按钮上实现选择

[展开全文]

一、实现配套物体同时抓取

1.ItemPackage:交互过程中用到的。

起到一个类似于列表的作用,用于表示各种情况的gameobject。

2.ItemPackageSpawner:实现交互效果的逻辑,基于生成机制。确定物体属于哪个package

碰撞逻辑机制。

3.ItemPackageReference:设定物体与组织的关联

二、大体过程

在原处拥有一个预制体,做预览作用。

碰撞之后,产生一个轮廓。

抓起物体之后,原地留下一个轮廓,以及其他配套操作。

三、实例演示。

1.在台面上建立一个球体sphere。主要应用他的collider,添加ItemPackageSpawner脚本。

2.新建一个空物体作为ItemPackage列表,添加ItemPackage脚本。属性说明:

package type:设置单手持握还是双手持握。

item prefab:物体

other hand item prefab:设置双持握时另一只手的物体

preview:放回原处的预览效果

faded:轮廓的prefab

 

[展开全文]

1.给物体添加interactable组件,则物体可以感应手柄的动作。

2.摄像机只能用player。

3.interactable Hover Events悬停事件。

4.MashRenderer—Material materiak切换材质。

5.interactable buttons Hover Events按钮按下的事件。

6.throwable脚本  再添加了player以后将其附在物体上就可以实现抓取投掷。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

[展开全文]

授课教师

Unity价值专家/VR技术讲师

课程特色

视频(50)
下载资料(19)
图文(1)