第一视角人物和武器共同运动场景搭建和代码+敌人寻找游戏人物的出生点

论坛 期权论坛     
选择匿名的用户   2021-5-30 02:07   552   0
<p style="margin-left:0cm;"><strong>角色控制器的添加</strong>:</p>
<p style="margin-left:0cm;">1)添加一个空物体:将属性面板中的Tag修改为Player;</p>
<p style="margin-left:0cm;">2)添加刚体组件:取消属性面板中的重力(Use Gravity)同时勾选使其不受物理的影响(Is Kinematic)只接受交互和变换组件的控制</p>
<p style="margin-left:0cm;">3)添加角色控制器:在菜单栏中的Component&gt;Physics&gt;Character Controller</p>
<p>4)新建一个脚本代码,完成Player的移动代码,将人物绑定在摄像机上</p>
<p style="margin-left:0cm;"><strong>将武器绑定在角色控制器上,即绑定在摄像机上,三者一起移动</strong></p>
<p style="margin-left:0cm;">1)选中摄像机&gt;在属性面板中选中设置中的Reset(在transform属性中)对摄像机进行重置。</p>
<p style="margin-left:0cm;">2)将transform&gt;Clipping Planes中的near属性修改为0.1,这样摄像机可以看更近处的物体。</p>
<p>3)在unity官网上下载枪支素材,导入后,对其进行1)中的步骤,使枪支和摄像机位置保持一致。然后让摄像机成为枪支的子物体</p>
<p style="margin-left:0cm;"><span style="color:#0000FF;">using</span><span style="color:#000000;"> System.Collections;</span></p>
<p style="margin-left:0cm;"><span style="color:#0000FF;">using</span><span style="color:#000000;"> System.Collections.Generic;</span></p>
<p style="margin-left:0cm;"><span style="color:#0000FF;">using</span><span style="color:#000000;"> UnityEngine;</span></p>
<p style="margin-left:0cm;"> </p>
<p style="margin-left:0cm;"><span style="color:#0000FF;">public</span> <span style="color:#0000FF;">class</span> <span style="color:#2b91af;">Player</span><span style="color:#000000;"> : MonoBehaviour {<!-- --></span></p>
<p style="margin-left:0cm;">    <span style="color:#0000FF;">public</span><span style="color:#000000;"> Transform m_transform;</span><span style="color:#008000;">//</span><span style="color:#008000;">首先定义一个变换组件</span></p>
<p style="margin-left:0cm;"><span style="color:#000000;">    CharacterController m_ch;</span></p>
<p style="margin-left:0cm;">    <span style="color:#0000FF;">float</span><span style="color:#000000;"> m_movSpeed &#61; 5.0f;</span><span style="color:#008000;">//</span><span style="color:#008000;">控制角色的移动速度</span></p>
<p style="margin-left:0cm;">    <span style="color:#0000FF;">float</span><span style="color:#000000;"> m_gravity &#61; 6.0f;</span><span style="color:#008000;">//</span><span style="color:#008000;">角色受到的重力</span></p>
<p style="margin-left:0cm;">    <span style="color:#0000FF;">public</span> <span style="color:#0000FF;">int</span><span style="color:#000000;"> m_life &#61; 5;</span><span style="color:#008000;">//</span><span style="color:#008000;">角色所拥有的寿命值</span></p>
<p style="margin-left:0cm;">    <span style="color:#0000FF;">public</span> <span style="color:#0000FF;">float</span><span style="color:#000000;"> m_jumpSpeed &#61; 10.0f;</span><span style="color:#008000;">//</span><span style="color:#008000;">角色的跳跃速度</span></p>
<p style="margin-left:0cm;">    <span style="color:#0000FF;">private</span><span style="color:#000000;"> Vector3 m_movDirection &#61; Vector3.zero;</span><span style="color:#008000;">//</span><span style="color:#008000;">定义角色的起始位置,从原点开始</span></p>
<p style="margin-left:0cm;"><span style="color:#000000;">    Transform m_camTransform;</span><span style="color:#008000;">//</span><span style="color:#008000;">将摄像机和人物联合起来</span></p>
<p style="margin-left:0cm;"><span style="color:#000000;">    Vector3 m_camRot;</span><span style="color:#008000;">//</span><span style="color:#008000;">摄像机旋转</span></p>
<p style="margin-left:0cm;">    <span style="color:#0000FF;">float</span><span style="color:#000000;"> m_camHeight &#61; 1.4f;</span><span style="color:#008000;">//</span><span style="color:#008000;">摄像机的高度等于主角高度</span></p>
<p style="margin-left:0cm;">    <span style="color:#0000FF;">void</span> <span style="color:#0000FF;">Start</span><span style="color:#000000;"> ()</span><span style="color:#008000;">//</span><span style="color:#008000;">初始化相关数据</span></p>
<p style="margin-left:0cm;"><span style="color:#000000;">    {<!-- --></span></p>
<p style="margin-left:0cm;"><span style="color:#000000;">        m_transform &#61; </span><span style="color:#0000FF;">this</span><span style="color:#000000;">.transform;</span></p>
<p style="margin-left:0cm;"><span style="color:#000000;">        m_ch &#61; </span><span style="color:#0000FF;">this</span><span style="color:#000000;">.GetComponent&lt;CharacterController&gt;();</span><span style="color:#008000;">//</span><span style="color:#008000;">初始化角色</span></p>
<p style="margin-left:0cm;"><span style="color:#000000;">        m_camTransform &#61; Camera.main.transform;</span><span style="color:#008000;">//</span><span style="color:#008000;">定义摄像机的初始化位置</span></p>
<p style="margin-left:0cm;"><span style="color:#000000;">        Vect
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP