噩梦射手(SurvivalShooter)教程(二)

本文是Unity官方教程SurvivalShooter的一部分,主要讲解如何实现主角的移动。首先,将主角Player拖入场景并添加Rigidbody组件。接着在Scripts文件夹下创建C#脚本来控制主角移动,通过Input.GetAxisRaw获取玩家输入,使用Rigidbody.MovePosition更新位置。为解决主角掉落问题,添加CapsuleCollider和调整大小,并给地板添加BoxCollider,确保主角能正常移动。若主角倒地,可通过锁定Rigidbody的旋转轴来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

SurvivalShooter 是Unity的官方教程案例

主角移动

  1. 先选中Assets->Models->Characters将主角Player拖到场景中
    这里写图片描述

  2. 给主角添加Rigidbody组件

    这里写图片描述

    这里写图片描述

  3. 在Assets中新建一个文件夹Scripts专门用来存放脚本语言(当然你也可以任意命名)在Scripts文件夹中新建Player文件夹专门存放主角的脚本,接着新建一个C#脚本
    这里写图片描述

    4.开始写主角移动的代码

这里写图片描述

public float playerSpeed = 5f;
设置主角的速度,定义成public方便前台的修改

playerRigidbody = GetComponent ();
表示获得角色身上的刚体组件,后面会大量用到这个写法

float h = Input.GetAxisRaw (“Horizontal”);
float v = Input.GetAxisRaw (“Vertical”);
表示主角接收水平,垂直方向上的玩家输入。

vector = transform.position + vector.normalized * playerSpeed * Time.deltaTime;
这里第二个参数固定为0是因为主角不会跳动,Y坐标始终保持在一个位置,Time.deltaTime,这是一个规范写法保证在不同的cpu机器上主角移动的距离是一样的。

playerRigidbody.MovePosition (vector);
将代码拖拽到主角的面板上,点击运行

6.发现主角掉下去了,这是个严重的问题。下面是解决这个问题的步骤:

  1. 给主角加上CapsuleCollider组件
    这里写图片描述
    调整大小,差不多框住主角
    这里写图片描述

  2. 给地板加上BoxCollider
    现在点击运行键,按上下左右或WASD可以看到主角滑动起来了
    这里写图片描述

  3. 如果遇到主角倒地情况
    这里写图片描述
    小技巧:点开Rigidbody的Constraints,锁住旋转轴XZ
    这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值