[UE4]添加手柄
一、在上一节的VRPawnBase中,再添加2个Motion Controller,分别命名为:LeftMotionController、RightMotionController,分别代表左右手柄。

设置Motion Controller的Hand属性,表示左右手柄:LeftMotionController.Hand=Left、RightMotionController.Hand=Right。

二、MotionController只是一个控制器,没有实体,分别选中LeftMotionController和RightMotionController添加一个Mesh(Static Mesh、Skeletal Mesh、ChildActor都可以,本例使用Static Mesh)作为子节点,分别命名为:LeftHandMesh、RightHandMesh。

三、设置LeftHandMesh.Static Mesh = VivePreControllerMesh,RightHandMesh.Static Mesh = VivePreControllerMesh。

VivePreControllerMesh是引擎自带的一个手柄模型,如果没有找到,则勾选View Options.Show Engine Content(显示引擎资源),就能找到VivePreControllerMesh了。

四、运行游戏,在现实中拿着左右2个手柄左右晃动,可以看到游戏场景里面的手柄也会跟着左右晃动。把现实中的2个手柄放在地上,如果游戏场景里面的手柄也跟着放在地上,则表示高度设置没问题。

如果高度不正确的话,检查VRPawnBase里面的相机是否有位置偏移。

[UE4]添加手柄的更多相关文章
- 游戏开发之UE4添加角色到场景中
接着上次继续学习,现在我们已经有了一个场景并且运行了,我们需要添加一个角色到场景中.要这样做,我们必须从UE4的GameFramework类继承它. 一. 创建一个从Character类继承的类 从基 ...
- UE4添加植被Foliage Type
在UE4中的地形渲染上不可避免的需要添加植被,而如果采取手动添加StaticMesh植被的方式则会浪费大量的时间精力. UE4提供了一种批量添加地面植被类型的方式Foliage Type.在编辑器内容 ...
- [UE4]VR手柄按键参考
一.VR手柄按键 二.Gamepad菜单往下拉 三.Shouder Button,在一般游戏当中是用作菜单键,按一下Shouder Button会出现游戏菜单. 四.Face Buttons:可以触摸 ...
- [UE4]添加射击的准心
其实就是创建一个UI Widget,在UI Widget中添加一个准心图片(png)格式,准心图片设置为屏幕居中对齐,然后在自定义的GameMode中把这个UI Widget添加到视图中.
- UE4添加模块
添加模块在这篇文章里已经有详细的描述了: https://orfeasel.com/creating-custom-modules/ 但是这篇文章中少写了一个步骤: 最后要在 <工程名>E ...
- [UE4]添加机器人
跟玩家角色一样,机器人也是继承自“Character”,动画蓝图也是跟角色玩家的一样,区别是机器人要使用“AIController”来控制
- [UE4]添加蒙太奇动画
选择蒙太奇所使用的骨骼
- Unity 制作虚拟手柄例子
Unity不愧是收费开发软件,有写好的Joystick(虚拟手柄),使用起来很简单,我们一起来学习一下哈!! 本文源代码Win版的 :http://vdisk.weibo.com/s/BDn59yfn ...
- [UE4]从零开始构建VR角色
一个工程是不是VR,并没有什么特别的地方,原则上任何工程都可以在VR设备下展示 一.新建一个名为“VRPawnBase”的Pawn. 二.在VRPawnBase中添加组件“Steam VRChaper ...
随机推荐
- CRF++安装,提示libstdc++.so.6: version `GLIBCXX_3.4.20' not found解决
安装CRF++, 到CRF++网站CRF++: Yet Another CRF toolkit,下载C++源代码安装包(这里用的是 CRF++-0.58.tar.gz ),解压,进入解压文件并如下过程 ...
- Mysql phpStudy升级Mysql版本,流产了怎么办?
网上有一些phpStudy升级mysql的方法,如: https://www.cnblogs.com/GreenForestQuan/p/6496431.html 很不错,我的电脑一次成功,但是同事的 ...
- Python之路-文件操作(py3)
文件操作的基本步骤: 1.打开文件:f=open('filename'),with open('filename') as f 2.操作文件:增,删,改,查 3.关闭文件:f.close 打开文件 p ...
- Andriod Studio两种签名机制V1和V2的区别
Android Studio 2.2以上版本打包apk的时候,我们会发现多了个签名版本(v1.v2)选择,如下图红色方框所示 问题描述(v1和v2) Android 7.0中引入了APK Signat ...
- spring boot 添加客户端负载均衡
1.pom.xml文件中,添加依赖包 <dependency> <groupId>org.springframework.cloud</groupId> <a ...
- be动词的形式和用法
Be动词的形式: be, is, am, are, was, were, being, been 1.The man is back 2.They are back 3.He was back 4.T ...
- Jsの练习-数组常用方法 -slice()
slice() 返回从原数组指定开始下标到结束下标之间的项组成的新数组. slice()方法可以接收一个或两个参数,即要返回项的起始和结束位置. 在只有一个参数的情况下,slice()方法返回从该参数 ...
- java中的线程问题是(四)——线程同步问题
多线程的并发,给我们编程带来很多好处,完成更多更有效率的程序.但是也给我们带来线程安全问题. 解决问题的关键就是要保证容易出问题的代码的原子性,所谓原子性就是指:当a线程在执行某段代码的时候,别的线程 ...
- HDU1171将多个不同价值不同数量的器材尽可能按等价值均分 第一份的价值尽可能的大 所以sum/2对第二份进行01背包 使其价值尽可能的大
//hdu1171void solve(){ for(int i=1;i<=n;i++) { for(int j=W;j>=w[i];j--) { dp[j]=max(dp[j],dp[j ...
- IIC_slaver 的仿真之路
IIC_slaver 是网上下载的.testbench文件是自带的,出现如图错误. compile >> compile option >> include direct ...