主要内容

1. 设置2D环境

2. 设计游戏背景

3. 设计角色活动的前景空间

4. 设计角色

5. 设置摄像机跟踪角色

6. 完善玩法细节

7. 构建游戏


1. 设置2D环境

设置2D工作环境是开始游戏项目的第一步。

设置方式有两种:

1)新建项目时,在下拉菜单“Template”选定“2D”

2)游戏开发过程中,在Edit/Project Settings/Editor中调整“Default Behavior Mode”

设置工作环境后,导入的新图片素材的材质类型会默认Sprite,而不是Texture,场景视图(the scene view)也会预设为2D。

2D模式中采用完全的正视图视角来呈现2D游戏,同时隐藏右上角的Gizmo(小辅助工具)。

2. 设计游戏背景

1)在Photoshop中勾勒关卡雏形,设计出每个图层

2)将这些图层导入到Unity,在Inspector窗口中将Texture Type设为Sprite

3)为了呈现出背景的视差,可以将背景元素放在命名为“Background”的Sorting Layer中:

1. 通过Edit/Project Settings/Tags & Layers打开Sorting Layers创建排列层并调整它们的位置

上图为常用的Sorting Layers:Background(背景层),Character(角色层),Foreground(前景层)和UI(用户界面层)。

Sorting Layers的顺序并不是随意的,排列层的编号越大,显示的位置越靠前,所以前景层应该设定在背景层下面

为什么呢?

因为渲染(Rendering)顺序是从编号0的排列层开始,先被渲染,就先被铺在下面一层。

2. 将所有背景元素安排到Background

3. 再通过精灵渲染器(Sprite Renderer件)Order in Layer给它们在Background层上排序

4. 设置好后,在Layer中将Background锁定,这样就可以避免在编辑前景元素时移动背景元素

4)由于背景元素仅用于装饰,不需要其他组件,所以可以把它们放在一个空对象中,并在空对象中放入命名为Background Parallax的脚本来处理视差

3. 设计角色活动的前景空间

每一个前景元素都需要碰撞体(Collider)来让角色与其发生接触。

Unity提供的多边形碰撞体(Polygon Collider)可以根据图片外形自动产生多边形碰撞体,而且用户可以通过增加、移动或删除节点来调整碰撞体的外形。

为了区别可接触的前景元素和不可接触的前景元素,需要创建两个功能层来将它们分类放入

官网关于Layers(功能层)的描述:

file:///D:/Unity2018.1.8/Editor/Data/Documentation/en/Manual/Layers.html

4. 设计角色

1)在Photoshop中设计角色形象。考虑到角色在游戏中并不是一个静止的图像,所以在设计时就要构思如何为角色制作动画(Animation)。在2D游戏中,角色动画一般有两种实现方式:

1. 将角色身体的各部分分开设计,单独运动,继而达到全身运动的效果

2. 画出角色动画的每一帧,连续播放以达到运动的效果

2)若采用第二种方式,直接将Idle(待机)状态的角色图片拖入场景即可(自动生成GameObject);若采用第一种方式,先为每个部分单独建立一个GameObject,然后将图片放入,

再新建一个空对象(这里命名为Ellen),使角色的身体各部分成为Ellen的子对象。

最后将Ellen拖入场景,并调整身体各部分的位置。

3)角色身体的各部分放入建好的Character排列层中,然后改变z轴的深度来改变显示的前后顺序。(也可以在Sprite Renderer中改变Order In Layer的参数)

4)在Ellen中添加碰撞体(Collider 2D)刚体(Rigidbody 2D)音频(Audio Source)动画控制器(Animator)控制脚本攻击脚本等等。角色设定好后就可以到Animation窗口中设计每一节点的图画,建立待机Idle、跑Run、跳Jump、射击Shoot和死亡Death等的动画,并在动画控制器(Animator)中建立这些动画之间的联系。

5)如果角色的运动不由脚本控制,而是根据动画来位移,则勾选Apply Root Motion,否则不用勾选。

使用Animator控制动画动态的最大好处是可以调整动画速度来搭配物理速度,不需要作额外的判定。

6)让角色移动,需要给角色添加Ridbody 2D组件。同时我们也要根据输入的水平值是大于0或小于0来判断角色的面向方向。在Unity中,按左键会传回-1,按右键会传回+1

5. 设置摄像机跟踪角色

MainCamera(主相机)中添加CameraFollow脚本。

/*-----------跟随拍摄-----------*/public GameObject player;   /*角色的引用*/private Vector3 offset;     /*因为相机和主角不在一个平面,需要三维向量确定距离*/void Start () {offset = transform.position - player.transform.position;    /*记录相机和主角的初始落差(距离)*/}/*LateUpdate函数在所用Update函数调用之后执行,跟随游戏对象的相机必须要放在这个函数里,因为游戏对象可能在Update函数里发生位置的变化*/void LateUpdate () { transform.position = player.transform.position + offset;    /*根据初始距离计算位置*/}

也可以使用良心到让人发指的Cinemachine(点击穿越)。

6. 完善玩法细节

出发角度包括:脚本、动画、粒子系统、BGM、与游戏角色发生交互的预制体等。

7. 构建游戏

File/Build Settings…

Build Settings窗口包括将在构建中被包含的场景列表(Scenes in Build)、可用平台列表(Platform)以及当前选择平台的设置。窗口底部是平台切换按钮(Switch Platform播放器设置按钮(Player Settings),以及构建(Build)和构建并运行(Build and Run)按钮。

Scenes in Build:场景列表包括所有在构建中被包含的场景,Unity在构建游戏时将忽略未在场景列表中的场景。如果场景列表是空的,Unity将构建一个可执行文件,但只会使用当前打开的场景。列表中场景的顺序不同会影响游戏的运行效果。

Platform:在开始一个项目之前,我们应该选择我们打算针对的目标平台。当前选择的目标将直接影响Unity如何处理项目的关键方面,例如导入资源。切换目标平台将影响整个Unity编辑器中的许多设置。为多个目标建立一个代码库是可能的,通过一些技术就能实现,例如平台相关的编译。


路过的圈毛君:“安利一个B站的视频 https://www.bilibili.com/video/av3246302 

2D Game Creation - 2D游戏开发基本流程相关推荐

  1. 《Unity 2D与3D手机游戏开发实战》简介

    #好书推荐##好书奇遇季#<Unity 2D与3D手机游戏开发实战>,京东当当天猫都有发售.彩色印制,定价89元,网店打折销售更便宜.本书配套源码.PPT课件,适合Unity游戏开发初学者 ...

  2. 游戏开发制作流程与分工

    游戏开发制作流程详细介绍 一.项目计划阶段 1.创意管理:第一步,是召开会议,在会议中最常见的方法就是采取"头脑风暴法".每个人都必须拿出自己的建议和想法,之后大家一起进行讨论.另 ...

  3. erlang游戏开发基本流程

    erlang游戏开发基本流程 本人入坑erlang也就1年多,希望大家一起学习,写得有不好,请多指教. 客户端和服务端的通讯 客户端和服务端的通讯是通过协议进行的,而协议的封包和解包格式可以参考该网址 ...

  4. 手机棋牌游戏开发的流程是怎样的?

    最近几年,随着网络游戏的兴起,棋牌手游开发也越来越受欢迎,在国内,几乎随处可见从事手游和手游的公司.不过,虽然公司和产品很多,但效果也不一样,区别就在于,他们能不能掌握好这款游戏的关键.那么,在手机上 ...

  5. 游戏开发制作流程详细介绍

    一.计划阶段:首先,是项目计划阶段. 1.创意管理:第一步,是召开个会议,在会议中最常见的方法就是采取"头脑风暴法".每个人都必须拿出自己的建议和想法,之后大家一起进行讨论.另外在 ...

  6. 《Unity 2D与3D手机游戏开发实战》上架了。

    新书上架了. 这本书主要是Unity开发的入门,附带了一个简单的2D例子,一个3D RPG的简单例子和一个尽可能用插件实现的射击游戏的例子. 书很薄,不过因为是彩页印刷,价钱不是那么实惠.不过说实话, ...

  7. 游戏开发的具体流程以及操作

    游戏开发的流程通常包括以下几个步骤: 需求分析:了解游戏的目标和需求,并确定游戏的设计规格. 游戏设计:制定游戏的策划文档,包括游戏场景.人物.道具.游戏规则等. 素材制作:制作游戏的素材,包括人物. ...

  8. unity 3d游戏开发_使用Unity 5开发3D游戏

    unity 3d游戏开发 If there's one thing cooler than playing games, it's building games. 如果有比玩游戏更酷的一件事,那就是构 ...

  9. 游戏开发之--开源软件1--cocos2d-x(c++)|openbor

    2019独角兽企业重金招聘Python工程师标准>>> Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发,基于OpenGL ES,基于Cocos2d-i ...

  10. unite 开发_在Unite Nordic振兴您的游戏开发

    unite 开发 This May 21 – 22, we're throwing the first Unite Nordic, a regional Unity developers' confe ...

最新文章

  1. 实探全球第九大超算中心:温水冷却节能30% 正寻求新突破
  2. Windows组策略让你的网络系统更强壮
  3. vlc android 移植版编译
  4. 编程语言的发展趋势及未来方向(1):历史回顾及趋势概述
  5. 软件连接oracle失败怎么办,【编程开发工具】navicat连接oracle失败怎么办
  6. linux的常用操作——查看和修改文件权限
  7. C#将DLL嵌入到exe当中
  8. java exception信息_可能通过Java Exceptions暴露敏感信息?
  9. 【CCCC】L3-017 森森快递 (30分),线段树rmq模板+贪心排序
  10. sql server 纵横表的转换
  11. 解决AndroidStudio引入Jar出现Unable to resolve dependency for ':app@debug/compileClasspath
  12. cad编辑节点快捷键是什么_cad模型库的快捷键(请问CAD里窗口切换的快捷键是什么?)...
  13. FDDB--无约束人脸检测数据集
  14. (亲测)使用cmd结束进程的3种方法
  15. 苹果 App Store 最贵的 App,评论亮了!!
  16. 地图实景php,全景图展现 - 百度地图开发文档 - php中文网手册
  17. 数据库三大范式详解,部分依赖、完全依赖、传递依赖
  18. 【07】2.3 程序语言介绍
  19. 基于FPGA的数字等精度频率计
  20. ESXi服务器勒索补丁升级方法

热门文章

  1. jade入门与初步使用
  2. java 正则表达式 html,java正则表达式语法大全
  3. 哈尔滨平面模特,哈尔滨平面模特招聘,哈尔滨平面模特兼职,哈尔滨当平面模特,哈尔滨儿童平面模特,
  4. 高中数学建模优秀论文_高中数学建模优秀论文
  5. 易语言使用超级模块 全局热键
  6. 【NLP】之 结巴分词
  7. jmeter下载文件
  8. gliffy下载地址
  9. Epub,Mobi,Azw3电子书格式的区别,有什么好用的安卓epub阅读器
  10. 词法分析器【编译原理】