Unity学习(11)之自动巡逻兵改进

作者:神秘网友 发布时间:2020-09-03 00:04:27

Unity学习(11)之自动巡逻兵改进

Unity学习(11)之自动巡逻兵改进 一个好的游戏必不可少的是美工资源。虽然作为程序员我们不会美工,那么能够寻找到资源就是一个重要的课程了。这周我用一些动画资源来改进自动巡逻兵的游戏。先来看一下前后变化图。 这是第一次的游戏效果图 Unity学习(11)之自动巡逻兵改进
这是改进后的游戏的效果图
Unity学习(11)之自动巡逻兵改进 很明显加了动画是不是更酷炫了。当然我加了一些功能进去。 功能一:摄像机跟随人物,写了RotateCamera.cs
public class RotateCamera : MonoBehaviour {
    public SceneController sceneController;
    public GameObject role;
    void Start()
    {
        sceneController = (SceneController)SSDirector.getInstance().currentScenceController;//获得场记
        role = sceneController.role;//获得游戏角色
        this.transform.parent = role.transform;//将摄像机作为角色的子节点从而实现了跟随
    }
}
功能二:人物随鼠标旋转,第一人称视角,写了roleRotate.cs
public class roleRotate : MonoBehaviour {
    public float roate_Speed = 2.0f;//旋转速度
    public SceneController sceneController;
    void Start()
    {
        sceneController = (SceneController)SSDirector.getInstance().currentScenceController;
    }
    void Update()
    {
        if(sceneController.game == 1)//判断游戏是否进行,进行中鼠标移动才有效
        {
            float mousX = Input.GetAxis("Mouse X") * roate_Speed;//得到鼠标移动距离
            this.transform.Rotate(new Vector3(0, mousX, 0));//旋转
        }
    }
}
功能三:加入人物动画和恐龙动画,人物资源点击此地址 , 恐龙资源在Unity3D官网Assert Store下载 人物状态机如下:实现效果是人物不移动显示站立动画,移动时显示跑步动画,死亡时无动画
Unity学习(11)之自动巡逻兵改进 Unity学习(11)之自动巡逻兵改进Unity学习(11)之自动巡逻兵改进Unity学习(11)之自动巡逻兵改进
恐龙状态机设置如下:巡逻时显示走动画,发现入侵者跑动画,抓住入侵者显示攻击动画 Unity学习(11)之自动巡逻兵改进 Unity学习(11)之自动巡逻兵改进Unity学习(11)之自动巡逻兵改进Unity学习(11)之自动巡逻兵改进 (记得一点把Has Exit Time去掉使得动画跳转不必等待上一个动画播放完毕,在脚本适当位置设置状态机参数的值即可) 功能四:按空格键主角可以跳起来。
if(Input.GetKeyDown(KeyCode.Space) && role.transform.position.y < 0.55)//判断按下空格且玩家在地面才能跳
            {
                rig.AddForce(new Vector3(0, 4, 0), ForceMode.Impulse);//加向上的力
            }
效果图如下: Unity学习(11)之自动巡逻兵改进Unity学习(11)之自动巡逻兵改进 功能五:人物被杀时血花四溅(录了好久) Unity学习(11)之自动巡逻兵改进 其实就是加了粒子系统,游戏结束时将粒子位置放在人物位置。
void Update () {
        if(game == 0)
        {
            blood.transform.position = role.transform.position;
            blood.transform.position += new Vector3(0, 0.2f, 0);
        }
}
blood.GetComponent<ParticleSystem>().Play();//播放粒子动画
这就是我完整的游戏了,欢迎到我的github看我的完整项目自动巡逻兵游戏

Unity学习(11)之自动巡逻兵改进相关教程

  1. 简单自学机器学习理论—— 泛化界限 (Part II )
  2. git 部署触发_自动触发器部署在Netlify上
  3. java学习之面向对象
  4. Netty学习--NIO总体介绍
  5. Markdown语法学习
  6. vuejs学习3.4 webpack基本使用——配置Vue
  7. HTML学习---网页编程(一)
  8. 静态顺序表的实现(C语言版)