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)的更多相关文章

  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. 那些年,我的前端/Java后端书单

    全文为这些年,我曾阅读.深入理解过(或正在阅读学习.即将阅读)的一些优秀经典前端/Java后端书籍.全文为纯原创,且将持续更新,未经许可,不得进行转载.当然,如果您喜欢这篇文章,可以动手点点赞或者收藏 ...

  2. 在浏览器中使用ES6的模块功能 import 及 export

    感谢英文原作者 Jake Archibald 的技术分享 各个浏览器对于ES6模块 import . export的支持情况 Safari 10.1. Chrome 61. Firefox 54 – ...

  3. 峰哥说技术:08-Spring Boot整合FreeMarker视图

    Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 08  峰哥说技术:Spring Boot整合FreeMarker视图 前面带着大家整合了Thymelea ...

  4. disruptor 核心概念 二

    一.Disruptor图解 二.disruptor核心概念 1.RingBuffer到底是啥?正如名字所说的一样,他是一个环(首尾相接的环)它用做在不同上下文(线程)间传递数据的buffer Ring ...

  5. 转pdf

    一.转印厂pdf(书本类及折页类) 1.储存为(Ctrl+Shift+S) 2.保存类型选择   pdf 3.常规==>Adobe PDF预设==>选择印刷质量 4.选择标记和出血==&g ...

  6. DIY 作品 及 维修 不定时更新

    手机电池DIY充电宝 2块,优质手机电池加一个升压ic ,焊上一个 usb 母头.比买的强多了. 还能调压,最高调到24V 可以带白光焊台. 更换手机 SIM/SD 卡二合一 贴上高温胶带,吹下来. ...

  7. python之 filter

    filter的语法:filter(函数名字,可迭代的变量) 其实filter就是一个“过滤器”:把[可迭代的变量]中的值,挨个地传给函数进行处理,那些使得函数的返回值为True的变量组成的迭代器对象就 ...

  8. iview mock main.js

    main.js // 实际打包时应该不引入mock /* eslint-disable */ // if (process.env.NODE_ENV !== 'production') require ...

  9. python pip 更新失败问题

    通过PIP 安装第三方库的时候出现 pip程序版本过旧,用’python -m pip install --upgrade pip‘安装’提示仍然如下 可以用管理员身份运行windows shell  ...

  10. 云CRM和本地CRM哪个更好

    现在CRM系统按照服务器部署方式的不同分为本地CRM和云CRM两种,本地CRM需要在企业内部部署服务器,而云CRM的服务器则是安装在云服务器上面,很多企业可能不知道应该选择云CRM还是本地CRM.下面 ...