目录(?)
简单说下思路,首先定义拾取接口,然后在需要拾取的物品的蓝图类中实现该接口,最后在手柄的碰撞中检测碰撞的物品是否实现了拾取接口,若实现则Attachto到手柄上
创建拾取接口
新建一个接口,并命名为BI_Pickup
接口内不需要添加任何操作
实现接口
新建StaticMeshActor类(Mesh的模型自由选择),如图
打开该蓝图类的Class Settings
在Interface的Implemented Interface中选择BI_Pickup
至此便完成了可拾取物品的实现(实现BI_Pickup接口的类均可被拾取)接下来进行手柄触碰拾取操作
定义拾取
打开Character类,先定义两个布尔变量bLGripPressed和bRGripPressed
添加手柄Grip按键(手柄侧面按钮)事件
添加手柄碰撞事件判断所碰撞物体是否实现PickUp接口,若是则将该物品AttachTo到手柄上
手柄的StaticMesh必须先定义Socket用于指定AttachTo的位置
最后可以在Grip的Released后再添加一个接触拾取
Set Simulate Physics用于实现物理重力效果
PS:工程已上传
下载地址