为什么UE4VR运行后手柄按键位置位置始终停留在初始位置

简单说下思路,首先定义拾取接口,然后在需要拾取的物品的类中实现该接口,最后在手柄的碰撞中检测碰撞的物品是否实现了拾取接口,若实现则Attachto到手柄上

这是示例工程,提供下载:

新建一个接口,并命名为BI_Pickup 接口内不需要添加任何操作

至此便完成了可拾取物品的实现(实现BI_Pickup接口的类均可被拾取)接下来进行手柄触碰拾取操作

添加手柄碰撞事件判断所碰撞物体是否实现PickUp接口,若是则将该物品AttachTo到手柄上
最后可以在Grip的Released后再添加一个接触拾取
}

第一步 下载相关软件和硬件设备准备与调试


(2)下载Steam游戏平台

点开“库”菜单找到SteamVR然后进行下载安装

(4)设置活动空间与地面位置等初始化操作

Vive设备连接正确可以看到VR栏目中出现SteamVR Room SeTup应用;进入后按步骤操作即可

第二步 进入虚幻引擎进行初步开发

4.12后的模板均实现了VR控制可自行学习参考;此处选择一个空模板

b.创建一个VR使用的模式蓝图

创建一个VR使用的模式蓝图

c.创建继承自Character的角色控制器蓝图

d.设置世界属性和模式属性
1.打开刚才创建的Modle蓝图;将创建的控制蓝图设置在对应的位置上
2.打开世界设置(界面上没有就在左上角找到window菜单将世界设置界面打开)将modle设置在默认的GameModle位置上

将模式与控制器均加入对应属性内

打开Edit菜单下的Plugins选项,点击VR全称拖动到最下层,检查插件状态

(2)实现VIVE设备控制的输入输出

将角色胶囊的数值归零,使引擎中的地面与真实检测的地面高度一致


将角色胶囊的数值归零;否则默认地面与真实地面不匹配

b.手柄信息位置信息和旋转信息:

第一种同步方式:使用运动组件

2.设置运动控制器组件
1】重命名将两个控制器分开
2】设置控制器所跟踪的手柄类型
3】分别在其下添加对应模型

分别选择控制的跟随类型

使用系统提供的获取SteamVR手柄数据API直接拿到本地坐标,然后实时控制左右手模型

蓝图实时获取设置手的本地位置和角度

手柄键位与引擎默认映射名称

此工具可以查找到引擎支持的运动手柄并调用震动接口

分别创建左右两个手柄的震动控制器,分别勾选对应的手柄类型,


进入角色控制器使用震动API中的播放震动反馈


此处示例使用左手扳机键位触发左手震动反馈

}

  在做VR游戏开发时,是用Unity还是UE4进行开发,相信有很多人想知道,为此下面就给大家对比分析下Unity和UE4的做VR游戏开发时的优势与劣势。

  Unity的优势:

  轻量级,安装、调试和打包方便  

  配置VR项目十分简单  

  学习成本低,文档完善  

  在PS4上调试方便,有批处理文件可以一键运行  

  提供了一些VR下的Demo作为参考

  Unity的劣势:

  内建工具不够完善  

  渲染差,光照系统糟糕,阴影bake有bug,只能勉强达到2A游戏入门水平  

  对于控制器支持较差,一些如手柄震动、VR控制器空间定位的功能引擎未集成,需要第三方插件或额外代码  

  没有材质编辑器,需要第三方插件  

  Prefab不支持继承  

  画面效果完全达到3A游戏水准  

  光照和物理渲染即便在缩水的状况下也足以秒杀Unity  

  蓝图系统,从此策划不用再写代码  

  强大的材质编辑器  

  各种官方插件齐全  

  对于手柄、VR控制器支持良好  

  提供各种游戏模版,用来做原型配合Blueprint甚至比Unity更快

  如果要开发PS4游戏需要重新编译引擎,12核服务器,24线程编译大概需要20-30分钟  

  如果需要重新编译引擎,光拉代码就需要至少一个小时  

  创建新项目大概又要编译十多分钟  

  如果切换平台,要编译几千到上万个shader  

  PS4部署不方便,打包编译同样非常久  

  学习成本高,各子模块功能强大但操作复杂  

  部分功能没有任何文档,已有功能的文档同样不够完善,不如Unity

  以上就是做VR游戏开发时Unity和UE4两款开发引擎的对比,大家可以根据自己手中的项目去选择适合自己的工具进行开发。

}

我要回帖

更多关于 手柄位置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信