UE4下实现Vive手柄拾取物品

 

UE4下实现Vive手柄拾取物品

标签: UE4Vive游戏引擎


简单说下思路,首先定义拾取接口,然后在需要拾取的物品的蓝图类中实现该接口,最后在手柄的碰撞中检测碰撞的物品是否实现了拾取接口,若实现则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:工程已上传 
下载地址

简单说下思路,首先定义拾取接口,然后在需要拾取的物品的蓝图类中实现该接口,最后在手柄的碰撞中检测碰撞的物品是否实现了拾取接口,若实现则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:工程已上传 
下载地址

猜你喜欢

转载自blog.csdn.net/lqzixi/article/details/52579239
今日推荐