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. 02 JPA

    JPA概述 JPA的全称是Java Persistence API, 即Java 持久化API,是SUN公司推出的一套基于ORM的规范,内部是由一系列的接口和抽象类构成.       JPA通过JDK ...

  2. linux php 安装libiconv过程与总结

    问题:在嵌入式linux 已经安装好的php的情景下,需要安装一个扩展库libiconv 背景:从后台传的数据含有中文(gbk2312)的通过json_encode 显示为null,查阅资料发现jso ...

  3. 建议10:建议使用splice删除数组

    删除数组元素的方法有很多种,最简单就是利用length属性来截断数组,但这种方法比较笨,进能够截断尾部元素.在JS中,由于数组其实就是对象,因此可以使用delete运算符可以从数组中移除元素 var ...

  4. 【Weiss】【第03章】练习3.20:中缀表达式转后缀表达式

    [练习3.20] a.编写一个程序将中缀表达式转换为后缀表达式,该中缀表达式含括号及四则运算. b.把幂操作符添加到你的指令系统中去. c.编写一个程序将后缀表达式转化为中缀表达式. Answer: ...

  5. linux redis安装 5.0.2

    参看:https://www.cnblogs.com/limit1/p/9045183.html 1.获取redis资源 wget http://download.redis.io/releases/ ...

  6. 小白学 Python 数据分析(21):pyecharts 好玩的图表(系列终篇)

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  7. Python-练习 while 和for 循环

    # while 循环 age = 56count = 0 while count < 3 : guess_age=int(input('输入年龄:')) if guess_age == age: ...

  8. 基于Docker搭建Nginx图片服务器

    前言 一般开发中,都会把图片上传到一个目录,然后将目录和文件名拼接存储在数据库中,但是,这种方法如果没弄好的话可能有一定的缺陷. 若项目搬迁,即时这台服务器本身还在用,存放在服务器的跟项目相关的图片也 ...

  9. 树莓派4B踩坑指南 - (13)用samba建立家庭局域网共享中心

    树莓派在家中至少三个作用:家庭资源共享中心.无线打印服务器.下载服务器. 家庭资源共享中心用samba实现家庭局域网共享,树莓派4B的话可以接2个3.0的移动硬盘. 实测速度不快,Win读2Mb/s写 ...

  10. JavaWeb----Cookie&Session

    ##  会话技术 1.会话:一次会话中包含多次请求和响应. *  第一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止. 2.功能:再一次会话的范围内的多次请求间,共享数据 3. ...