前言

Platformer Pro框架是Unity3d AssetStore上一个非常强大和受欢迎的2d游戏开发框架,这个教程的大部分翻译于官方文档,一部分是工作总结,还有一部分是视频教程文档化.这个文档教程内容比较多,可能需要很久才能更新完.
刚买完最新正版,这里是下载链接: https://pan.baidu.com/s/1c2GggaG 密码: k9nf

一.教程

1. 开始 Getting Started

1.1总览

总览安排的学习目标能让你对Platformer Pro有一个全面基本的了解.

初步阅读

文档中所有标有(1)的文章是文章所在各个模块的总览,最好每个都看一遍,这样能让你对整个框架的结构有一个清晰的认识.

简单视频教程
加入论坛
进阶视频教程
读完所有API文档
项目中练习
  • 只有在实际项目中运用才能真正学会使用这个框架.

1.2 快速开始

二.文档

1. 角色组件 Character Components

1.1角色Character (I)

理解这个部分对使用Platformer Pro至关重要

Character组件是组织其他所有组件的基础组件:通过Character组件,其他组件能够结合到一起工作来实现角色的创建。
Character组件包含影响角色行为的关键元素的配置,例如角色将与哪些层交互。
要创建一个新角色,将Character组件添加到一个空的GameObject中。

1.2碰撞器Colliders(1)

理解这个部分对使用Platformer Pro至关重要

Platformer PRO中的角色碰撞由在character上定义的RaycastColliders控制。 角色的头部,侧面和脚部都有一些碰撞器。
通过添加character组件创建角色后,你就可以使用角色上的Collider Editor来修改角色身上的碰撞体:

重置碰撞体Collider

按“ 重置碰撞器 ”按钮,可以把碰撞器的各个选项重置为不同的默认值。 当按下此按钮时,将根据角色的配置显示一系列选项。例如:

  • Reset to default position
    将对齐框重置为框形。
  • Use basic sprite detection
    将对应关系重置为精灵边界。(带有SpriteRenderer)
  • Use smart sprite detection
    读取精灵的Alpha通道,以猜测碰撞机的最佳位置。(带有SpriteRenderer指向一个可读的Sprite)
  • Use mesh based detection
    将关键字重置为网格的边界。(带有MeshFilter)

使用可读Sprite重置碰撞器选项作为角色GameObject:

使用不可读Sprite将角色GameObject的小孩重新设置为相关选项(请注意信息消息):


  • 在设置了基本的碰撞器之后,您可以使用“Edit Feet”,“Edit Sides”和“Edit Head”按钮来调整碰撞器的位置。
编辑碰撞器 - 脚部

脚部碰撞器给角色向上的力,使角色站立在平台上。

提示 :这里的碰撞器是通过射线检测实现的,不是Box collider, 如果脚射线检测不到任何物体,角色就会下落.

单击Edit Feet显示的场景视图:

使用鼠标拖动角色脚的边界,能够调整脚部碰撞器的位置。
在Inspector中,您会看到Edit Feet选项:

使用Add Collider按钮添加更多的碰撞器到角色。 碰撞器用小圆圈表示。 使用“ Remove Collider ”按钮删除碰撞器。 因为脚部碰撞器必须均匀间隔,您只能控制脚部碰撞器的边界。

更多的碰撞器将允许你的角色站在非常薄的平台上。 如果您正在处理陡坡,您应该使用更多的碰撞器(4或5)。脚部碰撞器应该尽量少于5个。

Reflect changes on both sides 选项使您的角色在调整碰撞器时左右对称。 如果您有不对称的角色,请参阅Working with Asymmetrical Characters.。

注意:当使用tiles 时,应考虑tiles 的大小,而不仅仅是平台的尺寸。 如果所有平台都是1个单位宽,但是瓷砖只有0.5f单位宽,确保角色的脚部碰撞器宽度小于瓷砖尺寸。

编辑碰撞器 - 侧面

侧面碰撞器在角色两边:用于防止角色穿过墙壁。

使用侧面碰撞器类似于使用脚部碰撞器,但是您可以更好地控制侧面碰撞器的位置:

使用鼠标移动碰撞器, 使用"+"号按钮添加新的碰撞器。 按住SHIFT,然后单击"-"号按钮删除一个碰撞器。

记住 :你需要有足够的侧面碰撞器,使得同一侧任何碰撞器之间的最大距离小于最薄的墙壁或平台。 这确保角色不能“穿过”墙壁。 通常3到4个是足够的。

记住侧面碰撞器的工作原理,他们给角色一个侧向的力。如果侧面碰撞器没有在X轴上对齐,你的角色可能会在靠墙下降时抖动。按下 Align in X 使所有的碰撞器在X轴上对齐。大多数角色都应该使其碰撞器沿x轴对齐。

然而,不对齐的侧面碰撞器可以适用于某些角色,特别是奇怪形状或2.5D角色。 如果要使用非对齐侧面碰撞器,则要使用多个侧面碰撞器来提供平滑的形状:

“Space Evenly ”按钮使得碰撞器在Y轴方向上均匀分布。

双方的反射变化复选框使您的角色对称。 在大多数情况下,您希望您的角色是对称的,但如果您有不对称的角色,请参阅使用不对称字符。

编辑碰撞器 - 头部

头部碰撞器在接触物体时会给角色一个向下的力,用来阻止角色跳过屋顶。

使用头部碰撞器类似于使用侧面碰撞器。 您可以选择在Y轴( 对齐顶部Align Top )和X轴( 均匀分布,Space Evenly )进行对齐 。

像其他碰撞器一样,您必须确保头部碰撞器足够靠近小于最薄的平台,这样角色才不会穿过平台。

注意:当使用tiles 时,应考虑tiles 的大小,而不仅仅是平台的尺寸。 如果所有的平台都是1个单位宽度,但是tiles 只有0.5f单位宽,确保你的头部.碰撞器宽度小于瓷砖尺寸。

碰撞器通用设置

以下准则将有助于确保您的角色按预期方式行事,而不会出现奇怪的弹出或跳动:只有当你确定知道自己在做什么时才能打破这些规则!

  • 侧面碰撞器必须位于由头部和脚部碰撞器定义的范围内。
  • 一般侧面碰撞器应该“伸出”比头部和脚部的碰撞物稍微远一些。
  • 一般来说,头和脚的对撞机边界大致相同:如果一个角色从平台上直接落下,他们应该能够跳起来,而不会碰头。
调试碰撞器

您可以通过按下“Debug Collider”按钮来查看碰撞器的情况。 在编辑模式中,这显示了碰撞器的边界和范围,但是在播放模式下,它显示的更多:

  • 白线显示的是碰撞器的范围 ,箭头指示方向。

  • 灰线显示前方:这是射线投射的距离。 是用来检测墙壁或检测地面, 然后施加推开它的力。

  • 蓝色圆圈显示前方区域的碰撞。 他们影响角色触发事件,但不会影响角色的位置。

  • 红色圆圈显示碰撞器范围内的碰撞。 他们会影响角色的位置。

2. 输入 Input

3. 运动 Movement

4. 动画 Animation

5. 生命和伤害 Heath and Damage

6. 物品和奖励 Items and Power Ups

7. 敌人 Enemies

8. 伤害系统 the Attack System

9. 平台和几何 Platformes and Geometry

10. 触发器和事件响应 Triggers and Event Responders

11. UI和特效 UI and Effects

12. 扩展和使用第三方工具 Extending and Using Third Party Tools

Unity3d Platformer Pro 2D游戏开发框架使用教程的更多相关文章

  1. IOS 2D游戏开发框架 SpriteKit

    最近发现Xcode自带的2D游戏开发框架SpriteKit可以直接引入到APP中进行混合开发,这就是说可以开发出既带业务应用又带游戏的苹果APP,咋怎么觉得这是一个自己的小发现....呵呵....., ...

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

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

  3. 初识phaser框架——开源的HTML5 2D游戏开发框架

    背景: 在网上看到,65行实现flappy bird,感到很好奇.原来是使用开源的2D游戏框架 phaser开发的. 什么是phaser2D游戏开发框架呢? 借鉴与网上的资料: 1.    Phase ...

  4. unity3D引擎:2D游戏自动瞄准算法实现

    转:http://blog.csdn.net/naitu/article/details/39555373 在很多飞行射击类游戏里,都有敌人向玩家自动瞄准并开火的功能.在这里本人用unity3D引擎新 ...

  5. IOS 2D游戏开发框架 SpriteKit-->续(创建敌对精灵)

    这次包括之后讲的spritekit 我都会围绕一个案例来说,这个案例就是一个简单的2d飞机大战游戏,今天这里我讲创建敌对精灵,就是敌对飞机,敌对飞机不停的被刷新到屏幕上.....当然这里涉及到的类其实 ...

  6. IOS 2D游戏开发框架 SpriteKit-->续(创建用户角色精灵--原创)

    一.主要实现   今天spritekit实现创建玩家角色精灵(SKSpriteNode *), 增加角色精灵的手势操作,这里增加的手势计算方法与objective-c中是不一样的,因为objectiv ...

  7. IOS 2D游戏开发框架 SpriteKit-->续(完善角色功能)

    一.说明       今天给角色精灵增加了子弹发射功能,增加了子弹与敌对精灵的碰撞检测,当角色精灵子弹与敌对精灵碰撞后,它们都会从屏幕上消失. 二.场景层SKScene的修改 1. 在初始化场景层的方 ...

  8. IOS 2D游戏开发框架 SpriteKit-->续(postion,锚点,游戏滚动场景)

    一. Postion 这里的postion和app开发中的layer.postion是一样的,postion的值代表该视图在父节点中的相对位置, 比如一个试图的父节点是self.view, 这里我们想 ...

  9. Unity3D 创建一个简单的2D游戏

    开始研究Unity3d 中的2D游戏. 首先创建出一个项目: 然后创建出一个场景: 然后添加一个背景: 然后创建一个主人公对象: 可以是自己做的素材,也可以是用unity裁剪的素材, 下面贴出裁剪素材 ...

随机推荐

  1. ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程

    1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id  id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...

  2. python的Web框架,Django模型系统二,模型属性,及数据库进阶查询

    原始数据接上篇文章来操作.可能需要查看后才能懂.点击这里查看 1.常用的模型字段类型 官方文档:https://docs.djangoproject.com/en/2.1/ref/models/fie ...

  3. Python 判断文件/目录是否存在

    使用 os 模块 判断文件是否存在 os.path.isfile(path) 判断目录是否存在 os.path.isdir(path) 判断路径是否存在 # 使用 path 模块 os.path.ex ...

  4. loggin(日志模块)

    这是一个提供日志功能的模块,它可以让你更敏捷的为你程序提供日志功能 一.常用日志记录场景及最佳解决方案: 日志记录方式 最佳记录日志方案 普通情况下,在控制台显示输出 print()报告正常程序操作过 ...

  5. Vim 字符串替换命令

    命令模式下输入如下命令可实现替换: s/str1/str2/ 替换当前行第一个 str1 为 str2 s/str1/str2/g 替换当前行中所有的 str1 为 str2 m,ns/str1/st ...

  6. 关于EF实体类的一点思考

    在EF中修改一条记录时,一般是先查出该条记录,然后再通过TryUpdateModel或其他方式更新对应的属性.但我很讨厌这种要更新一条记录时,还要先去把记录查询出来的做法.我喜欢像sql语句那样的直接 ...

  7. dotnet 从入门到放弃的 500 篇文章合集

    本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...

  8. WEB前端面试选择题解答(共36题)

    第1题 ["1", "2", "3"].map(parseInt) A:["1", "2", &qu ...

  9. js识别设备

    console.log(window.navigator); Navigator 对象属性         appCodeName     返回浏览器的代码名.         appMinorVer ...

  10. Jmeter进阶篇之监控服务器cpu,内存

    对于Jmeter,可以不再赘述,因为介绍得也够多了. 那么相信有部分同学已经尝试着自主去学习如果使用Jmeter对服务器进行压力测试了. 但是可能也会发现,Jmeter好像监控不了服务器的cpu已经内 ...