🧑🦲 CharacterSimple
CharacterSimple 是一个更简单的 Character 实现,具备基础的移动功能。旨在用于自定义 NPC 或基础的 Pawn。
🔁Network Authority Distribution
This class have the Network Authority distribution enabled and automatically handled by the server. You can override the Network Authority or disable it from automatically distributing.
👪Inheritance
This class shares methods and events from Base Entity, Base Actor, Base Paintable, Base Damageable, Base Pawn.
🧑💻API Source
This page is auto-generated! The Functions, Properties and Events described here are defined in our GitHub's API Repository! Feel free to commit suggestions and changes to the source .json API files!
🎒 示例
Server/Index.lua
-- Spawns a Stack-O-Bot Character
local stack_o_bot = CharacterSimple(Vector(100, 0, 100), Rotator(0, 0, 0), "nanos-world::SK_StackOBot", "nanos-world::ABP_StackOBot")
stack_o_bot:SetSpeedSettings(275, 150)
🛠 构造函数
Default Constructor
No description provided
local my_charactersimple = CharacterSimple(location, rotation, mesh, custom_animation_blueprint?, collision_type?, gravity_enabled?, defer_spawn?)
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Vector | location | Required parameter | No description provided |
| Rotator | rotation | Required parameter | No description provided |
| SkeletalMesh Reference or StaticMesh Reference | mesh | Required parameter | No description provided |
| Blueprint Reference | custom_animation_blueprint | | No description provided |
| CollisionType | collision_type | CollisionType.Auto | No description provided |
| boolean | gravity_enabled | true | No description provided |
| boolean | defer_spawn | false | 传入 true 以避免立即将该实体发送给客户端,从而在你想要通过设置多个配置来调整它时提高性能。最后必须调用 FinishSpawn() |
🗿 静态函数
Inherited Entity Static Functions
CharacterSimple inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Returns | Name | Description | |
|---|---|---|---|
| table of Base Entity | GetAll | 返回一个包含调用此方法的类中所有实体的表 | |
| Base Entity | GetByIndex | 返回该类中指定索引处的特定实体 | |
| integer | GetCount | 返回该类当前存在的实体数量 | |
| table of table | GetInheritedClasses | 获取使用 继承系统 创建的、直接继承自该类的所有子类列表 | |
| iterator | GetPairs | 返回一个包含该类所有实体的迭代器,用于 pairs() 循环 | |
| table or nil | GetParentClass | 如果该类是使用 继承系统 创建的,则获取其父类 | |
| table | Inherit | 使用 继承系统 继承此类 | |
| boolean | IsChildOf | 如果该类是使用 继承系统 创建的,检查此类是否为另一个类的子类 | |
| function | Subscribe | 为该类的所有实体订阅一个 事件 | |
| function | SubscribeRemote | 订阅从服务器调用的自定义远程事件 | |
Unsubscribe | 退订此包内该类中此 事件 的所有回调,或者仅取消传入的特定回调 |
This class doesn't have own static functions.
🦠 函数
Inherited Entity Functions
CharacterSimple inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Returns | Name | Description | |
|---|---|---|---|
BroadcastRemoteEvent | 直接在此实体上向所有玩家调用自定义远程事件 | ||
BroadcastRemoteInRadiusEvent | 直接针对此实体调用自定义远程事件,并将该事件传递给半径范围内的所有玩家 | ||
CallRemoteEvent | 直接在此实体上向特定玩家调用自定义远程事件 | ||
CallRemoteEvent | 直接在此实体上调用自定义远程事件 | ||
CallRemotePlayersEvent | 直接在此实体上调用自定义远程事件,并将事件传递给玩家列表 | ||
Destroy | 销毁该实体 | ||
FinishSpawn | 完成生成过程,如果实体是通过 defer_spawn 生成的,则将实体发送给客户端 | ||
| table of string | GetAllValuesKeys | 获取所有值键的列表 | |
| table | GetClass | 获取该实体的类 | |
| integer | GetID | 获取该实体的全网通用网络 ID(在客户端和服务器上相同) | |
| any | GetValue | 获取此实体上存储在给定键处的 值 | |
| boolean | HasAuthority | Gets if the local context has authority over this Entity (true if spawned by the client, false if spawned by the server) | |
| boolean | IsA | 递归检查此实体是否继承自某个类 | |
| boolean | IsBeingDestroyed | 如果该实体正在被销毁,则返回 true | |
| boolean | IsValid | 如果该实体有效(即未被销毁且指向一个有效的实体),则返回 true | |
SetValue | 在此实体中设置一个值 | ||
| function | Subscribe | 在这个特定实体上订阅一个事件 | |
| function | SubscribeRemote | 在这个特定实体上订阅一个从服务器调用的自定义远程事件 | |
Unsubscribe | 退订此包内该实体中此 事件 的所有回调,或者仅取消传入的特定回调 |
Inherited Actor Functions
CharacterSimple inherits from Base Actor Class, sharing it's methods and functions:
Base Actorscripting-reference/classes/base-classes/actor
Base Actorscripting-reference/classes/base-classes/actor
| Returns | Name | Description | |
|---|---|---|---|
AddActorTag | 向该 Actor 添加一个虚幻 Actor 标签 | ||
AddAngularImpulse | 向该 Actor 添加角冲量。适用于单次瞬间爆发 | ||
AddImpulse | 向该 Actor 添加冲量。适用于单次瞬间爆发 | ||
| boolean | AttachTo | 将该 Actor 附加到任何其他 Actor 上,可选择附加在特定骨骼处 | |
Detach | 将该 Actor 从其附加的 Actor 上分离 | ||
| table of string | GetActorTags | 获取该 Actor 上的所有虚幻 Actor 标签 | |
| Vector | GetAngularForce | 获取该 Actor 的角外力(由 SetAngularForce() 设置) | |
| table of Base Actor | GetAttachedEntities | 获取附加到该 Actor 的所有 Actor | |
| Base Actor or nil | GetAttachedTo | 获取该 Actor 所附加到的父级 Actor | |
| table | GetBounds | 获取该 Actor 的边界范围 | |
| CollisionType | GetCollision | 获取该 Actor 的碰撞类型 | |
| integer | GetDimension | 获取该 Actor 的维度 | |
| float | GetDistanceFromCamera | 获取该 Actor 距离相机的距离 | |
| Vector | GetForce | 获取该 Actor 的持续外力(由 SetForce() 设置) | |
| Vector | GetLocation | 获取该 Actor 在游戏世界中的位置 | |
| Player or nil | GetNetworkAuthority | 获取该 Actor 的网络主控玩家 | |
| Vector | GetRelativeLocation | 如果该 Actor 已附加,获取其相对位置 | |
| Rotator | GetRelativeRotation | 如果该 Actor 已附加,获取其相对旋转 | |
| Rotator | GetRotation | 获取该 Actor 在游戏世界中的角度值 | |
| Vector | GetScale | 获取该 Actor 的缩放比例 | |
| float | GetScreenPercentage | 获取该 Actor 在屏幕中所占尺寸的百分比 | |
| table | GetSocketTransform | 在给定骨骼或插槽名称的情况下,获取世界空间中的插槽变换 | |
| Vector | GetVelocity | 获取该 Actor 当前的速度 | |
| boolean | HasNetworkAuthority | 如果本地玩家当前是该 Actor 的网络主控(Network Authority),则返回 true | |
| boolean | IsGravityEnabled | 如果该 Actor 启用了重力,则返回 true | |
| boolean | IsInWater | 如果该 Actor 处于水中,则返回 true | |
| boolean | IsNetworkDistributed | 如果该 Actor 当前处于网络分配状态,则返回 true | |
| boolean | IsVisible | 如果该 Actor 可见,则返回 true | |
RemoveActorTag | 从该 Actor 中移除一个虚幻 Actor 标签 | ||
RotateTo | 在一定时间内平滑旋转该 Actor 到指定角度 | ||
SetAngularForce | 向该 Actor 添加一个永久的角外力,设为 Vector(0, 0, 0) 可以取消 | ||
SetCastShadow | 设置该 Actor 是否投射阴影 | ||
SetCollision | 设置该 Actor 的碰撞类型 | ||
SetDimension | 设置该 Actor 的维度 | ||
SetDistanceOptimizationMultiplier | 设置此 Actor 的距离优化系数 | ||
SetForce | 向该 Actor 添加一个永久的外力,设为 Vector(0, 0, 0) 可以取消 | ||
SetGravityEnabled | 设置该 Actor 是否启用重力 | ||
SetHighlightEnabled | 设置该 Actor 是否启用高亮显示,以及使用哪个高亮索引值 | ||
SetLifeSpan | 设置该 Actor 被销毁前的生存时间(秒)。经过这段时间后,Actor 将被自动销毁。 | ||
SetLocation | 设置该 Actor 在游戏世界中的位置 | ||
SetNetworkAuthority | 设置某个玩家拥有此 Actor 的网络主控 | ||
SetNetworkAuthorityAutoDistributed | 设置该 Actor 是否在玩家之间自动分配网络主控 | ||
SetOutlineEnabled | 设置该 Actor 是否启用轮廓线描边,以及使用哪个轮廓线索引值 | ||
SetRelativeLocation | 在本地空间中设置该 Actor 的相对位置(仅在此 Actor 已附加时生效) | ||
SetRelativeRotation | 在本地空间中设置该 Actor 的相对旋转(仅在此 Actor 已附加时生效) | ||
SetRenderCullDistance | 设置该 Actor 的渲染剔除距离 | ||
SetRotation | 设置该 Actor 在游戏世界中的旋转 | ||
SetScale | 设置该 Actor 的缩放比例 | ||
SetVisibility | 设置该 Actor 是否可见 | ||
TranslateTo | 在一定时间内平滑地将该 Actor 移动到某个位置 | ||
| boolean | WasRecentlyRendered | 获取该 Actor 最近是否在屏幕上被渲染过 |
Inherited Paintable Functions
CharacterSimple inherits from Base Paintable Class, sharing it's methods and functions:
Base Paintablescripting-reference/classes/base-classes/paintable
Base Paintablescripting-reference/classes/base-classes/paintable
| Returns | Name | Description | |
|---|---|---|---|
| Color | GetMaterialColorParameter | 从该 Actor 的材质中获取 Color 参数 | |
| float | GetMaterialScalarParameter | 从该 Actor 的材质中获取 Scalar 参数 | |
| string | GetMaterialTextureParameter | 从该 Actor 的材质中获取 Texture 参数 | |
| Vector | GetMaterialVectorParameter | 从该 Actor 的材质中获取 Vector 参数 | |
ResetMaterial | 将指定索引处的材质重置为原始材质 | ||
SetMaterial | 设置该 Actor 指定索引处的材质 | ||
SetMaterialColorParameter | 设置该 Actor 材质中的 Color 参数 | ||
SetMaterialFromCanvas | 将该 Actor 指定索引处的材质设为 Canvas 对象 | ||
SetMaterialFromSceneCapture | 将该 Actor 指定索引处的材质设为 SceneCapture 对象 | ||
SetMaterialFromWebUI | 将该 Actor 指定索引处的材质设为 WebUI 对象 | ||
SetMaterialScalarParameter | 设置该 Actor 材质中的 Scalar 参数 | ||
SetMaterialTextureParameter | 将该 Actor 材质中的纹理参数设为一张图像 | ||
SetMaterialVectorParameter | 设置该 Actor 材质中的 Vector 参数 | ||
SetPhysicalMaterial | 使用新的物理材质覆盖该 Actor 的物理材质 |
Inherited Damageable Functions
CharacterSimple inherits from Base Damageable Class, sharing it's methods and functions:
Base Damageablescripting-reference/classes/base-classes/damageable
Base Damageablescripting-reference/classes/base-classes/damageable
| Returns | Name | Description | |
|---|---|---|---|
| integer | ApplyDamage | 对该实体造成伤害 | |
| float | GetDamageMultiplier | 获取特定骨骼的伤害系数 | |
| integer | GetHealth | 获取当前生命值 | |
| integer | GetMaxHealth | 获取最大生命值 | |
| boolean | IsDead | 返回该实体是否已死亡 | |
Respawn | Respawns the Entity, filling its Health and moving it to its Initial Location | ||
SetDamageMultiplier | 更改该实体在特定骨骼上受到的伤害大小 | ||
SetHealth | 设置该实体的生命值 | ||
SetMaxHealth | 设置该实体的最大生命值 |
Inherited Pawn Functions
CharacterSimple inherits from Base Pawn Class, sharing it's methods and functions:
Base Pawnscripting-reference/classes/base-classes/pawn
Base Pawnscripting-reference/classes/base-classes/pawn
| Returns | Name | Description | |
|---|---|---|---|
| function | BindAnimationBlueprintEventDispatcher | 分配并绑定一个动画蓝图事件分发器 | |
| varargs of any | CallAnimationBlueprintEvent | 调用一个动画蓝图事件或函数 | |
PlayAnimation | 在此角色上播放动画蒙太奇 | ||
SetAirControl | 设置角色处于空中时允许的移动控制量 | ||
SetAnimationBlueprint | 设置此角色的动画蓝图 | ||
SetAnimationBlueprintPropertyValue | 直接设置动画蓝图的属性/变量值 | ||
SetMaxAcceleration | 设置最大加速度 | ||
SetMesh | 动态更改角色的网格体 | ||
SetPawnSettings | 设置此角色的 Pawn 设置 | ||
SetPhysicsAsset | 设置角色的物理资产 | ||
SetRotationSettings | 设置此角色的旋转设置 | ||
SetSpeedSettings | 设置此角色的速度设置 | ||
SetSpringArmSettings | 设置此角色的弹簧臂设置 | ||
UnbindAnimationBlueprintEventDispatcher | 解绑一个动画蓝图事件分发器 |

BindAnimationBlueprintEventDispatcher
分配并绑定一个动画蓝图事件分发器
local ret = my_charactersimple:BindAnimationBlueprintEventDispatcher(dispatcher_name, callback)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | dispatcher_name | Required parameter | 事件分发器名称 |
| function | callback | Required parameter | 要调用的回调函数 with this format |
Returns
| Type | Description |
|---|---|
| function | 回调函数本身 |

CallAnimationBlueprintEvent
调用一个动画蓝图事件或函数
在 客户端 返回所有函数返回值
local ret_01, ret_02, ... = my_charactersimple:CallAnimationBlueprintEvent(event_name, arguments...?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | 事件或函数名称 |
| any | arguments...? | nil | 要传递给该事件的参数序列 |

PlayAnimation
在此角色上播放动画蒙太奇
my_charactersimple:PlayAnimation(animation_path, slot_name?, loop_indefinitely?, blend_in_time?, blend_out_time?, play_rate?, stop_all_montages?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Animation Reference | animation_path | Required parameter | No description provided |
| string | slot_name? | | No description provided |
| boolean | loop_indefinitely? | false | No description provided |
| float | blend_in_time? | 0.25 | No description provided |
| float | blend_out_time? | 0.25 | 传入 -1 以禁用自动混出,并使动画永远保持在最后一帧姿态 |
| float | play_rate? | 1.0 | No description provided |
| boolean | stop_all_montages? | false | 停止来自同一组的所有正在播放的蒙太奇 |

SetAirControl
设置角色处于空中时允许的移动控制量
my_charactersimple:SetAirControl(air_control?, boost_multiplier?, boost_velocity_threshold?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | air_control? | 0.2 | 下落时,角色可用的横向移动控制量。0 = 无法控制,1 = 在 MaxWalkSpeed 最大速度下完全控制 |
| float | boost_multiplier? | 512 | 下落时,当横向速度小于 boost_velocity_threshold 时应用于 air_control 的系数。将其设为 0 将禁用空中控制增强。最终结果会被限制在 1 以内 |
| float | boost_velocity_threshold? | 25 | 下落时,如果横向速度大小小于该值,则 air_control 会乘以 boost_multiplier。将其设为 0 将禁用空中控制增强 |

SetAnimationBlueprint
设置此角色的动画蓝图
my_charactersimple:SetAnimationBlueprint(custom_animation_blueprint)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Blueprint Reference | custom_animation_blueprint | Required parameter | No description provided |

SetAnimationBlueprintPropertyValue
直接设置动画蓝图的属性/变量值
my_charactersimple:SetAnimationBlueprintPropertyValue(property_name, value)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | property_name | Required parameter | No description provided |
| any | value | Required parameter | No description provided |

SetMaxAcceleration
设置最大加速度
my_charactersimple:SetMaxAcceleration(acceleration)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | acceleration | Required parameter | 默认值为 2048 |

SetMesh
动态更改角色的网格体
🆕Updated Function
This method was recently updated in ver. 1.144. See the Compatibility Versions page for more information.
my_charactersimple:SetMesh(mesh_asset)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| SkeletalMesh Reference or StaticMesh Reference | mesh_asset | Required parameter | No description provided |

SetPawnSettings
设置此角色的 Pawn 设置
my_charactersimple:SetPawnSettings(use_controller_rotation_pitch, use_controller_rotation_yaw, use_controller_rotation_roll)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | use_controller_rotation_pitch | Required parameter | No description provided |
| boolean | use_controller_rotation_yaw | Required parameter | No description provided |
| boolean | use_controller_rotation_roll | Required parameter | No description provided |

SetPhysicsAsset
设置角色的物理资产
my_charactersimple:SetPhysicsAsset(physics_asset)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Other | physics_asset | Required parameter | No description provided |

SetRotationSettings
设置此角色的旋转设置
my_charactersimple:SetRotationSettings(rotation_rate, use_controller_desired_rotation, orient_rotation_to_movement)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Rotator | rotation_rate | Required parameter | No description provided |
| boolean | use_controller_desired_rotation | Required parameter | No description provided |
| boolean | orient_rotation_to_movement | Required parameter | No description provided |

SetSpeedSettings
设置此角色的速度设置
my_charactersimple:SetSpeedSettings(max_walk_speed?, max_walk_speed_crouched?, max_fly_speed?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | max_walk_speed? | 600 | No description provided |
| integer | max_walk_speed_crouched? | 300 | No description provided |
| integer | max_fly_speed? | 600 | No description provided |

SetSpringArmSettings
设置此角色的弹簧臂设置
my_charactersimple:SetSpringArmSettings(relative_location?, target_arm_length?, socket_offset?, enable_camera_lag?, camera_lag_speed?, camera_lag_max_distance?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | relative_location? | Vector(0, 0, -1) | 传入 nil 则使用默认值(胶囊体高度 * 1.8) |
| float | target_arm_length? | 300.0 | No description provided |
| Vector | socket_offset? | Vector(0, 0, 0) | No description provided |
| boolean | enable_camera_lag? | true | No description provided |
| float | camera_lag_speed? | 15.0 | No description provided |
| float | camera_lag_max_distance? | 1.0 | No description provided |

UnbindAnimationBlueprintEventDispatcher
解绑一个动画蓝图事件分发器
my_charactersimple:UnbindAnimationBlueprintEventDispatcher(dispatcher_name, callback?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | dispatcher_name | Required parameter | 事件分发器名称 |
| function | callback? | nil | 可选的要解绑的回调函数 |
🚀 事件
Inherited Entity Events
CharacterSimple inherits from Base Entity Class, sharing it's events:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Name | Description | |
|---|---|---|
ClassRegister | 当使用 继承系统 注册一个新类时触发 | |
Destroy | 当实体被销毁时触发 | |
Spawn | 当实体被生成/创建时触发 | |
ValueChange | 当实体通过 :SetValue() 改变了值时触发 |
Inherited Actor Events
CharacterSimple inherits from Base Actor Class, sharing it's events:
Base Actorscripting-reference/classes/base-classes/actor
Base Actorscripting-reference/classes/base-classes/actor
| Name | Description | |
|---|---|---|
DimensionChange | Triggered when an Actor changes its dimension |
Inherited Damageable Events
CharacterSimple inherits from Base Damageable Class, sharing it's events:
Base Damageablescripting-reference/classes/base-classes/damageable
Base Damageablescripting-reference/classes/base-classes/damageable
| Name | Description | |
|---|---|---|
Death | 当实体死亡时 | |
HealthChange | When Entity has its Health changed, or because took damage or manually set through scripting or respawning | |
Respawn | 当实体重生时 | |
TakeDamage | 当此实体受到伤害时触发 |
Inherited Pawn Events
CharacterSimple inherits from Base Pawn Class, sharing it's events:
Base Pawnscripting-reference/classes/base-classes/pawn
Base Pawnscripting-reference/classes/base-classes/pawn
| Name | Description | |
|---|---|---|
AnimationBeginNotify | 当动画蒙太奇通知开始时 | |
AnimationEndNotify | 当动画蒙太奇通知结束时 | |
MoveComplete | Called when AI reaches its destination, or when it fails | |
Possess | 当角色被玩家控制时 | |
UnPossess | 当角色被玩家取消控制时 |
| Name | Description | |
|---|---|---|
EndCrouch | 当 Character 停止下蹲时调用 | |
Jump | 当 Character 刚刚开始跳跃时触发的事件 | |
Land | 在下落过程中着地时调用 | |
MovementModeChange | 当角色移动模式发生改变时调用 | |
StartCrouch | 当角色开始下蹲时调用 |

EndCrouch
当 Character 停止下蹲时调用
CharacterSimple.Subscribe("EndCrouch", function()
-- EndCrouch was called
end)

Jump
当 Character 刚刚开始跳跃时触发的事件
CharacterSimple.Subscribe("Jump", function()
-- Jump was called
end)

Land
在下落过程中着地时调用
CharacterSimple.Subscribe("Land", function()
-- Land was called
end)

MovementModeChange
当角色移动模式发生改变时调用
CharacterSimple.Subscribe("MovementModeChange", function(old_mode, new_mode)
-- MovementModeChange was called
end)

StartCrouch
当角色开始下蹲时调用
CharacterSimple.Subscribe("StartCrouch", function()
-- StartCrouch was called
end)