前言

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. LearnOpenGL学习笔记(三)——VBO,VAO,EBO理解

    在opengl中所有的数据都要放在显存中,我们通过一定的手段去管理它,既要提供地方存放它,还要提供方法去正确地提取它们,去使用它们,opengl通过VAO,VBO,EBO这些手段来解决这些问题. (一 ...

  2. EOS商业落地利器:多签名操作与应用

    eos主网上线在即,它之所以能受到各方青睐,主要是看中了它在未来商业应用落地的潜力.在这期间,完善的账户与权限系统是必要条件. 关键字:eos,账户,钱包,权限,多重签名,eosio.msig,pro ...

  3. Android 监听 ScrollView 滑动到最底部。

    做产品时,有一个需求,需要监听ScrollView滑动到最底部.在网上找了些方法,都有这样或那样的问题,要不就是监听不精确, 要不就是重复监听,那些代码没有产品化,很不可靠. 经过自己试验,终于找到了 ...

  4. leetcode — remove-element

    /** * Source : https://oj.leetcode.com/problems/remove-element/ * * Created by lverpeng on 2017/7/12 ...

  5. springboot+cloud 学习(四)Zuul整合Swagger2

    前言 在微服务架构下,服务是分散的,怎么把所有服务接口整合到一起是我们需要关注的. 下面举例用zuul作为分布式系统的网关,同时使用swagger生成文档,想把整个系统的文档整合在同一个页面上来说明. ...

  6. Java使用foreach语句对数组成员遍历输出

    /** * 本程序使用foreach语句对数组成员进行遍历输出 * @author Lei * @version 2018-7-23 */ public class ForeachDemo { pub ...

  7. Strange Way to Express Integers(中国剩余定理+不互质)

    Strange Way to Express Integers Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%I64d & ...

  8. @RequestBody发送请求报400错误

    参数不使用@RequestBody 在使用Postman进行Post请求时,通常做法是填入key和value的值即可. 参数使用@RequestBody 使用@RequestBody注解时,在发送请求 ...

  9. Ajax实现的城市二级联动二

    上一篇联动一种只是城市用ajax请求获取并渲染,这里将省份也用ajax请求并渲染 1.HTML <select id="province"> <option> ...

  10. 如何判断页面是pc端还是移动端,进入不同的页面

    vue判断是pc端还是移动端分别进入不同的页面 判断移动端代码如下: function IsPC(){ var userAgentInfo = navigator.userAgent; var Age ...