unity3D 第一人称射击游戏

本文总结了使用Unity3D开发第一人称射击游戏的关键步骤,包括角色碰撞检测、导航路径设定、主角Player的物理模拟、射击机制、敌人Enemy的自动寻路与行为逻辑,以及UI界面如健康、弹药和分数的实时更新。通过详细讲解各个组件和脚本的作用,展示了游戏制作的流程。

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

今天和·1昨天学习了《第一人称射击游戏》

现在来做一个总结:


首先是对周围墙体、地面加上一个碰撞检测体:Msh Collider(主要作用就是为了是其他物体gameobject对象无穿越它)

再在上面加一个Navigation组件,起作用是:给地面添加一个自动寻找路径的基本设置设置,


对于主角Player来说,

显示创建一个empty gameobjec,

再绑定一个character controller组件,(产生物理效果模拟)

绑定一个Rigidbody组件(刚体组件),游戏对象只有绑定了刚体组件才可以产生碰撞效果

主角Player对象绑定的Player.cs主要有这么几个成员变量:

m_transform(得到自身的transform)

m_ch(得到绑定在自身的character controller)

m_movespeed(主角的移动速度)

m_gravity(主角的重力感应模拟值)

m_life(主角的生命值)

m_camTransform(用来绑定摄像机,得到摄像机的transform)

m_camRot(摄像机跟随主角转动时的角度转移变量值)

m_zzlepoint(枪支weapon的子弹射线发出点)

m_layer(射线射出时,可以碰撞的layer层)

m_fx(子弹射出效果prefab)

m_audio(子弹射出音效)

m_shootTimer(子弹射出时间间隔)

-------------------------------------------------

初始化,start()函数:

初始化m_transform,m_ch,m_carTransform,

并将其绑定在一起,

--------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值