【Unity】教你如何使用Unity制作一个简单的跑酷游戏

这篇具有很好参考价值的文章主要介绍了【Unity】教你如何使用Unity制作一个简单的跑酷游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

其实用Unity制作游戏并不难,如果你想学习,那我就建议你想从制作一个简单的跑酷游戏来找到兴趣,因为如果你一开始就一直学习一些没什么必要的语法,这样就会让你一开始就失去了信心,失去了学习Unity的动力,所以如果你先学习如何制作一个简单的跑酷地图,然后你就会知道Unity是多么简单,这样你就会拥有学习的动力,并且这样也可以方便你记住代码是如何写的

正片

准备材料

Unity(什么版本都行)
电脑(能抗住就行)

先创建一个项目,随便怎么命名都可以
我就命名为简单跑酷游戏
这一次竟然要制作一个简单的跑酷游戏,所有我们就只需要实现
主角的移动、摄像头的跟随、自行搭建跑酷地面这些最主要的功能
unity 跑酷游戏开发,游戏编程(UE,Unity),unity,游戏,游戏引擎
打开项目,在左边的Hierarchy栏中创建一个Cube
右键->3D Object->Cube
可以随便命名,我直接命名为chushen_dot
之后再命名几个Cube命名为other_dot_数字命名的时候一定要使用英文,不要使用中文,否则会报错
我这里就创建了5
之后我们就再创建一个Cube命名为zhong_dot这个方块是用来作为终点的方块
最后就创建一个Cube命名为player这个方块用来作为我们的玩家方块

场景搭建

将跑酷是的场景按照自己的喜好搭建一下,也可以像我这样
unity 跑酷游戏开发,游戏编程(UE,Unity),unity,游戏,游戏引擎
那些方块的颜色其实是你要创建几个Material
右键->Create->Material
unity 跑酷游戏开发,游戏编程(UE,Unity),unity,游戏,游戏引擎
然后将对应你自己喜好的颜色处理一下,最后将这些材质拖到场景中的对应方块上

注意,这里的摄像头一定要作为一个第三人称的视角面对着名为player的方块,否则等会写完代码运行效果符合真正的结果
unity 跑酷游戏开发,游戏编程(UE,Unity),unity,游戏,游戏引擎
可以使用移动工具和旋转工具来实现
unity 跑酷游戏开发,游戏编程(UE,Unity),unity,游戏,游戏引擎

赋予方块属性

由于主角名为player的方块需要拥有物理中的重力自然下降的属性,所以我们给它添加一个Rigidbody组件,让它能够自然下落
点击player->右边的Inspector栏中划到最下面->Add Component->搜索Rigidbody->Rigidbody这样我们就给player方块添加了刚体组件(Rigidbody)

编写代码

Assets文件夹中创建一个名为Camera_move.csPlayer_move.csC#代码文件
先打开
Carmera_move.cs
的代码文件
如文件名所知,这个代码文件里面写的是关于摄像头跟随文件的代码

public GameObject Target; //用来接收跟随摄像头跟随的方块
public float s = 2f;  //速度
Vector3 distance;  //用来处理坐标之类的数据

在**void Start(){}**函数里面写上

distance = transform.position - Target.transform.position; 

用来处理相机所在相对于player方块的位置
接下来,删除原有的

void Update(){}

改为

void LateUpdate(){}

在里面加上

transform.position = Vector3.Lerp(Target.transform.position + distance, transform.position, Time.deltaTime * s); //此代码可以计算出摄像机在移动时保证撒丝滑坐标
transform.LookAt(Target.transform.position);  //摄像头面对玩家

LateUpdate函数是在所有Update函数执行完毕后被调用的,它通常用于处理相机的跟随逻辑。由于相机的跟随操作需要在游戏物体的移动之后进行,所以将相机的跟随逻辑放在LateUpdate函数中可以确保相机始终能够跟随游戏物体

总结所有代码就是如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Camera_move : MonoBehaviour
{
    public GameObject Target;
    public float s = 2f;
    Vector3 distance;
    // Start is called before the first frame update
    void Start()
    {
        distance = transform.position - Target.transform.position; 
    }

    // Update is called once per frame
    void LateUpdate()
    {
        transform.position = Vector3.Lerp(Target.transform.position + distance, transform.position, Time.deltaTime * s);
        transform.LookAt(Target.transform.position);
        
    }
}

保存好,关闭代码回到Unity编译一下
我们继续写
接下来我们打开Player_move.cs

public float moveSpeed = 10f; //移动速度
public float turnSpeed = 100f;  //旋转速度
public float jumpSpeed = 10f;  //跳跃速度

删除

void Start(){}

void Update(){}

里面添加

if (Input.GetKey(KeyCode.W)) //判断按下的按键是否是W
{
    transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.S)) //判断按下的按键是否是S
{
    transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.A))//判断按下的按键是否是A
{
    transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.D))//判断按下的按键是否是D
{
    transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.Space))//判断按下的按键是否是空格
{
    transform.Translate(Vector3.up * jumpSpeed * Time.deltaTime);
}

保存,回到Unity,运行程序,此时你就会发现
成功啦

结语

此文章我们介绍了如何制作一款简单的跑酷游戏,但是有人此时会问

甲:你这个游戏怎么没有结束啊
回答:其实并不是我不想介绍,只是我是真的不会怎么写代码,所以才没有制作游戏结束

如果有哪位大佬知道怎么碰撞,并且可以让游戏结束进程,请在评论区告诉我,我们一起学习!文章来源地址https://www.toymoban.com/news/detail-833738.html

到了这里,关于【Unity】教你如何使用Unity制作一个简单的跑酷游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】教你用进程替换制作一个简单的Shell解释器

    本章的代码可以访问这里获取。 由于程序代码是一体的,本章在分开讲解各部分的实现时,代码可能有些跳跃,建议在讲解各部分实现后看一下源代码方便理解程序。 我们想要制作一个简单的 Shell 解释器,需要先观察Shell是怎么运行的,根据 Shell 的运行状态我们再去进行模

    2024年02月02日
    浏览(42)
  • 带你用Python制作一个经典必收藏的游戏:地铁跑酷(含完整代码)

    名字:阿玥的小东东 学习:Python、C/C++ 主页链接:阿玥的小东东的博客_CSDN博客-pythonc++高级知识,过年必备,C/C++知识讲解领域博主 目录 一、游戏简介 二、游戏设计 引入必要的库

    2024年02月11日
    浏览(37)
  • Unity 简单跑酷游戏策划与实现

    游戏名称:无尽探险跑酷(Endless Adventure Runner) 游戏类型:无尽跑酷 游戏背景 在一个充满未知和奇迹的世界中,玩家将扮演一名勇敢的探险家,穿越各种神秘的地域,躲避重重障碍,收集宝藏,并挑战自己的极限。 核心玩法 跑酷冒险 :玩家控制角色在无尽的道路上不断前

    2024年02月03日
    浏览(36)
  • 动态gif如何制作?教你一招简单的方法

    当下是一个高度视觉化的社会,动态图片已经成为了一种流行的表达方式,能在短时间内快速吸引大众的眼球,增加趣味性。但是,这些gif格式的动态图片是如何制作的呢?接下来,就给大家分享gif图片制作(https://www.gif.cn/)工具,无需下载软件,上传视频轻松一键就能快速

    2024年02月08日
    浏览(45)
  • Unity制作一个简单的登入注册页面

    1.创建Canvas组件 首先我们创建一个Canvas画布,我们再在Canvas画布底下创建一个空物体,取名为Resgister。把空物体的锚点设置为全屏撑开。  2.我们在Resgister空物体底下创建一个Image组件,改名为bg。我们也把它 的锚点设置为全屏撑开状态。接下来我们把我们的图片UI素材导入进

    2024年02月12日
    浏览(45)
  • 【Unity】制作一个简单的菜单栏页面并实现其功能

    1.创建UGUI组件 (1)接下来我们制作一下整个菜单页面的UGUI,其大致制作效果如下图,有一下细节我们需要注意就是设置好Canvas的分辨率并且在创建UI组件的过程每一个物体我们对需要设置好对应的锚点让它固定在这个位置,不会随分辨率大小而改变。造成后面比较麻烦,所

    2024年02月11日
    浏览(30)
  • 教你如何使用GPA导出模型,另送一个 GPA CSV2MESH Tool in unity

    以前写过一篇:Unity - RenderDoc 抓帧导出 FBX(带UV) 我估计GPA是怕收律师函,因为如果 GPA 将所有资源一键提取,一键导出,那么可能很多开发商会告他 可以看到也好几个帖子问 GPA 官方,都是被官方忽悠回答了: UV MAPS capture GPA: No UV map support? (除了这个,我自己还搜索过还

    2023年04月09日
    浏览(31)
  • Unity3d 制作一个简单的NPC对话系统

    ​ 最近在自己写一个比较小的项目,虽然自己是一个策划,但是程序方面我觉得也是很有必要学一学的。 ​ 经过了接近一年的学习,也终于是可以独自写一些小的系统了。 ​ 这次自己写了一个比较简单的NPC对话系统,供大家参考。 进入对话区域 开始对话 Inspector面板可调

    2023年04月08日
    浏览(34)
  • Python-如何制作一个简单的登陆界面【记录】

    (1)打开登陆界面后,输入对应的账号和密码,自动进入到主界面程序,登陆界面消失; (2)进入主界面程序后,可以返回登陆界面,同时主界面消失; (3)达到指令要求后,可以注册账号和密码,并保存到数据库。(此功能具体实现暂时不考虑。) 登陆界面展示

    2024年02月11日
    浏览(61)
  • unity期末作业-两个简单小游戏游戏-躲避障碍和跑酷(附下载链接和gif动态图演示)

    游戏角色为一个小人,天上不时会掉落障碍物,人物撞到了会掉生命值,人物可以左右移动跳跃来躲避,带游戏音效,比较简单!具体情况如下所示: 点我下载源文件和exe导出文件》》》》》》》 角色可以上下左右移动,J发射子弹k跳跃,只有在跳板上才可以跳跃,可以吃能

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包