UE4下实现Vive手柄拾取物品

来源:互联网 发布:443端口是什么服务 编辑:程序博客网 时间:2024/05/23 11:45

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

工程下载地址

创建拾取接口

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

实现接口

新建StaticMeshActor类(Mesh的模型自由选择),如图
StaticMeshActor

打开该蓝图类的Class Settings
在Interface的Implemented Interface中选择BI_Pickup
实现接口


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

定义拾取

打开Character类,先定义两个布尔变量bLGripPressed和bRGripPressed
添加手柄Grip按键(手柄侧面按钮)事件
Grip

添加手柄碰撞事件判断所碰撞物体是否实现PickUp接口,若是则将该物品AttachTo到手柄上
拾取
手柄的StaticMesh必须先定义Socket用于指定AttachTo的位置

最后可以在Grip的Released后再添加一个接触拾取
接触拾取
Set Simulate Physics用于实现物理重力效果

PS:工程已上传
下载地址

1 0
原创粉丝点击