八.角色类
1.介绍
引擎中的每个角色都需要许多组件才能工作。其中一些是2D的细节,有些是3D的细节。其中大多数都很共用。此页面将为您提供主要的信息,您需要知道如何在TopDown引擎中平稳地创建角色。
2.2D特有组件
如果你要使用一个2D角色,你需要一个RigidBody2D组件(Dynamic, Continuous Collision Detection, Start Awake, Interpolate),以及一个BoxCollider2D(non trigger)。设置Collider没有规则或义务,但我喜欢让我的Collider包含角色底部的一半,就像上面的图片一样。这将允许角色的头部到达它上面的墙壁前面,并通常给角色在“地面”上占据的位置有一个很好的错觉。
此外,您可能希望使用SortingGroup,设置为Character。这将自动处理排序,使您的角色出现在Y轴下面的“后面”,在它上面的“前面”。
3.3D特有组件
如果你想要一个3D角色,你将需要一个RigidBody(kinematic, uses gravity, Discrete Collision Detection)和一个Character Controller。
4.TopDown Controller
然后你的角色将需要一个TopDownController。选择顶部TopDownController2D或TopDownController3D版本,而不是基本版本。两者的设置都略有不同,但大多数情况是你需要确保layer masks正确设置(控制器应该考虑为地面、墙等层)。
5.Character
这是将连接所有其他脚本的核心类。它本身并没有多大作用,但确实起到了核心作用。这就是你定义玩家是AI还是玩家控制,它的model和animator所在等等。它也是一个将在运行时控制所有Character Abilities的类。
这是一个非常核心的类。从它的面板中,你将可以定义一些东西。如果是玩家角色,则PlayerID字段非常重要。它必须与InputManager中的一个完全匹配(这就是InputManager知道要控制的角色)。
6.Health
Health组件处理受伤、生命损益,以及最终的死亡(和重生)。如果你的角色能遭受伤害,这是强制性的。它的各种方法将允许您从初始生命值中删除/添加生命点,它将处理受伤和相关的特效(视觉和碰撞等)。
7.Character Abilities
你的角色的最后一部分(但并非最不重要的)将是角色的能力。该资产拥有超过15种能力,从简单的能力如CharacterMovement到更复杂的能力如weapon handling。它们都是可选的,你可以选择任何你想要的。当然,你也可以轻松地创建自己的能力来构建自己的游戏。