Unity引擎入门——制作第一个2D游戏(1)

时间:2022-09-12 14:25:05

Unity作为当今最流行的游戏引擎之一,受到各大厂商的喜爱。

像是炉石传说,以及最近的逃离塔克夫,都是由unity引擎开发制作。

作为初学者的我们,虽然无法直接做出完成度那么高的作品,但每一个伟大的目标,都有一个微不足道的开始。让我们从一个2D小游戏入手,来学习Unity引擎的使用吧!

① 新建项目,寻找素材

Unity引擎入门——制作第一个2D游戏(1)

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

Unity引擎入门——制作第一个2D游戏(1)

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

Unity引擎入门——制作第一个2D游戏(1)

在Unity自己的资源商店中,提供了大量的优质素材供我们选择,你可以选择自己喜欢的素材。

因为这是我们第一个2D游戏,所以我们使用的是一些简单的免费素材。

找到自己喜欢的素材之后,点击下载,然后把所选的素材Import到我们的项目当中。

Unity引擎入门——制作第一个2D游戏(1)

导入完成之后,我们可以在左下角的Assets文件夹中找到我们的素材。

完成了一些简单的准备工作之后,我们可以开始做游戏啦!

② 创建角色,搭建场景

在任何游戏中,角色都是最重要的,一个好的主角能让游戏深入人心。

当然,因为这是我们制作的第一个小游戏,所以主角也不会那么复杂。

Unity引擎入门——制作第一个2D游戏(1)

我们打开刚才导入的素材,找到一张主角站立的图片,作为我们主角最初始的样子。

直接把图片拖拽进去就好啦!

如果你发现图片的大小不满意,请不要直接用拉伸的方式修改,而是通过修改图片的每单位像素数

让图片变成合适的尺寸。

Unity引擎入门——制作第一个2D游戏(1)

素材中默认的每单位像素数是100,但为了让我们的主角看上去大一些,我们将它改为16。

不要忘记了,如果你要对每单位像素数进行修改,就要把这个动作中的每一帧图片都进行修改,

不然之后我们就无法做出正确的动画效果了。

记得修改的时候要保证是偶数哦!

Unity引擎入门——制作第一个2D游戏(1)

我们的主角现在仅仅还是一张图片,让我们给它添加一些组件吧!

点击添加组件,找到 Rigidbody2D(2D刚体)——这个组件可以让我们主角受到重力影响。

再找到 Box Collider 2D(2D盒型碰撞器)和 Circle Collider 2D(2D圆型碰撞器)

这两个都是碰撞器,可以让我们的主角具有碰撞体积。

Unity引擎入门——制作第一个2D游戏(1)

我们点击右侧的编辑碰撞器,把碰撞器的形状调整到合适的位置。

可能你会疑惑,为啥要使用两个碰撞器呢,不能直接使用一个盒型碰撞器吗?

其实,的确是可以只使用一个碰撞器的,但是在之后角色移动的部分,只有一个碰撞器会有许多不方便的地方,

所以根据你的喜好,可以选择不同的碰撞器。

做到这里,我们已经拥有了一个简单的小人物了,接下来就该制作地图啦!

Unity引擎入门——制作第一个2D游戏(1)

在如图所示的窗口中,我们新建一个2D的瓦片地图

为什么叫做瓦片地图呢?

因为在我们绘制它的时候,有一个个的小方格,就像瓦片一样。

Unity引擎入门——制作第一个2D游戏(1)

打开我们的平铺调色板,首先新建一个调色板,

然后在素材中找到用来制作地图的图集,拖进我们的调色板当中。

如果大小不合适的话,只要像修改主角的大小那样,调整每单位像素数的大小就好啦!

Unity引擎入门——制作第一个2D游戏(1)

接下来,可以利用平铺调色板里的方块,画出你喜欢的地图。

画好之后,我们也给地图添加一个碰撞器。

选中瓦片地图,点击添加组件,找到瓦片地图碰撞器。添加之后,我们绘制的方块就具有碰撞体积了。

做到这里,游戏就有了基础的角色和场景,点击运行试试看吧!

Unity引擎入门——制作第一个2D游戏(1)

我们的人物已经可以站在地上啦!

在下一节教程里,会介绍人物的基础移动和动画效果。

如果你觉得这篇博客对你有帮助,就点个关注吧!

Unity引擎入门——制作第一个2D游戏(1)的更多相关文章

  1. Unity引擎入门——制作第一个2D游戏(2)角色移动与动画

    在上一节的内容里,我们已经创建出了一个主角,也搭建了一个简单的场景. 传送门:https://www.cnblogs.com/zny0222/p/12653088.html 既然有了主角,要怎样才能让 ...

  2. 【使用Unity开发Windows Phone上的2D游戏】(2)初识工具

    下载工具 我们需要下载两个工具:Unity 和 2D Toolkit Unity 在我写这篇文章的时候,最新的Unity版本是4.2.1, 下载地址 Unity公司的开发效率实在是很高,我一个多月前开 ...

  3. 【使用Unity开发Windows Phone上的2D游戏】(1)千里之行始于足下

    写在前面的 其实这个名字起得不太欠当,Unity本身是很强大的工具,可以部署到很多个平台,而不仅仅是可以开发Windows Phone上的游戏. 只不过本人是Windows Phone 应用开发出身, ...

  4. Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...

  5. 【2D游戏引擎】WIP反思

    WIP(Working In Progress)是我初学游戏引擎开发时候开发的一个2D游戏引擎,当时计划为它实现类似Unity一样的编辑器,具有和Unity相似的工作流,但是由于水平不够,走了很多弯路 ...

  6. 2d游戏和 3d游戏的区别

    2D游戏和3D游戏的主要区别 一.总结 一句话总结:2D中的单位就是贴图,3D中的单位还有高 1. 3D 和 2D 游戏的区别主要体现在呈现画面和文件体积上: 2. 借助 3D 引擎可以提升 2D 游 ...

  7. Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节

    声明:   本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...

  8. Unity Shader入门精要学习笔记 - 第14章非真实感渲染

    转载自 冯乐乐的 <Unity Shader 入门精要> 尽管游戏渲染一般都是以照相写实主义作为主要目标,但也有许多游戏使用了非真实感渲染(NPR)的方法来渲染游戏画面.非真实感渲染的一个 ...

  9. Pygame制作微信打飞机游戏PC版

    使用Pygame制作微信打飞机游戏PC版 转至:http://www.cnblogs.com/dukeleo/p/3339780.html   前一阵子看了一篇文章:青少年如何使用Python开始游戏 ...

随机推荐

  1. loadrunner通过字符串左右边界切割字符串

    void web_reg_save_param_custom(char *sourceStr, char* outpuStr, char *leftBdry, char *rightBdry){    ...

  2. zju&lpar;4&rpar;使用busybox制作根文件系统

    1.实验目的 1.学习和掌握busybox相关知识及应用: 2.学会使用交叉编译器定制一个busybox: 3.利用该busybox制作一个文件系统: 4.熟悉根文件系统组织结构: 5.定制.编译ra ...

  3. Android Handler leak 分析及解决办法

    In Android, Handler classes should be static or leaks might occur, Messages enqueued on the applicat ...

  4. EXTJS4&period;2 chart 柱状图

    chart 柱状图 Ext.require('Ext.chart.*'); Ext.require(['Ext.Window', 'Ext.fx.target.Sprite', 'Ext.layout ...

  5. 重复造*感悟 – XLinq性能提升心得

    曾经的两座大山 1.EF 刚接触linq那段时间,感觉这家伙好神奇,语法好优美,好厉害.后来经历了EF一些不如意的地方,就想去弥补,既然想弥补,就必须去了解原理.最开始甚至很长一段时间都搞不懂IQue ...

  6. oracle添加列到指定位置

    http://blog.csdn.net/liufeng_king/article/details/7421826

  7. Redis脚本

    8.启动 /usr/local/bin/redis-server /etc/redis/redis.conf ./redis-server /home/work/redis/redis.conf &a ...

  8. java BigDecimal实现精确加减乘除运算

    java.math.BigDecimal.BigDecimal一共有4个够造方法,让我先来看看其中的两种用法: 第一种:BigDecimal(double val)Translates a doubl ...

  9. bzoj4928&colon; 第二题

    Description 对于一棵有根树,定义一个点u的k-子树为u的子树中距离u不超过k的部分. 注意,假如u的子树中不存在距离u为k的点,则u的k-子树是不存在的. 定义两棵子树是相同的,当且仅当不 ...

  10. Python 爬虫知识点

    一.基础知识 1.HTML分析 2.urllib爬取 导入urilib包(Python3.5.2) 3.urllib保存网页 import urllib.requesturl = "http ...