unity拾取物体显示信息_unity案例入门(一)(拾取游戏)

本文介绍了一个Unity3D的小型游戏案例,玩家通过键盘控制小球拾取宝物。文章详细讲解了如何实现键盘控制物体移动、相机跟随物体、物体旋转、碰撞及触发检测捡起物体,并初步使用GUI显示分数和胜利宣言。通过这些步骤,读者可以学习到Unity3D中的基本交互和控制技巧。
摘要由CSDN通过智能技术生成

1. 案例简述

这个案例实现一个非常简单的拾取宝物游戏,主角是一个小球,玩家通过键盘控制小球拾取全部宝物。

2. 键盘控制物体移动

private Rigidbody rd;

public int force = 10;

void Start () {

rd = GetComponent ();//获得物体的刚体组件

}

void Update () {

float h = Input.GetAxis ("Horizontal");//获得虚拟轴横向移动距离

float v = Input.GetAxis ("Vertical");//获得虚拟轴纵向移动距离

rd.AddForce (new Vector3(h, 0, v) * force);//对物体施加力的作用

}

3. 控制相机跟随物体移动

public Transform playerTransform;//需要跟随的物体

private Vector3 offset;//物体与摄像机的位置偏移量

void Start () {

offset = transform.position - playerTransform.position;

}

void Update () {

transform.position = playerTransform.position + offset;

}

首先记录相机与需要跟随的物体的position偏移量,而后让摄像机位置通过偏移量实时改变。

4. 使宝物自己旋转

void Update

Unity拾取物体的代码可以通过以下步骤实现: 1. 首先,在场景中创建一个物体,并将其添加一个Collider组件(如Box Collider、Sphere Collider等)。 2. 在拾取物体的脚本中添加以下代码: ```csharp public Transform player; public float pickUpDistance = 3f; private Collider coll; void Start() { // 获取物体的Collider组件 coll = GetComponent<Collider>(); } void Update() { // 判断玩家是否按下了拾取键(这里假设拾取键是E键) if (Input.GetKeyDown(KeyCode.E)) { // 计算玩家和物体之间的距离 float distance = Vector3.Distance(transform.position, player.position); // 判断玩家是否在物体拾取范围内 if (distance <= pickUpDistance) { // 将物体的父级设置为玩家,使其跟随玩家移动 transform.parent = player; // 禁用物体的Collider组件,防止其他玩家再次拾取 coll.enabled = false; } } } ``` 在这个例子中,我们假设玩家的Transform组件已经被获取并存储在"player"变量中,"pickUpDistance"变量用于设置玩家可以拾取物体的最大距离。在Update()函数中,我们判断玩家是否按下了拾取键(E键),如果距离物体的距离小于等于"pickUpDistance",则将物体的父级设置为玩家,并禁用物体的Collider组件。 当玩家再次按下拾取键时,将物体的父级设置为null,使其恢复到原来的位置,并重新启用Collider组件,其他玩家就可以再次拾取这个物体了。 注意:在编写拾取物体的脚本时,需要确保物体和玩家都具有Rigidbody组件,否则可能会出现一些意想不到的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值