Unity实现《和平精英》装备拾取系统

接下来的几篇博客记录通过Unity复现绝地求生手游的装备拾取系统

腾讯的和平精英,从进入游戏的界面左下角的虚幻引擎标志来看,大概率和Unity引擎没啥关系,我就试着用Unity复现一下,权当娱乐

一、实现效果

大致的效果包括:

主角在场景中自由行走,若主角靠近可拾取的物体,触发装备待拾取界面;

装备待拾取界面是滚动列表,通过鼠标滚轮滚动,列表长度由当前物品数量决定;

点击列表中的某个item,拾取装备,同时背包系统获得该装备;

二、目录

2.1、Unity滚动列表设计-装备拾取系统界面设计

2.2、Unity界面MVC框架搭建

2.3、资源加载-ResManager实现

2.4、Unity简易事件管理系统-LiteEventSystem实现

2.5、Unity第三人称摄像机跟随及人物控制-AvatarControl实现

2.6、Unity碰撞与触发-装备物体设计

2.7、Unity碰撞与触发-主角拾取装备

三、完整工程

包括装备拾取系统,背包系统,装备系统,以及一些枪械和配件的资源

https://github.com/ZhuTou409/Unity-Bag

觉得不错的在GitHub上star一下呗

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity实现拾取功能,可以通过以下步骤进行: 1. 确保你已经将Pico G2设备连接到Unity编辑器。可以使用Pico G2的开发者模式或者通过USB连接设备。 2. 创建一个3D场景,将物体添加到场景中。确保物体有Collider组件,这样才能进行拾取。 3. 创建一个脚本来处理拾取功能。可以使用以下代码作为起点: ```c# using UnityEngine; public class Pickup : MonoBehaviour { private bool isPickedUp = false; private Transform originalParent; void Start() { originalParent = transform.parent; } void Update() { if (isPickedUp) { // 将物体跟随Pico G2的位置 transform.position = Camera.main.transform.position + Camera.main.transform.forward * distance; } } void OnTriggerEnter(Collider other) { if (other.CompareTag("Hand")) { // 按下某个按钮来拾取物体 if (Input.GetButtonDown("Fire1")) { PickUp(); } } } void OnTriggerExit(Collider other) { if (other.CompareTag("Hand")) { // 松开按钮来放下物体 if (Input.GetButtonUp("Fire1")) { Drop(); } } } void PickUp() { isPickedUp = true; transform.parent = Camera.main.transform; // 将物体的父节点设置为相机 } void Drop() { isPickedUp = false; transform.parent = originalParent; // 将物体的父节点设置为原来的节点 } } ``` 4. 将该脚本添加到需要实现拾取功能的物体上,并设置物体的标签为"Hand",确保手部碰撞器也使用了相同的标签。 5. 在Unity编辑器中运行场景,并使用Pico G2设备的控制器按钮来拾取物体。物体应该会跟随设备移动。 这样,你就可以在Unity实现拾取功能了。当然,你可以根据自己的需求进行修改和扩展。希望对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值