跳至正文
版本:bleeding-edge 🩸

🚙 VehicleWheeled

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

Server Only🔁Auto-Distributed🧑‍💻API Source
👪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

TypeNameDefaultDescription
Vectorlocation Required parameter 生成的世界坐标位置
Rotatorrotation Required parameter 生成的世界坐标旋转
SkeletalMesh Referenceasset Required parameter 要使用的资产
CollisionTypecollision_typeCollisionType.Auto此 Actor 的碰撞配置文件
booleangravity_enabledtrue重力是否影响此 Actor
booleanauto_unfliptrue如果载具翻车,自动将其翻正
Sound Referenceengine_soundnanos-world::A_Vehicle_Engine_01引擎运转时播放的声音
Sound Referencehorn_soundnanos-world::A_Vehicle_Horn_Toyota鸣笛时播放的声音
Sound Referencebrake_soundnanos-world::A_Vehicle_Brake制动时播放的声音
Sound Referenceengine_start_soundnanos-world::A_Car_Engine_Start启动引擎时播放的声音
Sound Referencevehicle_door_soundnanos-world::A_Vehicle_Door上车或下车时播放的声音
booleanauto_start_enginetrue驾驶员上车时引擎是否启动
Blueprint Referencecustom_animation_blueprint用于驱动载具网格体的动画蓝图
SpawnModespawn_modeSpawnMode.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
ReturnsNameDescription
table of Base EntityGetAll返回一个包含调用此方法的类中所有实体的表
Base EntityGetByIndex返回该类中指定索引处的特定实体
integerGetCount返回该类当前存在的实体数量
table of tableGetInheritedClasses获取使用 继承系统 创建的、直接继承自该类的所有子类列表
iteratorGetPairs返回一个包含该类所有实体的迭代器,供 pairs() 使用
table or nilGetParentClass如果该类是使用 继承系统 创建的,则获取其父类
tableInherit通过 继承系统 继承此类
booleanIsChildOf如果该类是使用 继承系统 创建的,检查此类是否为另一个类的子类
functionSubscribe为此类的所有实体订阅一个 事件
functionSubscribeRemote订阅从服务器调用的自定义事件
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
ReturnsNameDescription
BroadcastRemoteEvent直接在此实体上向所有玩家调用自定义远程事件
BroadcastRemoteInRadiusEvent直接针对此实体调用自定义远程事件,并将该事件传递给半径范围内的所有玩家
CallRemoteEvent直接在此实体上向特定玩家调用自定义远程事件
CallRemoteEvent直接在此实体上调用自定义远程事件
CallRemotePlayersEvent直接在此实体上调用自定义远程事件,并将事件传递给玩家列表
Destroy销毁此实体
FinishSpawn如果此实体是以延迟 spawn_mode 生成的,则完成生成过程并将该实体发送至客户端
table of stringGetAllValuesKeys获取所有存储值的键名列表
tableGetClass获取此实体的类
integerGetID获取此实体的通用网络 ID(客户端和服务器一致)
anyGetValue获取存储在此实体上指定键处的 值
booleanHasAuthority获取本地上下文是否对此实体拥有主控(如果由客户端生成则为 true,由服务器生成则为 false)
booleanIsA递归检查此实体是否继承自某个类
booleanIsBeingDestroyed如果此实体正在被销毁,则返回 true
booleanIsSpawned获取此实体是否已完成生成
booleanIsValid如果此实体有效(即未被销毁且指向有效的实体),则返回 true
SetSpawnMode从继承类的构造函数中覆盖此实体完成生成的时间点
SetValue在此实体中设置一个 值
functionSubscribe在这个特定实体上订阅一个事件
functionSubscribeRemote在这个特定实体上订阅一个从服务器调用的自定义远程事件
Unsubscribe退订此包内该实体中此 事件 的所有回调,或者仅取消传入的特定回调
Inherited Actor Functions
VehicleWheeled inherits from Base Actor Class, sharing it's methods and functions:
Base Actorscripting-reference/classes/base-classes/actor
ReturnsNameDescription
AddActorTag向该 Actor 添加一个虚幻 Actor 标签
AddAngularImpulse向该 Actor 添加角冲量。适用于单次瞬间爆发
AddImpulse向该 Actor 添加冲量。适用于单次瞬间爆发
booleanAttachTo将该 Actor 附加到任何其他 Actor 上,可选择附加在特定骨骼处
Detach将该 Actor 从其附加的 Actor 上分离
table of stringGetActorTags获取该 Actor 上的所有虚幻 Actor 标签
VectorGetAngularForce获取该 Actor 的角外力(由 SetAngularForce() 设置)
floatGetAngularVelocity返回此 Actor 的角速度
table of Base ActorGetAttachedEntities获取附加到该 Actor 的所有 Actor
Base Actor or nilGetAttachedTo获取该 Actor 所附加到的父级 Actor
stringGetAttachedToSocket获取此 Actor 所附加到的骨骼或插槽名称
tableGetBounds获取此 Actor 的包围盒,便于计算其在世界中的尺寸
CollisionTypeGetCollision获取该 Actor 的碰撞类型
integerGetDimension获取该 Actor 的维度
floatGetDistanceFromCamera获取该 Actor 距离相机的距离
VectorGetForce获取该 Actor 的持续外力(由 SetForce() 设置)
floatGetLifeSpan获取此 Actor 被销毁前剩余的时间(秒)
VectorGetLocation获取该 Actor 在游戏世界中的位置
floatGetMass返回此 Actor 的质量
Player or nilGetNetworkAuthority获取该 Actor 的网络主控玩家
VectorGetRelativeLocation如果该 Actor 已附加,获取其相对位置
RotatorGetRelativeRotation如果该 Actor 已附加,获取其相对旋转
RotatorGetRotation获取该 Actor 在游戏世界中的角度值
VectorGetScale获取该 Actor 的缩放比例
floatGetScreenPercentage获取该 Actor 在屏幕中所占尺寸的百分比
tableGetSocketTransform在给定骨骼或插槽名称的情况下,获取世界空间中的插槽变换
VectorGetVelocity获取该 Actor 当前的速度
booleanHasNetworkAuthority如果本地玩家当前是该 Actor 的网络主控(Network Authority),则返回 true
booleanIsGravityEnabled如果该 Actor 启用了重力,则返回 true
booleanIsImpulseOnDamageReturns true if taking damage pushes this Actor's physics body
booleanIsInWater如果该 Actor 处于水中,则返回 true
booleanIsNetworkDistributed如果该 Actor 当前处于网络分配状态,则返回 true
booleanIsVisible如果该 Actor 可见,则返回 true
RemoveActorTag从该 Actor 中移除一个虚幻 Actor 标签
RotateRelativeToSmoothly rotates this attached actor to an angle relative to its parent over a certain time
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 是否启用高亮显示,以及使用哪个高亮索引值
SetImpulseOnDamageSets whether taking damage (shots, melee, explosions) pushes this Actor's physics body
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 是否可见
TranslateRelativeToSmoothly moves this attached actor to a location relative to its parent over a certain time
TranslateTo在一定时间内平滑地将该 Actor 移动到某个位置
booleanWasRecentlyRendered获取该 Actor 最近是否在屏幕上被渲染过
Inherited Paintable Functions
VehicleWheeled inherits from Base Paintable Class, sharing it's methods and functions:
Base Paintablescripting-reference/classes/base-classes/paintable
ReturnsNameDescription
ColorGetMaterialColorParameter从该 Actor 的材质中获取 Color 参数
floatGetMaterialScalarParameter从该 Actor 的材质中获取 Scalar 参数
stringGetMaterialTextureParameter从该 Actor 的材质中获取 Texture 参数
VectorGetMaterialVectorParameter从该 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
ReturnsNameDescription
integerApplyDamage对该实体造成伤害
floatGetDamageMultiplier获取特定骨骼的伤害系数
integerGetHealth获取当前生命值
integerGetMaxHealth获取最大生命值
booleanIsDead返回该实体是否已死亡
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
ReturnsNameDescription
AddSkeletalMeshAttached附加一个骨骼网格体作为该实体的骨骼主姿态
AddStaticMeshAttached附加一个静态网格体到此实体
functionBindAnimationBlueprintEventDispatcher分配并绑定一个动画蓝图事件分发器
varargs of anyCallAnimationBlueprintEvent调用一个动画蓝图事件或函数
table of stringGetAllSkeletalMeshAttached获取附加到此实体的所有骨骼网格体
table of stringGetAllStaticMeshAttached获取附加到此实体的所有静态网格体
anyGetAnimationBlueprintPropertyValue直接获取动画蓝图的属性/变量值
tableGetDoors获取所有配置的门
SkeletalMesh ReferenceGetMesh获取资产名称
CharacterGetPassenger获取指定座位上的乘客
table of CharacterGetPassengers获取所有乘客
HideBone隐藏此载具的某根骨骼
booleanIsBoneHidden获取某根骨骼是否被隐藏
booleanIsEngineStarted检查引擎是否已启动
PlayAnimation在此载具上播放动画
RemoveAllSkeletalMeshesAttached移除所有已附加的骨骼网格体
RemoveAllStaticMeshesAttached移除所有已附加的静态网格体
RemoveSkeletalMeshAttached根据自定义 ID 移除此载具上已存在的骨骼网格体(如果存在)
RemoveStaticMeshAttached根据自定义 ID 移除此载具上已存在的静态网格体(如果存在)
SetAnimationBlueprintPropertyValue直接设置动画蓝图的属性/变量值
SetBuoyancyPontoons设置水体模拟所使用的浮筒
SetBuoyancySettings设置该实体在水中的行为
SetCameraArmLength设置驾驶此载具时相机与载具保持的距离
SetCameraOffset设置载具相机偏移量
SetDoor为载具添加一个车门
SetExplosionSettings配置当生命值归零时的爆炸设置
SetStaticMeshAttachedTransform设置已附加静态网格体的位置和旋转
StopAnimation停止在此载具上播放的动画蒙太奇
UnbindAnimationBlueprintEventDispatcher解绑一个动画蓝图事件分发器
UnHideBone取消隐藏该载具的某个骨骼
ReturnsNameDescription
integerGetGear获取当前挡位
integerGetRPM获取当前转速 RPM
Horn开始或停止载具鸣笛
booleanIsInAir检查载具是否悬空(没有车轮接触地面)
SetAerodynamicsSetup配置载具空气动力学设置
SetAutoStartEngine设置当驾驶人进入载具时,引擎是否自动启动
SetDifferentialSetup配置差速器类型
SetEngineSetup配置载具引擎(扭矩、转速、制动)
SetEngineStarted设置引擎开启/关闭
SetHeadlightsEnabled启用或禁用前大灯
SetHeadlightsSetup配置前大灯的偏移量和颜色
SetHornSound设置载具喇叭所使用的音频资产
SetSteeringSetup配置载具转向系统
SetSteeringWheelSetup配置方向盘的位置
SetTaillightsEnabled启用或禁用尾灯
SetTaillightsSetup配置尾灯的偏移量
SetTireFlat设置轮胎是否爆胎
SetTransmissionSetup配置载具变速箱
SetWheel配置载具车轮

Optimal

GetGear​

获取当前挡位
local gear = my_vehiclewheeled:GetGear()

Returns

TypeDescription
integer当前挡位

Optimal

GetRPM​

获取当前转速 RPM
local rpm = my_vehiclewheeled:GetRPM()

Returns

TypeDescription
integer当前转速

Moderate

Horn​

开始或停止载具鸣笛
my_vehiclewheeled:Horn(enable_horn)

Parameters

TypeParameterDefaultDescription
booleanenable_horn Required parameter 是否鸣笛

Optimal

IsInAir​

检查载具是否悬空(没有车轮接触地面)
local is_in_air = my_vehiclewheeled:IsInAir()

Returns

TypeDescription
boolean载具是否处于空中

Moderate

SetAerodynamicsSetup​

配置载具空气动力学设置
my_vehiclewheeled:SetAerodynamicsSetup(mass?, drag_coefficient?, vehicle_chassis_width?, vehicle_chassis_height?, vehicle_downforce_coefficient?, center_of_mass_override?)

Parameters

TypeParameterDefaultDescription
integermass?1500
载具底盘质量
floatdrag_coefficient?0.3
高速行驶时阻碍前进运动的力
integervehicle_chassis_width?180
用于计算阻力的底盘宽度(厘米)
integervehicle_chassis_height?140
用于计算阻力的底盘高度(厘米)
floatvehicle_downforce_coefficient?0.3
高速行驶时将载具压向地面的力
Vectorcenter_of_mass_override?Vector(0, 0, 50)
覆盖质心。适用于弯道稳定。理想情况下,Z 轴应与车轮半径相同

Optimal

SetAutoStartEngine​

设置当驾驶人进入载具时,引擎是否自动启动
my_vehiclewheeled:SetAutoStartEngine(auto_start)

Parameters

TypeParameterDefaultDescription
booleanauto_start Required parameter 驾驶员进入载具时引擎是否自动启动

Moderate

SetDifferentialSetup​

配置差速器类型
my_vehiclewheeled:SetDifferentialSetup(differential_type, front_rear_split?)

Parameters

TypeParameterDefaultDescription
DifferentialTypedifferential_type Required parameter 差速器类型
floatfront_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

TypeParameterDefaultDescription
integermax_torque?700
最大引擎扭矩(牛·米)乘以扭矩曲线 TorqueCurve
integermax_rpm?5700
引擎每分钟最大转速
integeridle_rpm?1200
空挡/静止时的引擎怠速
floatbrake_effect?0.05
松油门时,来自引擎的制动效果
integerrev_up_moi?5
影响引擎转速上升的速度
integerrev_down_rate?600
影响引擎转速下降的速度
tabletorque_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

TypeParameterDefaultDescription
booleanstarted Required parameter 引擎是开启还是关闭

Moderate

SetHeadlightsEnabled​

启用或禁用前大灯
my_vehiclewheeled:SetHeadlightsEnabled(is_enabled)

Parameters

TypeParameterDefaultDescription
booleanis_enabled Required parameter 前大灯是否开启

Moderate

SetHeadlightsSetup​

配置前大灯的偏移量和颜色
my_vehiclewheeled:SetHeadlightsSetup(location, color?)

Parameters

TypeParameterDefaultDescription
Vectorlocation Required parameter 前大灯相对于载具的偏移量
Colorcolor?Color(1, 0.86, 0.5)
使用的颜色

Optimal

SetHornSound​

设置载具喇叭所使用的音频资产
my_vehiclewheeled:SetHornSound(sound_asset?)

Parameters

TypeParameterDefaultDescription
Sound Referencesound_asset?nil
The new sound asset used by the vehicle horn, pass nil or an empty string for no sound

Moderate

SetSteeringSetup​

配置载具转向系统
my_vehiclewheeled:SetSteeringSetup(steering_type, angle_ratio?, steering_curve?)

Parameters

TypeParameterDefaultDescription
SteeringTypesteering_type Required parameter 要使用的转向类型。默认为 SteeringType.AngleRatio
floatangle_ratio?0.7
仅在选择 SteeringType.AngleRatio 时生效
tablesteering_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

TypeParameterDefaultDescription
Vectorrelative_location Required parameter 方向盘相对于载具原点的相对位置
integerradius Required parameter 方向盘的半径,用于正确对齐双手手部位置
Rotatorrotation?Rotator(0, 0, 0)
方向盘的旋转角度,用于正确对齐双手手部位置

Moderate

SetTaillightsEnabled​

启用或禁用尾灯
my_vehiclewheeled:SetTaillightsEnabled(is_enabled)

Parameters

TypeParameterDefaultDescription
booleanis_enabled Required parameter 尾灯是否开启

Moderate

SetTaillightsSetup​

配置尾灯的偏移量
my_vehiclewheeled:SetTaillightsSetup(location)

Parameters

TypeParameterDefaultDescription
Vectorlocation Required parameter 尾灯相对于载具的偏移量

Moderate

SetTireFlat​

设置轮胎是否爆胎
my_vehiclewheeled:SetTireFlat(wheel_index, is_flat)

Parameters

TypeParameterDefaultDescription
integerwheel_index Required parameter 车轮的索引
booleanis_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

TypeParameterDefaultDescription
floattransmission_final_ratio?3.08
主减速比,与变速箱各挡位传动比相乘
integertransmission_change_up_rpm?4500
触发升挡的引擎转速
integertransmission_change_down_rpm?2000
触发降挡的引擎转速
floattransmission_gear_change_time?0.4
换挡所需时间(秒)
floattransmission_efficiency?0.9
机械摩擦损耗意味着变速箱可能在 0.94(94% 效率)下运行
table of floatforward_gear_ratios?{
2.85,
2.02,
1.35,
1.0
}
前进挡传动比列表
table of floatreverse_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

TypeParameterDefaultDescription
integerindex Required parameter 车轮的索引(0-N)。请按升序设置
stringbone_name Required parameter 绑定此车轮的骨骼名称
integerradius?32
车轮半径
integerwidth?20
车轮宽度
integermax_steer_angle?50
该车轮的最大转向角(角度)
Vectoroffset?Vector(0, 0, 0)
如果指定了 bone_name,则相对于骨骼位置偏移车轮。否则,相对于载具原点偏移车轮
booleanis_affected_by_engine?true
引擎是否应该为该车轮提供动力
booleanis_affected_by_brake?true
制动是否应该影响该车轮
booleanis_affected_by_handbrake?true
手刹是否应该影响该车轮
booleanhas_abs_enabled?false
是否启用高级制动系统
booleanhas_traction_control_enabled?false
是否启用直线牵引力控制
integermax_brake_torque?1500
该车轮的最大制动扭矩(牛·米)
integermax_handbrake_torque?3000
该车轮的最大手刹制动扭矩(牛·米)。手刹应当具有比普通制动更强的制动扭矩
integercornering_stiffness?1000
轮胎转弯能力
floatside_slip_modifier?1.0
车轮侧滑抓地力损失,数值越低侧滑时抓地力越小
floatfriction_force_multiplier?2.0
摩擦力系数
floatslip_threshold?20.0
车轮纵向滑移阈值
floatskid_threshold?20.0
车轮侧向滑移阈值
floatsuspension_spring_rate?250.0
弹簧刚度(牛/米)
floatsuspension_spring_preload?50.0
弹簧预紧力(牛/米)
floatsuspension_max_raise?10.0
车轮可以升到高出静止位置多远的距离
floatsuspension_max_drop?10.0
车轮可以降到低于静止位置多远的距离
floatsuspension_smoothing?0.0
悬挂平滑度 [0-关闭,10-最大] - 警告:可能会导致车轮与物体/地形之间出现短暂的视觉穿模
floatsuspension_damping_ratio?0.5
悬挂阻尼,数值越大悬挂恢复静止越快 [范围 0 到 1]
floatsuspension_wheel_load_ratio?0.5
车轮负荷对车轮摩擦力的影响程度。
- 在 0 时,车轮摩擦力完全独立于车轮上的负荷(这是人为设定的,因为它总是假设所有车轮之间受力平衡)
- 在 1 时,车轮摩擦力基于将车轮压入地面的力。这更加真实。
- 较低的值可以解决松油门过度转向的问题,通常使载具在极端运动下更容易操控。
Vectorsuspension_axis?Vector(0, 0, -1)
施加悬挂力的车身局部方向(通常沿 -Z 轴)
Vectorsuspension_force_offset?Vector(0, 0, 0)
施加悬挂力位置的垂直偏移量(沿 Z 轴)
SuspensionSweepShapesuspension_sweep_shape?SuspensionSweepShape.Raycast
车轮悬挂追踪类型,默认为射线追踪

🚀 事件​

Inherited Entity Events
VehicleWheeled inherits from Base Entity Class, sharing it's events:
Base Entityscripting-reference/classes/base-classes/entity
NameDescription
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
NameDescription
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
NameDescription
Death当实体死亡时
HealthChange当实体的生命值发生改变时,无论是由于受到伤害,还是通过脚本或重生进行手动设置
Respawn当实体重生时
TakeDamage当此实体受到伤害时触发
Inherited Vehicle Events
VehicleWheeled inherits from Base Vehicle Class, sharing it's events:
Base Vehiclescripting-reference/classes/base-classes/vehicle
NameDescription
CharacterAttemptEnter当角色尝试进入载具时触发
CharacterAttemptLeave当角色尝试离开载具时触发
CharacterEnter当角色完全进入载具时触发
CharacterLeave当角色完全离开载具时触发
EngineStart引擎启动时触发
EngineStop引擎停止时触发
Hit当载具撞击到某物时触发
NameDescription
Horn当载具鸣笛时触发

Horn​

当载具鸣笛时触发
VehicleWheeled.Subscribe("Horn", function(self, is_honking)
-- Horn was called
end)

Arguments

TypeArgumentDescription
VehicleWheeledself触发该事件的轮式载具
booleanis_honking是开始 (true) 还是停止 (false) 鸣笛