TopDown Engine中文文档 (七角色创建)

六.怎么创建属于你自己的角色

1.介绍 

 TopDown引擎中的“代理”是一个用来描述任何类型的角色,无论他们是可玩的角色,还是敌人、npc等。有一些核心类可以让这些代理正常工作,例如,如果您想扩展和创建更多的角色能力,您就需要熟悉这些类。
与此同时,本页面旨在介绍基本概念,并允许您快速创建自己的角色(玩家控制或基于AI)。

2.基本概念 

 TopDown引擎被设计用于2D和3D项目。您将用来设置创建角色的组件将基本上是相同的,但有些将是特定于2D或3D的。当你遇到一个组件或一个能力时,如果它的名称中没有2D或3D,你可以肯定地假设它对两者都适用。否则,您将只使用名称为2D为2D的组件,以及只使用名称为3D为3D的组件。

Jekyll

 本页介绍了关于角色的强制性组件的更多详细信息,但这里有一个简短的概要。TopDown引擎中的代理通常具有以下组件:

1.A Collider :BoxCollider2D或者CircleCollider2D在2D, CharacterController在3D, 这个Collider的大小被用来确定碰撞和代理在世界上的位置。

2.RigidBody2D or 3D :仅用于提供与标准物理学的基本交互作用(完全可选)

3.TopDownController :负责碰撞检测,基本运动(向左/向右移动),重力,TopDownController是你的角色发动机。它有2D和3D版本,但两者都有相同的方法和逻辑。请注意,3D版本需要一个CharacterController组件。

4.Character :这是将连接所有脚本的核心类。它本身并没有多大作用,但确实起到了核心作用。这就是你定义玩家是AI还是玩家控制的,它的model和animator,类似的。它也是一个将在运行时控制所有角色能力的类。

5.Health :这不是强制性的,但在大多数游戏中,你的代理将能够死亡。Health 组件处理受伤和最终的死亡。

6.Character Abilities : 到目前为止,所有之前的组件都提供了很多可能性,但并没有真正“做”任何可见的事情。这就是Character Abilities的目的。该资产拥有超过15种能力,从简单的能力如CharacterMovement到更复杂的能力如weapon handling。它们都是可选的,你可以选择任何你想要的。当然,你也可以轻松地创建自己的能力来构建自己的游戏。

3.Hierarchy面板

Jekyll

无论你如何创造你的角色,有一件非常重要的事情就是理解如何构建它。您将需要将逻辑(RigidBody, TopDownController, Character abilities等)与视觉效果(model / sprite / Spine等)中分离出来。你可以有更多的层(也许你的animator位于它自己的层等),但推荐的设置是上面图像上的设置:一个包含所有逻辑的顶层,并且模型嵌套在其中。 

Jekyll

 确保从inspector将Model链接到Character类,animator也一样。其他一些类(Orientation abilities, Health)可能还需要您通过他们的inspector告诉它们Model或animator的位置。

4.怎么创建一个代理

有很多方法可以在TopDown Engine中创建可玩或AI角色。这里将介绍推荐的3个方法。请注意,如果你更喜欢做不同的事情,只要它对你有效,一切都很好。

Jekyll

 1.自动创建

3D:
打开MinimalScene3D 场景
创建一个空的游戏对象,命名“Test”,位置(0,0.5,0)
在它下面,添加一个cube,缩放为(1,2,1),删除它的BoxCollider
在Test,添加Character 组件,将Cube拖到CharacterModel  
在Character上,按Autobuild Player Character 3D按钮
按下播放

2D:
打开Minimal2D 场景
创建一个空的游戏对象,命名“Test”,并将其放置在场景中
在它下面,添加一个游戏对象,命名为“Model”,添加一个sprite renderer,并设置其精灵
在Test中,添加一个Character 组件,在其CharacterModel 中拖动Model
在Character上,按Autobuild Player Character 2D按钮
按下播放

当然,对于AI也是一样的,除了你会选择自动构建AI角色2D/3D。如果你选择一个AI角色,它就已经准备好   Brain and some Actions and Decisions。您现在可以微调各种设置,删除您对这个角色不感兴趣的功能,添加动画等等。

2.拷贝

另一个创建代理的快速方法是在演示中找到你喜欢的预制体,并从中创建你的代理。这个过程非常简单:

Jekyll

在其中一个演示中找到一个你喜欢的代理。
找到其预制体
复制预制体(cmd+D)
将其重命名为你想要的角色
做出你想要的更改。也许你只是想替换一些设置,也许你会想改变精灵和动画。这将由你自己决定 

3.自己组合

1. 从一个空的游戏对象开始。理想情况下,您需要将角色部分和视觉部分分开。最好的层次结构在顶层有TopDownController/Collider/Character/Abilities,然后视觉层(精灵、模型等)。
2.在检查器的顶部,如果tag是玩家角色,设置为玩家,如果不是玩家,设置为你喜欢的东西。对于该layer也是如此。
3.在inspector上,添加一个Collider(2D或3D,我们推荐Capsule对于3D角色,Box对于2D角色)。调整其尺寸,以匹配您的sprite/model的尺寸。然后添加一个RigidBody2D/RigidBody 组件。
4.添加一个TopDownController(2D或3D)组件。设置各种设置,并确保设置各种 collision masks(platforms, one ways,等)。如果你要使用3D,也要添加一个CharacterController组件。
5.添加Character组件。检查各种设置,以确保它们适合你。
6.添加您想要的Character Abilities
7.可选择,添加Health、HealthBar组件等。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值