CharacterController
C# Component Samples演示的CharacterController示例演示以下内容:
- 使用分配给PlayerDummy的First Person Controller组件实现第一人称角色控制器
- 设置防撞舱
- 通过形状表面 collision 检测相交并通过表面相交详细描述碰撞
第一人称控制器组件#
FirstPersonController组件实现基本的第一人称播放器控件。播放器本身由相机和胶囊形状组成,用于检测碰撞。该组件具有以下可调整的设置:
创建一个球员#
要创建播放器,需要创建一个新的Player Dummy(Create -> Camera -> Dummy)并将其添加到场景中。
在Parameters窗口中为此播放器启用Main Player选项。然后将FirstPersonController组件添加到该节点。
如果您保存世界并运行,则可以使用标准设置控制播放器。
玩家由一个胶囊代表,其枢轴位于胶囊的底部。创建播放器后,将根据播放器的Y轴方向校正转换。 Z轴始终指向上方。
如果从编辑器分配了摄像机,则摄像机的位置和方向取决于玩家在世界上的位置和旋转:水平角是玩家沿Z轴的旋转角,垂直角是实际摄像机的角角度。
设定值#
FirstPersonController组件包含在将组件分配给节点之后在Parameters窗口的Node选项卡中显示的以下设置。
输入设定#
Input组允许设置键来使用键盘和鼠标控制字符:向前和向后,向左和向右,运行,跳转和蹲伏模式。要分配键,使用Input.KEY枚举。您还可以调整影响相机旋转速度的鼠标灵敏度。
同时处理来自键盘/鼠标和游戏手柄的输入。偏差较大的动作优先。
游戏手柄输入设置#
Gamepad Input组允许设置游戏手柄控件。当前设置得到简化:可以将一根摇杆设置为水平移动,而另一根摇杆设置为摄像机旋转。两个摇杆均设置了死区偏差,并且可以额外设置相机灵敏度。可以使用Input.GAMEPAD_BUTTON键设置其他任何操作。
同时处理来自键盘/鼠标和游戏手柄的输入。偏差较大的动作优先。
身体设定#
Body组包含用于调整玩家的身体和胶囊定义的形状的设置。
Use Object Body | 如果启用,则使用此组件分配给的对象的主体和形状。
注意
|
---|---|
Capsule Radius | 定义玩家形状的胶囊的半径。 |
Capsule Height | 封套的高度,定义了玩家的形状。请记住,此值仅定义圆柱零件的高度。胶囊的整个高度计算为capsule height + 2 * capsule radius。
|
Physics Intersection Mask | 遮罩 用于选择性检测物理相交(与其他具有物体和碰撞体形状的物理对象,或与碰撞体几何形状相交的射线)。 |
Collison Mask | 遮罩,用于检测形状与其他物理对象的碰撞。 |
Exclusion Mask | 遮罩 ,用于防止形状与其他物理对象发生碰撞。 |
相机设定#
Camera组包含用于调整相机的设置。
Camera Mode | 将相机分配给播放器的模式:
|
---|---|
FOV | 摄像机的视场,以度为单位。 |
Near Clipping | 到玩家观看的视锥的近剪切平面的距离,以单位为单位。 |
Far Clipping | 到玩家观看的视锥的远剪切平面的距离,以单位为单位。 |
Camera Position Offset | 从摄像机到播放器位置的距离。 |
Min Vertical Angle | 摄像机的最小垂直角度,即可以仰视的最大角度。 |
Max Vertical Angle | 摄像机的最大垂直角度,即向下看的最大可能角度。 |
动作设定#
Movement组包含角色移动所需的所有设置。
Use Jump | 允许在播放器逻辑中启用跳跃和所有相关参数的标志。 | ||||
---|---|---|---|---|---|
Use Crouch | 在播放器逻辑中启用蹲伏和所有相关参数的标志。
注意
如果播放器蹲下,并且释放了Crouch按钮,则只有在上面没有障碍物时它才会升起。如果玩家举手,并且上方有障碍物,或者再次按下Crouch按钮,则玩家将再次进入蹲伏状态。 |
||||
Use Run | 在播放器逻辑中启用运行和所有相关参数的标志。 | ||||
Use Run Default | 该标志将跑步设置为玩家移动的默认状态。如果启用此状态,则使用 Run Key 启用步行状态。 | ||||
Crouch Speed | 用于蹲伏的水平速度。 | ||||
Walk Speed | 用于步行的水平速度。 | ||||
Run Speed | 用于运行的水平速度。 | ||||
Ground Acceleration | 玩家在地面上时施加的水平加速度。 | ||||
Air Acceleration | 玩家在空中时施加的水平加速度。 | ||||
Ground Damping | 玩家在地面上时水平速度的衰减。 | ||||
Air Damping | 玩家在空中时水平速度的衰减。 | ||||
Jump Power | 在“跑步”,“步行”和“空闲”模式下玩家的跳跃力。 | ||||
Crouch Jump Power | 在Crouch模式下播放器的跳跃力。 | ||||
Crouch Height | 播放器蹲伏时相机的高度。 最小值等于 capsule radius x 2,最大高度等于 胶囊高度 。 | ||||
Crouch Transition Time | 蹲伏状态和站立状态之间转换所需的时间。 | ||||
Max Ground Angle | 认为地面平整的角度。如果超过该角度,角色将无法站立并滑下斜坡。如果角色爬上山坡并且其角度大于此值,则角色不会爬上。 | ||||
Max Ceiling Angle | 该值定义将表面视为天花板的最大角度。如果胶囊顶部接触的表面的角度小于此值,则认为角色已撞击天花板:其垂直速度等于0,角色开始下落。如果字符上方的表面的角度超过此值,则字符将沿该表面滑动。 | ||||
Check Move Ray Offset | 检查可能会移动到的表面的射线的偏移量。 最小值为 0 ,最大值为0.1单位。
|
||||
Check Move Mask | 用于整理与曲面的相交的蒙版。 | ||||
Wall Stop Sliding Angle | 方向射线与胶囊与壁的接触点之间的水平角度。如果角度小于此值,则播放器不会沿着墙壁滑动。
![]() |
自动步进设置#
Auto Stepping组设置可微调自动爬升到一定高度的障碍物。自动步进过程包括三个阶段:将玩家提升到障碍物的高度,将其移动到障碍物上并解决碰撞,并放下该障碍物的表面并解决碰撞。
Use Auto Stepping | 用于切换自动步进选项的标志。 |
---|---|
Min Step Height | 要应用自动步进的障碍物的最小高度。这是避免在平坦表面上应用自动步进所必需的。 |
Max Step Height | 通过自动步进可以攀爬的障碍物的最大高度。 |
Max Stair Angle | 要应用自动步进的最大倾斜角度。如果角色在坡度大于其最大楼梯角度值的倾斜表面上踩踏,则最后一步将被取消。 |
Check Stair Ray Offset | 检查自动步进的潜在阶梯级别的射线的偏移量。此偏移量是垂直的,并且沿潜在的移动方向。 |
Stairs Detection Angle | 水平角度,该角度定义用于检查胶囊在移动方向上与其他对象的接触的区域。允许避免在墙壁附近错误的自动步进。 |
Stair Detection Mask | 用于检查与台阶的相交的蒙版,以进行自动步进。如果您的楼梯具有复杂的几何图形,并希望在“自动步进”过程中对其进行简化,请为复杂的几何图形禁用此蒙版,并为简化的模型启用。 |
对象交互设置#
Objects Interaction组包含用于调节播放器与其他物理对象的简单物理交互的设置。
Use Objects Interaction | 用于切换与其他物理对象的交互的标志。这些是分配了刚体的对象。 |
---|---|
Impulse Multiplier | 施加到与玩家碰撞的刚体上的脉冲的乘数。 |
高级设置#
Advanced Settings组包含用于播放器更新的辅助设置。
Player Fps | 播放器的最小更新帧速率。如果当前FPS小于此值,则播放器每帧更新几次。 |
---|---|
Collision Iterations | 解决冲突的迭代次数。 |
Contacts Buffer Size | 为冲突处理的最大联系人数。 |
Heavy Contacts Count | 在处理联系人上应用“碰撞迭代”值的最大联系人数。如果联系人数量超过此值,则仅使用一次迭代来避免性能下降。 |
调试设置#
Debug Settings组包含调试信息的设置。要查看调试信息,应在设置 Debug配置的情况下运行项目。
Debug Camera | 启用Debug Camera会创建一个观察玩家的第三人称摄像机。使用光标箭头和+和-来控制此摄像机,以更改到播放器的距离。 启用Use Fixed Angles可以将此摄像机放置在播放器后面,并使其查看播放器的方向。 |
---|---|
Debug Visualizer | 启用Debug Visualizer将显示所选的调试信息:
|
Debug Profiler | 启用Debug Profiler将在Profiler中显示所选的调试信息: |
Debug Colors | 颜色选择器,用于设置用于在Visualizer和Profiler中显示信息的颜色。 |
访问演示项目源代码#
您可以学习和修改此演示的源代码来创建自己的项目。 要访问源代码,请执行以下操作:
- 在Demos部分中找到C# Component Samples演示并点击Install(安装)(如果您尚未安装)。
- 安装成功后,demo会出现在Installed部分,您可以点击Copy as Project基于此创建项目 演示。
- 在打开的 Create New Project 窗口中,在相应字段中输入新项目的名称,然后单击Create New Project.
- 现在您可以点击Open Code IDE查看和修改默认IDE中的源代码,或者点击Open Editor打开项目 在 UnigineEditor中。
本页面上的信息适用于 UNIGINE 2.20 SDK.