前言

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. 一个电脑的重装到java开发环境安装配置的全过程

    刚拿到一台别人用过的电脑.看着c盘爆满,而且用了还是windows7操作系统,强迫症发作马上就准备重装系统. 之前换固态使用wepe制作U盘启动盘装系统的步骤和过程全部忘记的,贼尴尬. 同事都看不过眼 ...

  2. java远程调试(idea)

    遇见一个怪异问题,无奈线上数据库有限制,只能远程调试下代码.突然发现,远程调试代码真的好简单,简单记录下操作步骤. 1.在idea里创建一个Remote,远程连接的入口. 找到 Edit Config ...

  3. hdfs-03-hdfs客户端操作

    1, hdfs中两种连接方式 1), 网页 2), 客户端 文件的切块大小和存储的副本数量,都是由客户端决定! 所谓的由客户端决定,是通过配置参数来定的 hdfs的客户端会读以下两个参数,来决定切块大 ...

  4. Quartz.NET的简单任务管理类

    昨天使用Quartz.NET做了个定时任务的功能,并实现了多个定时任务的功能 下面这个类实现了如下功能: 1.对定时任务进行管理 2.创建定时任务,需要给定时任务一个job的名称 3.判断给定的job ...

  5. go runtime.Gosched()的作用分析

    untime.Gosched()用于让出CPU时间片.这就像跑接力赛,A跑了一会碰到代码runtime.Gosched()就把接力棒交给B了,A歇着了,B继续跑. 看代码: package main ...

  6. 数据库新秀 postgresql vs mongo 性能PK

    前几天看了一篇文章<High Performance JSON PostgreSQL vs. MongoDB> 发布在Percona Live Europe 2017 作者是<Dom ...

  7. 利用cordova打包H5混合app

    1.首先布置jdk环境,下载jdk(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...

  8. Angular2入门:TypeScript的类型 - 对象解构

  9. FFmpeg数据结构AVBuffer

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10399048.html AVBuffer是FFmpeg中很常用的一种缓冲区,缓冲区使用引 ...

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

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