🚙 VehicleWheeled
Vehicle 是轮式实体,角色可以控制并驾驶它。

👪Inheritance
This class shares methods and events from Base Entity, Base Actor, Base Paintable, Base Damageable, Base Vehicle.
任何骨骼网格体都可以用来创建载具,不过只有包含车轮骨骼的骨骼网格体才能使用内置的车轮动画功能。
🎒 示例
Server/Index.lua
-- 生成皮卡载具,将其向客户端的生成推迟到调用 FinishSpawn() 为止
local vehicle = VehicleWheeled(
Vector(0, 0, 100), -- 位置
Rotator(), -- 旋转
"nanos-world::SK_Pickup", -- 资产
CollisionType.Normal, -- 碰撞类型
true, -- 启用重力
false, -- 自动翻正
"nanos-world::A_Vehicle_Engine_10", -- 引擎音效
"nanos-world::A_Vehicle_Horn_Toyota", -- 喇叭音效
"nanos-world::A_Vehicle_Brake", -- 制动音效
"nanos-world::A_Car_Engine_Start", -- 引擎启动音效
"nanos-world::A_Vehicle_Door", -- 车门音效
true, -- 自动启动引擎
"", -- 自定义动画蓝图
SpawnMode.AfterConstructor -- 生成模式
)
-- 配置引擎(最大扭矩和最大 RPM)与空气动力学(质量)
vehicle:SetEngineSetup(700, 5000)
vehicle:SetAerodynamicsSetup(2500)
-- 配置方向盘和前大灯位置
vehicle:SetSteeringWheelSetup(Vector(0, 27, 120), 24)
vehicle:SetHeadlightsSetup(Vector(270, 0, 70))
-- 配置各个车轮
vehicle:SetWheel(0, "Wheel_Front_Left", 27, 18, 45, Vector(), true, true, false, false, false, 1500, 3000, 1000, 1, 3, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(1, "Wheel_Front_Right", 27, 18, 45, Vector(), true, true, false, false, false, 1500, 3000, 1000, 1, 3, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(2, "Wheel_Rear_Left", 27, 18, 0, Vector(), false, true, true, false, false, 1500, 3000, 1000, 1, 4, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(3, "Wheel_Rear_Right", 27, 18, 0, Vector(), false, true, true, false, false, 1500, 3000, 1000, 1, 4, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
-- 添加 6 个车门/座位
vehicle:SetDoor(0, Vector( 50, -75, 105), Vector( 8, -32.5, 95), Rotator(0, 0, 10), 70, -150)
vehicle:SetDoor(1, Vector( 50, 75, 105), Vector( 25, 50, 90), Rotator(0, 0, 0), 70, 150)
vehicle:SetDoor(2, Vector( -90, -75, 130), Vector( -90, -115, 155), Rotator(0, 90, 20), 60, -150)
vehicle:SetDoor(3, Vector( -90, 75, 130), Vector( -90, 115, 155), Rotator(0, -90, 20), 60, 150)
vehicle:SetDoor(4, Vector(-195, -75, 130), Vector(-195, -115, 155), Rotator(0, 90, 20), 60, -150)
vehicle:SetDoor(5, Vector(-195, 75, 130), Vector(-195, 115, 155), Rotator(0, -90, 20), 60, 150)
-- 完成生成,使客户端仅使用上述所有配置创建一次载具(及其物理)
vehicle:FinishSpawn()
🛠 构造函数
Default Constructor
No description provided
local my_vehiclewheeled = VehicleWheeled(location, rotation, asset, collision_type?, gravity_enabled?, auto_unflip?, engine_sound?, horn_sound?, brake_sound?, engine_start_sound?, vehicle_door_sound?, auto_start_engine?, custom_animation_blueprint?, spawn_mode?)
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Vector | location | Required parameter | 生成的世界坐标位置 |
| Rotator | rotation | Required parameter | 生成的世界坐标旋转 |
| SkeletalMesh Reference | asset | Required parameter | 要使用的资产 |
| CollisionType | collision_type | CollisionType.Auto | 此 Actor 的碰撞配置文件 |
| boolean | gravity_enabled | true | 重力是否影响此 Actor |
| boolean | auto_unflip | true | 如果载具翻车,自动将其翻正 |
| Sound Reference | engine_sound | nanos-world::A_Vehicle_Engine_01 | 引擎运转时播放的声音 |
| Sound Reference | horn_sound | nanos-world::A_Vehicle_Horn_Toyota | 鸣笛时播放的声音 |
| Sound Reference | brake_sound | nanos-world::A_Vehicle_Brake | 制动时播放的声音 |
| Sound Reference | engine_start_sound | nanos-world::A_Car_Engine_Start | 启动引擎时播放的声音 |
| Sound Reference | vehicle_door_sound | nanos-world::A_Vehicle_Door | 上车或下车时播放的声音 |
| boolean | auto_start_engine | true | 驾驶员上车时引擎是否启动 |
| Blueprint Reference | custom_animation_blueprint | | 用于驱动载具网格体的动画蓝图 |
| SpawnMode | spawn_mode | SpawnMode.Immediate | 传入 SpawnMode.AfterConstructor 或 SpawnMode.Manual 可避免立即将实体发送至客户端,在需要配置多项设置时使用此选项可提升性能。最后必须调用 FinishSpawn() |
提示
请参考我们的 Default's Vehicle 包,其中包含所有已配置妥当并可直接使用的内置载具。
更多相关示例:
怪兽卡车getting-started/tutorials-and-examples/monster-truck🗿 静态函数
Inherited Entity Static Functions
VehicleWheeled 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
VehicleWheeled 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 | 如果此实体是以延迟 spawn_mode 生成的,则完成生成过程并将该实体发送至客户端 | ||
| table of string | GetAllValuesKeys | 获取所有存储值的键名列表 | |
| table | GetClass | 获取该实体的类 | |
| integer | GetID | 获取该实体的全网通用网络 ID(在客户端和服务器上相同) | |
| any | GetValue | 获取此实体上存储在给定键处的 值 | |
| boolean | HasAuthority | 获取本地上下文是否对此实体拥有主控(如果由客户端生成则为 true,由服务器生成则为 false) | |
| boolean | IsA | 递归检查此实体是否继承自某个类 | |
| boolean | IsBeingDestroyed | 如果该实体正在被销毁,则返回 true | |
| boolean | IsSpawned | 获取此实体是否已完成生成 | |
| boolean | IsValid | 如果该实体有效(即未被销毁且指向一个有效的实体),则返回 true | |
SetSpawnMode | 从继承类的构造函数中覆盖此实体完成生成的时间点 | ||
SetValue | 在此实体中设置一个值 | ||
| function | Subscribe | 在这个特定实体上订阅一个事件 | |
| function | SubscribeRemote | 在这个特定实体上订阅一个从服务器调用的自定义远程事件 | |
Unsubscribe | 退订此包内该实体中此 事件 的所有回调,或者仅取消传入的特定回调 |
Inherited Actor Functions
VehicleWheeled 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() 设置) | |
| float | GetAngularVelocity | 返回此 Actor 的角速度 | |
| table of Base Actor | GetAttachedEntities | 获取附加到该 Actor 的所有 Actor | |
| Base Actor or nil | GetAttachedTo | 获取该 Actor 所附加到的父级 Actor | |
| string | GetAttachedToSocket | 获取此 Actor 所附加到的骨骼或插槽名称 | |
| table | GetBounds | 获取此 Actor 的包围盒,便于计算其在世界中的尺寸 | |
| CollisionType | GetCollision | 获取该 Actor 的碰撞类型 | |
| integer | GetDimension | 获取该 Actor 的维度 | |
| float | GetDistanceFromCamera | 获取该 Actor 距离相机的距离 | |
| Vector | GetForce | 获取该 Actor 的持续外力(由 SetForce() 设置) | |
| float | GetLifeSpan | 获取此 Actor 被销毁前剩余的时间(秒) | |
| Vector | GetLocation | 获取该 Actor 在游戏世界中的位置 | |
| float | GetMass | 返回此 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 的维度。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
VehicleWheeled 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
VehicleWheeled 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 | 重生该实体,恢复其生命值并将其移动到初始位置 | ||
SetDamageMultiplier | 更改该实体在特定骨骼上受到的伤害大小 | ||
SetHealth | 设置该实体的生命值 | ||
SetMaxHealth | 设置该实体的最大生命值 |
Inherited Vehicle Functions
VehicleWheeled inherits from Base Vehicle Class, sharing it's methods and functions:
Base Vehiclescripting-reference/classes/base-classes/vehicle
Base Vehiclescripting-reference/classes/base-classes/vehicle
| Returns | Name | Description | |
|---|---|---|---|
| integer | GetGear | 获取当前挡位 | |
| integer | GetRPM | 获取当前转速 RPM | |
Horn | 开始或停止载具鸣笛 | ||
| boolean | IsInAir | 检查载具是否悬空(没有车轮接触地面) | |
SetAerodynamicsSetup | 配置载具空气动力学设置 | ||
SetAutoStartEngine | 设置当驾驶人进入载具时,引擎是否自动启动 | ||
SetDifferentialSetup | 配置差速器类型 | ||
SetEngineSetup | 配置载具引擎(扭矩、转速、制动) | ||
SetEngineStarted | 设置引擎开启/关闭 | ||
SetHeadlightsEnabled | 启用或禁用前大灯 | ||
SetHeadlightsSetup | 配置前大灯的偏移量和颜色 | ||
SetHornSound | 设置载具喇叭所使用的音频资产 | ||
SetSteeringSetup | 配置载具转向系统 | ||
SetSteeringWheelSetup | 配置方向盘的位置 | ||
SetTaillightsEnabled | 启用或禁用尾灯 | ||
SetTaillightsSetup | 配置尾灯的偏移量 | ||
SetTireFlat | 设置轮胎是否爆胎 | ||
SetTransmissionSetup | 配置载具变速箱 | ||
SetWheel | 配置载具车轮 |
Optimal

GetGear
获取当前挡位
local gear = my_vehiclewheeled:GetGear()
Returns
| Type | Description |
|---|---|
| integer | 当前挡位 |
Optimal

GetRPM
获取当前转速 RPM
local rpm = my_vehiclewheeled:GetRPM()
Returns
| Type | Description |
|---|---|
| integer | 当前转速 |
Moderate

Horn
开始或停止载具鸣笛
my_vehiclewheeled:Horn(enable_horn)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | enable_horn | Required parameter | 是否鸣笛 |
Optimal

IsInAir
检查载具是否悬空(没有车轮接触地面)
local is_in_air = my_vehiclewheeled:IsInAir()
Returns
| Type | Description |
|---|---|
| boolean | 载具是否处于空中 |
Moderate

SetAerodynamicsSetup
配置载具空气动力学设置
my_vehiclewheeled:SetAerodynamicsSetup(mass?, drag_coefficient?, vehicle_chassis_width?, vehicle_chassis_height?, vehicle_downforce_coefficient?, center_of_mass_override?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | mass? | 1500 | 载具底盘质量 |
| float | drag_coefficient? | 0.3 | 高速行驶时阻碍前进运动的力 |
| integer | vehicle_chassis_width? | 180 | 用于计算阻力的底盘宽度(厘米) |
| integer | vehicle_chassis_height? | 140 | 用于计算阻力的底盘高度(厘米) |
| float | vehicle_downforce_coefficient? | 0.3 | 高速行驶时将载具压向地面的力 |
| Vector | center_of_mass_override? | Vector(0, 0, 50) | 覆盖质心。适用于弯道稳定。理想情况下,Z 轴应与车轮半径相同 |
Optimal

SetAutoStartEngine
设置当驾驶人进入载具时,引擎是否自动启动
my_vehiclewheeled:SetAutoStartEngine(auto_start)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | auto_start | Required parameter | 驾驶员进入载具时引擎是否自动启动 |
Moderate

SetDifferentialSetup
配置差速器类型
my_vehiclewheeled:SetDifferentialSetup(differential_type, front_rear_split?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| DifferentialType | differential_type | Required parameter | 差速器类型 |
| float | front_rear_split? | 0.5 | 前后扭矩分配比例(小于 0.5 意味着更多分配给前端,大于 0.5 意味着更多分配给后端,仅适用于四轮驱动类型) |
Moderate

SetEngineSetup
配置载具引擎(扭矩、转速、制动)
my_vehiclewheeled:SetEngineSetup(max_torque?, max_rpm?, idle_rpm?, brake_effect?, rev_up_moi?, rev_down_rate?, torque_curve?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | max_torque? | 700 | 最大引擎扭矩(牛·米)乘以扭矩曲线 TorqueCurve |
| integer | max_rpm? | 5700 | 引擎每分钟最大转速 |
| integer | idle_rpm? | 1200 | 空挡/静止时的引擎怠速 |
| float | brake_effect? | 0.05 | 松油门时,来自引擎的制动效果 |
| integer | rev_up_moi? | 5 | 影响引擎转速上升的速度 |
| integer | rev_down_rate? | 600 | 影响引擎转速下降的速度 |
| table | torque_curve? | { 0: 0.0, max_rpm * 0.2: 0.9, max_rpm * 0.4: 1.0, max_rpm * 0.8: 0.8, max_rpm: 0.0} | 定义给定转速下扭矩 [归一化 0..1] 的映射 with this format |
Optimal

SetEngineStarted
设置引擎开启/关闭(这将影响灯光、声音和踩油门的能力)
my_vehiclewheeled:SetEngineStarted(started)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | started | Required parameter | 引擎是开启还是关闭 |
Moderate

SetHeadlightsEnabled
启用或禁用前大灯
my_vehiclewheeled:SetHeadlightsEnabled(is_enabled)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | is_enabled | Required parameter | 前大灯是否开启 |
Moderate

SetHeadlightsSetup
配置前大灯的偏移量和颜色
my_vehiclewheeled:SetHeadlightsSetup(location, color?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | location | Required parameter | 前大灯相对于载具的偏移量 |
| Color | color? | Color(1, 0.86, 0.5) | 使用的颜色 |
Optimal

SetHornSound
设置载具喇叭所使用的音频资产
my_vehiclewheeled:SetHornSound(sound_asset)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Sound Reference | sound_asset | Required parameter | 载具喇叭使用的新声音资产 |
Moderate

SetSteeringSetup
配置载具转向系统
my_vehiclewheeled:SetSteeringSetup(steering_type, angle_ratio?, steering_curve?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| SteeringType | steering_type | Required parameter | 要使用的转向类型。默认为 SteeringType.AngleRatio |
| float | angle_ratio? | 0.7 | 仅在选择 SteeringType.AngleRatio 时生效 |
| table | steering_curve? | { 0: 1.0, 20: 0.8, 60: 0.4, 120: 0.3} | 最大转向角度与前进速度(MPH)对应关系 with this format |
Moderate

SetSteeringWheelSetup
配置方向盘的位置,以便角色可以通过程序化动画正确握住它
my_vehiclewheeled:SetSteeringWheelSetup(relative_location, radius, rotation?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | relative_location | Required parameter | 方向盘相对于载具原点的相对位置 |
| integer | radius | Required parameter | 方向盘的半径,用于正确对齐双手手部位置 |
| Rotator | rotation? | Rotator(0, 0, 0) | 方向盘的旋转角度,用于正确对齐双手手部位置 |
Moderate

SetTaillightsEnabled
启用或禁用尾灯
my_vehiclewheeled:SetTaillightsEnabled(is_enabled)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | is_enabled | Required parameter | 尾灯是否开启 |
Moderate

SetTaillightsSetup
配置尾灯的偏移量
my_vehiclewheeled:SetTaillightsSetup(location)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | location | Required parameter | 尾灯相对于载具的偏移量 |
Moderate

SetTireFlat
设置轮胎是否爆胎
my_vehiclewheeled:SetTireFlat(wheel_index, is_flat)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | wheel_index | Required parameter | 车轮的索引 |
| boolean | is_flat | Required parameter | 轮胎是否爆胎 |
Moderate

SetTransmissionSetup
配置载具变速箱
my_vehiclewheeled:SetTransmissionSetup(transmission_final_ratio?, transmission_change_up_rpm?, transmission_change_down_rpm?, transmission_gear_change_time?, transmission_efficiency?, forward_gear_ratios?, reverse_gear_ratios?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | transmission_final_ratio? | 3.08 | 主减速比,与变速箱各挡位传动比相乘 |
| integer | transmission_change_up_rpm? | 4500 | 触发升挡的引擎转速 |
| integer | transmission_change_down_rpm? | 2000 | 触发降挡的引擎转速 |
| float | transmission_gear_change_time? | 0.4 | 换挡所需时间(秒) |
| float | transmission_efficiency? | 0.9 | 机械摩擦损耗意味着变速箱可能在 0.94(94% 效率)下运行 |
| table of float | forward_gear_ratios? | { 2.85, 2.02, 1.35, 1.0} | 前进挡传动比列表 |
| table of float | reverse_gear_ratios? | { 2.86 } | 倒挡传动比列表 |
Moderate

SetWheel
车轮可以在运行时通过再次调用 SetWheel 来更新,例如,你可以改变悬挂高度,或者通过将 affected_by_engine 切换为 off 或将 radius 设为 0 来完全禁用某个车轮。
my_vehiclewheeled:SetWheel(index, bone_name, radius?, width?, max_steer_angle?, offset?, is_affected_by_engine?, is_affected_by_brake?, is_affected_by_handbrake?, has_abs_enabled?, has_traction_control_enabled?, max_brake_torque?, max_handbrake_torque?, cornering_stiffness?, side_slip_modifier?, friction_force_multiplier?, slip_threshold?, skid_threshold?, suspension_spring_rate?, suspension_spring_preload?, suspension_max_raise?, suspension_max_drop?, suspension_smoothing?, suspension_damping_ratio?, suspension_wheel_load_ratio?, suspension_axis?, suspension_force_offset?, suspension_sweep_shape?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | index | Required parameter | 车轮的索引(0-N)。请按升序设置 |
| string | bone_name | Required parameter | 绑定此车轮的骨骼名称 |
| integer | radius? | 32 | 车轮半径 |
| integer | width? | 20 | 车轮宽度 |
| integer | max_steer_angle? | 50 | 该车轮的最大转向角(角度) |
| Vector | offset? | Vector(0, 0, 0) | 如果指定了 bone_name,则相对于骨骼位置偏移车轮。否则,相对于载具原点偏移车轮 |
| boolean | is_affected_by_engine? | true | 引擎是否应该为该车轮提供动力 |
| boolean | is_affected_by_brake? | true | 制动是否应该影响该车轮 |
| boolean | is_affected_by_handbrake? | true | 手刹是否应该影响该车轮 |
| boolean | has_abs_enabled? | false | 是否启用高级制动系统 |
| boolean | has_traction_control_enabled? | false | 是否启用直线牵引力控制 |
| integer | max_brake_torque? | 1500 | 该车轮的最大制动扭矩(牛·米) |
| integer | max_handbrake_torque? | 3000 | 该车轮的最大手刹制动扭矩(牛·米)。手刹应当具有比普通制动更强的制动扭矩 |
| integer | cornering_stiffness? | 1000 | 轮胎转弯能力 |
| float | side_slip_modifier? | 1.0 | 车轮侧滑抓地力损失,数值越低侧滑时抓地力越小 |
| float | friction_force_multiplier? | 2.0 | 摩擦力系数 |
| float | slip_threshold? | 20.0 | 车轮纵向滑移阈值 |
| float | skid_threshold? | 20.0 | 车轮侧向滑移阈值 |
| float | suspension_spring_rate? | 250.0 | 弹簧刚度(牛/米) |
| float | suspension_spring_preload? | 50.0 | 弹簧预紧力(牛/米) |
| float | suspension_max_raise? | 10.0 | 车轮可以升到高出静止位置多远的距离 |
| float | suspension_max_drop? | 10.0 | 车轮可以降到低于静止位置多远的距离 |
| float | suspension_smoothing? | 0.0 | 悬挂平滑度 [0-关闭,10-最大] - 警告:可能会导致车轮与物体/地形之间出现短暂的视觉穿模 |
| float | suspension_damping_ratio? | 0.5 | 悬挂阻尼,数值越大悬挂恢复静止越快 [范围 0 到 1] |
| float | suspension_wheel_load_ratio? | 0.5 | 车轮负荷对车轮摩擦力的影响程度。 - 在 0 时,车轮摩擦力完全独立于车轮上的负荷(这是人为设定的,因为它总是假设所有车轮之间受力平衡) - 在 1 时,车轮摩擦力基于将车轮压入地面的力。这更加真实。 - 较低的值可以解决松油门过度转向的问题,通常使载具在极端运动下更容易操控。 |
| Vector | suspension_axis? | Vector(0, 0, -1) | 施加悬挂力的车身局部方向(通常沿 -Z 轴) |
| Vector | suspension_force_offset? | Vector(0, 0, 0) | 施加悬挂力位置的垂直偏移量(沿 Z 轴) |
| SuspensionSweepShape | suspension_sweep_shape? | SuspensionSweepShape.Raycast | 车轮悬挂追踪类型,默认为射线追踪 |
🚀 事件
Inherited Entity Events
VehicleWheeled 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
VehicleWheeled 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 | 当 Actor 改变其维度时触发 | |
EnterWater | 当 Actor 进入水体时触发 | |
LeaveWater | 当 Actor 离开水体时触发 | |
NetworkAuthorityChange | 当 Actor 更改其网络主控玩家时触发 | |
NetworkAuthorityChange | 当本地玩家获得或失去对此 Actor 的网络主控时触发 |
Inherited Damageable Events
VehicleWheeled 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 | 当实体的生命值发生改变时,无论是由于受到伤害,还是通过脚本或重生进行手动设置 | |
Respawn | 当实体重生时 | |
TakeDamage | 当此实体受到伤害时触发 |
Inherited Vehicle Events
VehicleWheeled inherits from Base Vehicle Class, sharing it's events:
Base Vehiclescripting-reference/classes/base-classes/vehicle
Base Vehiclescripting-reference/classes/base-classes/vehicle
| Name | Description | |
|---|---|---|
CharacterAttemptEnter | 当角色尝试进入载具时触发 | |
CharacterAttemptLeave | 当角色尝试离开载具时触发 | |
CharacterEnter | 当角色完全进入载具时触发 | |
CharacterLeave | 当角色完全离开载具时触发 | |
EngineStart | 引擎启动时触发 | |
EngineStop | 引擎停止时触发 | |
Hit | 当载具撞击到某物时触发 |
| Name | Description | |
|---|---|---|
Horn | 当载具鸣笛时触发 |

Horn
当载具鸣笛时触发
VehicleWheeled.Subscribe("Horn", function(self, is_honking)
-- Horn was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| VehicleWheeled | self | 触发该事件的轮式载具 |
| boolean | is_honking | 是开始 (true) 还是停止 (false) 鸣笛 |

