Unity引擎入门——制作第一个2D游戏(1)
Unity作为当今最流行的游戏引擎之一,受到各大厂商的喜爱。
像是炉石传说,以及最近的逃离塔克夫,都是由unity引擎开发制作。
作为初学者的我们,虽然无法直接做出完成度那么高的作品,但每一个伟大的目标,都有一个微不足道的开始。让我们从一个2D小游戏入手,来学习Unity引擎的使用吧!
① 新建项目,寻找素材

点击“新建”,因为我们要制作的是2D游戏,所以我们在新建项目时选择“2D”。

成功创建新项目之后,我们就开始寻找制作游戏所需要的素材。

在Unity自己的资源商店中,提供了大量的优质素材供我们选择,你可以选择自己喜欢的素材。
因为这是我们第一个2D游戏,所以我们使用的是一些简单的免费素材。
找到自己喜欢的素材之后,点击下载,然后把所选的素材Import到我们的项目当中。

导入完成之后,我们可以在左下角的Assets文件夹中找到我们的素材。
完成了一些简单的准备工作之后,我们可以开始做游戏啦!
② 创建角色,搭建场景
在任何游戏中,角色都是最重要的,一个好的主角能让游戏深入人心。
当然,因为这是我们制作的第一个小游戏,所以主角也不会那么复杂。

我们打开刚才导入的素材,找到一张主角站立的图片,作为我们主角最初始的样子。
直接把图片拖拽进去就好啦!
如果你发现图片的大小不满意,请不要直接用拉伸的方式修改,而是通过修改图片的每单位像素数
让图片变成合适的尺寸。

素材中默认的每单位像素数是100,但为了让我们的主角看上去大一些,我们将它改为16。
不要忘记了,如果你要对每单位像素数进行修改,就要把这个动作中的每一帧图片都进行修改,
不然之后我们就无法做出正确的动画效果了。
记得修改的时候要保证是偶数哦!

我们的主角现在仅仅还是一张图片,让我们给它添加一些组件吧!
点击添加组件,找到 Rigidbody2D(2D刚体)——这个组件可以让我们主角受到重力影响。
再找到 Box Collider 2D(2D盒型碰撞器)和 Circle Collider 2D(2D圆型碰撞器)
这两个都是碰撞器,可以让我们的主角具有碰撞体积。

我们点击右侧的编辑碰撞器,把碰撞器的形状调整到合适的位置。
可能你会疑惑,为啥要使用两个碰撞器呢,不能直接使用一个盒型碰撞器吗?
其实,的确是可以只使用一个碰撞器的,但是在之后角色移动的部分,只有一个碰撞器会有许多不方便的地方,
所以根据你的喜好,可以选择不同的碰撞器。
做到这里,我们已经拥有了一个简单的小人物了,接下来就该制作地图啦!

在如图所示的窗口中,我们新建一个2D的瓦片地图。
为什么叫做瓦片地图呢?
因为在我们绘制它的时候,有一个个的小方格,就像瓦片一样。

打开我们的平铺调色板,首先新建一个调色板,
然后在素材中找到用来制作地图的图集,拖进我们的调色板当中。
如果大小不合适的话,只要像修改主角的大小那样,调整每单位像素数的大小就好啦!

接下来,可以利用平铺调色板里的方块,画出你喜欢的地图。
画好之后,我们也给地图添加一个碰撞器。
选中瓦片地图,点击添加组件,找到瓦片地图碰撞器。添加之后,我们绘制的方块就具有碰撞体积了。
做到这里,游戏就有了基础的角色和场景,点击运行试试看吧!

我们的人物已经可以站在地上啦!
在下一节教程里,会介绍人物的基础移动和动画效果。
如果你觉得这篇博客对你有帮助,就点个关注吧!
Unity引擎入门——制作第一个2D游戏(1)的更多相关文章
- Unity引擎入门——制作第一个2D游戏(2)角色移动与动画
在上一节的内容里,我们已经创建出了一个主角,也搭建了一个简单的场景. 传送门:https://www.cnblogs.com/zny0222/p/12653088.html 既然有了主角,要怎样才能让 ...
- 【使用Unity开发Windows Phone上的2D游戏】(2)初识工具
下载工具 我们需要下载两个工具:Unity 和 2D Toolkit Unity 在我写这篇文章的时候,最新的Unity版本是4.2.1, 下载地址 Unity公司的开发效率实在是很高,我一个多月前开 ...
- 【使用Unity开发Windows Phone上的2D游戏】(1)千里之行始于足下
写在前面的 其实这个名字起得不太欠当,Unity本身是很强大的工具,可以部署到很多个平台,而不仅仅是可以开发Windows Phone上的游戏. 只不过本人是Windows Phone 应用开发出身, ...
- Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏
Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...
- 【2D游戏引擎】WIP反思
WIP(Working In Progress)是我初学游戏引擎开发时候开发的一个2D游戏引擎,当时计划为它实现类似Unity一样的编辑器,具有和Unity相似的工作流,但是由于水平不够,走了很多弯路 ...
- 2d游戏和 3d游戏的区别
2D游戏和3D游戏的主要区别 一.总结 一句话总结:2D中的单位就是贴图,3D中的单位还有高 1. 3D 和 2D 游戏的区别主要体现在呈现画面和文件体积上: 2. 借助 3D 引擎可以提升 2D 游 ...
- Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
声明: 本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...
- Unity Shader入门精要学习笔记 - 第14章非真实感渲染
转载自 冯乐乐的 <Unity Shader 入门精要> 尽管游戏渲染一般都是以照相写实主义作为主要目标,但也有许多游戏使用了非真实感渲染(NPR)的方法来渲染游戏画面.非真实感渲染的一个 ...
- Pygame制作微信打飞机游戏PC版
使用Pygame制作微信打飞机游戏PC版 转至:http://www.cnblogs.com/dukeleo/p/3339780.html 前一阵子看了一篇文章:青少年如何使用Python开始游戏 ...
随机推荐
- Nacos 数据持久化 mysql8.0
一.问题描述 直接下载的稳定版本nacos编译后的文件,不支持mysql8及其以上版本,按照官网文档:https://nacos.io/zh-cn/docs/deployment.html 执行完成之 ...
- java算法--链表
虽然这个文章看着很多,但是大多是对于细节的讲解,如果想要快速了解,可以直接观看末尾代码.上面的代码内容都是来自于文章末尾的代码. 很重要的算法,也是比较简单的算法. 但是在java中,因为不存在c和c ...
- Flutter Form表单控件超全总结
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 Form.FormField.TextFormField是 ...
- 解决 unable to lock the administration directory (/var/lib/dpkg/) 问题
阿里开源镜像站提供了raspbian的软件包镜像,国内的用户可以选择改用阿里镜像站作为更新源. 但是在更换源之后,执行 sudo apt-get update && apt-get u ...
- go bufio 、os 包
程序使用短变量声明创建bufio.Scanner类型的变量input. input := bufio.NewScanner(os.Stdin) 该变量从程序的标准输入中读取内容.每次调用input.S ...
- C# Socket编程实现简单的局域网聊天器
目录 前言 编码 服务端监听接口 客户端连接接口 文字发送接口 文件发送接口 信息接收接口(文字与文件) 使用 注意事项 源码 前言 最近在学习C# Socket相关的知识,学习之余,动手做了一个简单 ...
- javaScript 基础知识汇总(七)
1.数组 特点:数组是可以存储有序集合的对象. 声明: let arr = new Array(); let arr=[]; 大多数情况下我们使用第二种. let fruits = [" ...
- MVC设计模式简介
刚刚学习了MVC相关知识,在这里进行一下总结MVC设计模式提高了Java开发中的代码可读性,提高了开发效率,实乃开发利器 1在MVC中由客户端发送一个带参数的请求,经过servlet处理后做出相应的处 ...
- Java 注解简介
一,什么叫注解 用一个词就可以描述注解,那就是元数据,即一种描述数据的数据.所以,可以说注解就是源代码的元数据.比如,下面这段代码: 1 2 3 4 @Override public String t ...
- ajax上传文件,通过FromData把数据传给后端
前端代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...