| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 【unity】快速了解游戏制作流程-制作九宫格简单游戏demo -> 正文阅读 |
|
[游戏开发]【unity】快速了解游戏制作流程-制作九宫格简单游戏demo |
前言? ? ? ? hi~大家好呀!欢迎来到我的unity学习笔记系列~,本篇我会简单的记录一下游戏流程并且简单上手一个通过九宫格移动到指定位置的小游戏,话不多说,我们直接开始吧~
? 目录 一、unity开发游戏流程1.了解? ? ? ? 首先,我们要明确我们是在用游戏开发引擎来进行编写游戏,所以,我们需要的也就是好好的利用此引擎的优势。现在我们使用unity进行开发,开发的话就要熟悉它们的用法,针对其用法和流程,我们通过制作一个简单的游戏demo来大致理解如下过程:
?2.简单制作demo流程规划? ? ? ? 根据如上流程,我们简单规划一下我们要制作的九宫格游戏demo,首先导入资源:我们是使用的3d模式,unity自带的有方块、球形等,所以导入资源这一部就使用自带的即可。 ? ? ? ? ?然后搭建场景:我们使用一些方块搭建一个九宫格,控制摄像机位置,防止我们玩家操控的一个方格和要到达起点球。颜色可以做区分。 ? ? ? ? 配置组件:组件信息配置好,在之后的脚本控制需要用到这些组件。 ? ? ? ? 定义变量:如果我们想要存储某些数据的话们就可以定义变量来保存对应的对象。当然是在脚本里面进行控制和存储。 ? ? ? ? 编写方法:即在对应对象下的脚本中进行编写,来控制这一对象的行为逻辑,比如我们这个demo就编写player的wasd逻辑以及碰到球就显示输出信息(控制台)的效果。 ? ? ? ? 串联逻辑:将编写好的方法,类等各种对象的行为属性串联一起,使其组成一个完整的游戏逻辑,游戏得以运行。 ? ? ? ? 如下就是我们即将制作的一个简单demo: ? ? ? ? ?是不是很简单?轻松上手,让我们从零开始制作吧~ 二、简单九宫格游戏demo制作1.创建项目? ? ? ? 相信看到这里的同学unity肯定是安装齐全了吧~博主这里使用的是2021稳定版本的,建议2021年以上哦~ ????????脚本编写使用的是vscode,不知道unity如何配置vscode进行编写的可以看我的上一篇unity学习笔记哦~如果vscode来编写unity没有提示的话可以参看下面这篇博客,希望能对你有所帮助! 解决VSCode无法显示Unity代码提示的真正解决办法_斯幽柏雷科技的博客-CSDN博客_vscode没有unity提示 ? ? ? ? ?耐心等待创建完即可。 ? ? ? ? ?创建成功后初始画面如上,我们可以将页面布置调成2by3进行方便的操作(看个人喜好,下面仅仅展示个人设置) ? ? ? ? 也可以通过window->General->Console将控制台调出来,方便我们观察脚本的状态报错信息,打印信息等。 ? ? ? ? ?最终效果如下: ? ? ? ? 左上是显示场景,左下game显示玩家看到的场景,左下Console就是控制台,中间Hierarchy显示游戏场景里所有的对象,以及展示其关系?,Project即展示所有资源的地方,右边的inspector展示对应对象的各种属性,比如各种组件以及脚本等,可以随时修改。详细的下面会一一介绍。 ? 2.场景搭建(导入资源 搭建场景 配置组件) ? ? ? ? ?在项目创建完成后,我们终于可以进入实践操作啦~ 重在理解过程 而不是制作游戏哦~ 组装九宫格:? ? ? ? 首先,我们先把摄像机固定好:(Main Camera对象,创建项目后unity初始两个对象之一) ? ? ? ? 按照如下图进行设置:
? ? ? ? 摄像机位置调整好后,我们创建对象Ground作为初识对象,使其变成一个九宫格,那么我们可以控制其中心位置在0 0(x z),长和宽为3,3,长度设为1,效果如图:
? ? ? ? ?地面创建好了,我们创建地板来划分好九个位置。地板同样可以使用方形对象,只需厚度缩小即可,根据如下具体的坐标操作即可:
?添加移动方形(玩家控制的方块)和目标绿球:? ? ? ? 和上面步骤一致,在场景窗口创建方形对象和球对象即可,控制其大小,放在上层,一个放在左下角,一个放在右上角,颜色一个控制为红色,一个为绿色。现在你先不看下面的题解,先自己尝试尝试吧~
3.编写脚本?(定义变量 编写方法 串联逻辑) ? ? ? ? 恭喜你场景搭建完成!现在只需要对我们的操作目标方块添加一个组件--脚本,来控制其行为,那么我们这个小demo就算完成啦~ 定义变量GameObject:? ? ? ? 首先选中Player,在Inspector界面下Add Component添加组件,输入Player(此时实际上就是创建C#脚本,也可以直接在资源文件夹下创建,只不过这一步需要拖拽) ? ? ? ? ?创建完成后,资源文件下会出现此C#脚本,双击打开即可: ? ? ? ? 双击打开后会出现如下默认画面: ? ? ? ? 此时脚本正事开始编写:
?编写方法:? ? ? ? 我们想要让Player对象能够听从wasd进行上下左右进行移动(Move),并且控制其不能超过边界。控制其移动,说白了也就是控制其transfrom组件的位置信息改变而已,在unity与c#中,transform为一个类,其中提供了Translate(参数)-位移方法:
? ? ? ? 知道了位移方法,首先我们应该要接收玩家所按下的按钮,unity结合C#玩家输入在Input类中,有接收按钮的方法:
? ? ? ? 输入后,我们需要判断是否超过边界,那么只需要判断当前组件是否在左上,左下,右上,右下这四个点即可(-1, 1;-1, -1; 1, 1; 1, -1 )。利用transform就可以获取当前组件位置信息进行判断即可。结合上述分析,不难得出代码:
? ? ? ? 移动代码写出后,我们这里简单利用控制台输出信息检测是否到目标值的方法isSphere(),此方法逻辑简单,就判断两个对象transform位置信息是否一致,一致就打印即可:
串联逻辑:? ? ? ? 在unity默认给的方法:strat和update实际上就是生命周期方法,一个会在第一帧前调用,一个在每一帧都会调用。因为我们的移动和判断是每一帧都要进行检测的,所以放在update方法中即可,这样这个简单demo的逻辑就串联起来了:
综上,运行效果如下:(如果存在检测不出GameOver的出现,将球形位置y修改为0.5即可(bug)) 打包导出:? ? ? ? windows按住快捷键ctrl+b就可以打包啦(注意不能打包在工程目录下),此时运行你的简单demo把~ ????????是不是成就感满满~我们主要了解一个游戏在unity制作的大致流程以及学习了一些简单方法和方式,具体还是要系统的学习的,让我们一起努力呀!加油少年! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/17 5:58:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |