Unity入门小游戏 变色跑酷

本文详细介绍了如何从场景搭建、主角控制(包括自动奔跑、跳跃与变色)、动画设计到游戏场景优化,如UI设置、动画状态机和天空盒切换,为初学者提供了一个完整的小游戏制作指南。

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

这个游戏比较非常适合新手做入门实践的小游戏,它的制作分为三个部分:

1——场景的搭建

游戏场景的搭建,可借助V键进行快速对齐,因为这是一款跑酷游戏,故游戏的难度也应从简单到逐渐困难,这就需要各位萌新发挥自己的想象能力有创意的搭建了。

2——主角的控制和动画

任何的问题,我们都应该简单化,将其拆分,做主角的控制时,我们应该一个个功能实现,首先是人物的自动奔跑,这里笔者用的是刚体的速度去实现的,其次就是人物的跳跃功能,跳跃与奔跑类似,只需在Y轴上添加速度即可,但需要限制人物的跳跃次数,总不可能让人物可以无限跳。

        Vector3 vel = cha.velocity;
        vel.z = speed;
        if(jump&&jumpCount<2)
        {
            vel.y = jumpSpeed;
            jumpCount++;
        }
        cha.velocity = vel;

这个游戏最关键的还是人物的变色功能,这里笔者是通过关卡的标签与人物的颜色来识别的

    enum PlayerColor
    {
        red,
        green,
        gray
    }
    public void ChangeColor()
    {
        if(color==PlayerColor.red)
        {
            rnd.material.color = Color.green;
            color = PlayerColor.green;
        }
        else if (color == PlayerColor.green)
        {
            rnd.material.color = Color.gray;
            color = PlayerColor.gray;
        }
        else if (color == PlayerColor.gray)
        {
            rnd.material.color = Color.red;
            color = PlayerColor.red;
        }
    }

 人物的动画,需要用到动画状态机:

首先,给主角添加一个动画状态机的组件,再创建一个动画控制器

 

 我们再根据所拥有的素材,将动画拖到动画状态机中,点击右键,选择Make Transform,就能获得如果所示的箭头号,这是动画转移的路径,有了路径我们还需添加条件,这时我们需要添加参数

 

 点击Parameters下面的加号,就可添加不同类型的条件,添加完条件后,我们还需在脚本中去实现,根据不同类型的参数,我们用不同类型的Set...函数

 anim.SetBool("IsGround", isGround);
anim.SetTrigger("Change");

3——游戏场景优化

游戏场景的优化就涉及到UI界面的设置,在Text中,我们通常选择居中和Overflow模式

 

其次就是创建按钮Button,

 

在On Click中我们选择下面的加号,可让按钮,调用脚本中的函数,这里笔者做的是游戏切换按钮,用的是SceneManager.LoadScene函数。

    using UnityEngine.SceneManagement;
    public void OnButton()
    {
        SceneManager.LoadScene(1);
    }

游戏场景的设置可在Build Settings中设置 

 将相应的场景拖入其中,就可获得排序不同的场景

优化这里博主做的是天空盒的改变

 

 选择第一个Skybox Material,就可改变天空盒,如果想更简单,可直接改变摄像机的背景颜色,

 在Background中改变。

当然还有些其他问题,比如人物跌倒的问题,可在刚体组件中进行约束

 勾选Freeze Rotation中的几个方向即可。

人物的卡墙问题,可通过添加物理材质解决 

将相应的摩擦力,弹力等设置到最小即可。

博客制作不易,可能还有很多没说清楚,还请谅解,如有需要,可私聊博主,乐意解答。

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值