Kratos:說明書/移動器
外觀
Kenosis提示:當前Vector為預覽版,是VibeCoding的結果,算法需要人類程序猿審查並優化。當前版本僅供初步撰寫INI觀察效果。
預覽版DLL:
https://pan.baidu.com/s/1877pQOrf5JkMSOM6gmJ_VA 提取碼: 1145
2026.8.4
Vector系統實質上就是對附着的拋射體或單位進行暴力挪移。用於單位時因為wwsb的神奇格子系統,單位飛行過程中死亡時大概率引發崩潰,建議儘量少用到單位上。不可用於建築。
Vector是可混合的AE,多個Vector各自計算移動向量後複合出唯一的移動量。
Vector產生的運動有5種模式:
Freeze:最高權限,凍結在空中,此時一切Vector的移動量都會被強制歸零。
MoveTo:以lepton計算的位移量。每幀運動這麼多。
Speed:直線運動。默認行為是飛到目標坐標後AE自動結束。
ReachTarget:無視速度,只讀取Duration,Duration結束後必然飛到目標。
Circle:畫圈。除了圓的運動外,還支持圓心複合其他運動類型,如圓心也畫圓,圓心飛向目標等。
| 標籤名 (Vector.xxx) | 類型 | 默認值 | 詳細說明 |
| 通用設定 | |||
|---|---|---|---|
| Vector.TimeStep | int | 1 | 每隔 TimeStep 幀才執行一次運動計算。非運動幀 MoveDisp 為空(子彈/單位位置不變),但 _elapsedFrames 仍然遞增(計時不停)。默認 1 表示每幀都動。 |
| Vector.DisabledFrames | int | 0 | AE 啟動後凍結前 N 幀。凍結期間 MoveDisp 恆為 {0,0,0},不計入運動幀數。拋射體/單位在此期間仍可被其他機制挪移,只是這一個 Vector 不產生位移。作用是快照Vector生效時的原點坐標。 |
| Vector.SyncFacing | bool | no | yes:拋射體的頭部朝向運動方向(寫 Velocity),單位轉向運動方向(改 PrimaryFacing)。no:不碰朝向,拋射體維持引擎默認指向目標,單位維持原朝向。建議別用yes,會讓拋射體提前被引擎引爆 |
| Vector.OriginIsOnWorld | bool | no | yes:所有 FLH 偏移鎖定世界坐標系(F→世界+Y即北,L→世界+X即東),完全無視單位/彈體/參考系的朝向。搭配 CircleOrigin 等可做"絕對高度"偏移。 |
| Vector.OriginIsOnBody | bool | no | 僅在 Origin=Self 或 Launcher 時生效。yes:F 軸取車身 PrimaryFacing(無視炮塔旋轉)。no:取炮塔 TurretFacing。對 TargetFLH 的 FLH→世界坐標投射也有影響。 |
| Vector.Origin | enum | Self | Self, Target, Launcher, Source。 定義原點參考系。Self:以彈體/單位自身為原點,F 軸=彈體朝向或單位 TurretFacing。Target:以攻擊目標為原點(單位跟蹤,地面鎖定),F 軸=目標→彈體方向。Launcher:以發射者為原點,F 軸=發射者自身的炮塔指向。Source:以 AE Source 對象為原點,F 軸=Source→彈體方向。 |
| Vector.OriginFLH | CoordStruct | 0,0,0 | 對 Origin 原點施加 FLH 偏移。 |
| Vector.OriginNoUpdate | bool | no | yes:原點在 OnStart 時快照,後續不再跟蹤目標/發射者的移動。no:每幀重新計算參考系(Target 跟蹤目標移動,Launcher 跟蹤發射者移動)。 |
| Vector.Force | bool | yes | 默認所有模式 Force=yes。拋射體:yes=SetLocation 暴力挪移,不疊加引擎自身運動;no=引擎軌跡+Vector 位移疊加。單位:yes=跳過路徑碰撞校驗直接 SetLocation(可高空穿牆),首次進入時切換 Locomotor 為 Jumpjet;no=走 CanMoveTo 路徑校驗,撞牆反彈。 |
| Vector.AllowFallingDestroy | bool | no | Vector 結束時是否允許摔死。yes:當高度 > FallingDestroyHeight 時判定死亡。 |
| Vector.FallingDestroyHeight | int | LevelHeight | 摔死判定的高度閾值。低於此高度不判死。默認值為引擎的 LevelHeight 常量(約為 1 個單位層高)。 |
| Freeze模式 | |||
|---|---|---|---|
| Vector.Freeze | bool | no | 最高優先級模式。yes:首幀快照當前位置為 FrozenPos,之後每幀計算位移=FrozenPos-當前位置,始終拉回凍結位置。拋射體下會自動開啟 Force=true。Freeze 存在時所有其他運動模式(Circle/MoveTo/Speed/ReachTarget)均不會執行。 |
| MoveTo 模式 | |||
|---|---|---|---|
| Vector.MoveTo | CoordStruct | 0,0,0 | 純 FLH 位移模式。每幀將 MoveTo 作為 FLH 偏移(F=沿 F 軸方向,L=垂直 F 軸,H=高度),轉換成世界坐標位移疊加到彈體/單位上。Force 自動為 true。 |
| Vector.GrowRate | CoordStruct | 0,0,0 | 每運動幀 FLH 線性增量:MoveTo 的實際值 = MoveTo + GrowRate×運動幀數。可實現持續加速的位移(呼吸/螺旋/振幅效果)。 |
| Vector.AnglePerStep | double | 0 | MoveTo 的自旋角度增量(度/步)。非零時在 MainFacing 上每幀疊加該角度,實現 FLH 位移方向的自旋。比較原始。 |
| Speed模式 | |||
|---|---|---|---|
| Vector.LinearSpeed | int | -1 | Speed 模式的初始線速度(lepton/步)。-1=讀取單位 Speed(Jumpjet 讀取 JumpjetSpeed,否則讀 Speed;拋射體讀 pBullet->Speed)。≥0 直接使用。RandomSpeed 非退化時覆蓋。 |
| Vector.RandomSpeed | int,int | 0,0 | 初始速度隨機範圍 (Min,Max),非退化時覆蓋 LinearSpeed。 |
| Vector.MaxSpeed | int | -1 | 速度上限。-1=不限。 |
| Vector.MinSpeed | int | -1 | 速度下限。-1=不限。 |
| Vector.Acceleration | int | 0 | Speed 模式下:每幀線速度增量(speed += Acceleration×絕對幀數)。Circle 模式下註:若 CircleSpeedAcceleration=0 時自動復用 Acceleration 作為圓加速率。 |
| Vector.SpeedEndOnReach | bool | yes | yes=抵達目標坐標點即強制結束AE並鉗位到目標點(修復飛越後抽搐);no=越過目標繼續飛,此時不支持弧線 |
| ReachTarget 模式 | |||
| Vector.ReachTarget | bool | no | 剩餘幀數強制到達模式。每幀位移 = 剩餘距離÷剩餘幀數,保證在 Duration 結束時恰好到達目標。超時後 Force=yes 時直接 SetLocation 到目標,Force=no 時無位移自然結束。 |
| Vector.ReachTargetEarlyEnd | int | 0 | 提前結束幀數。>0 時當剩餘運動幀 ≤ 該值時 Deactivate 提前交還控制權給引擎。 |
| ReachTarget和Speed的弧控制和目標偏移 | |||
| Vector.TargetFLH | CoordStruct | 0,0,0 | 目標參考點在 Origin 參考系中的 FLH 坐標。Origin=Self 時以彈體/單位為參考,Origin=Target 時以目標為參考。疊加 TargetOffset 隨機偏移後計算世界坐標。 |
| Vector.TargetOffsetF | int,int | 0,0 | 目標 F 軸隨機偏移 (Min,Max),首幀隨機抽取,作用在 TargetFLH 上。 |
| Vector.TargetOffsetL | int,int | 0,0 | 目標 L 軸隨機偏移。 |
| Vector.TargetOffsetH | int,int | 0,0 | 目標 H 軸隨機偏移。 |
| Vector.TargetOffsetFRanges | double×4 | 0,0,0,0 | 四參數版隨機Offset |
| Vector.TargetOffsetLRanges | double×4 | 0,0,0,0 | 四參數版隨機Offset |
| Vector.TargetOffsetHRanges | double×4 | 0,0,0,0 | 四參數版隨機Offset |
| Vector.TargetOffsetRadius | int,int | 0,0 | 以距離計算的隨機偏移範圍 |
| Vector.TargetOffsetRadiusRanges | double×4 | 0,0,0,0 | 四參數版偏移範圍 |
| Vector.TargetOffsetSphere | bool | no | 偏移量是否以球面計算,no則用圓面,高度用平面坐標的TargetOffsetH / TargetOffsetHRanges語句控制 |
| Vector.TargetOffsetAngles | double×4 | 0,0,0,0 | 許可的偏移角度,四參數,僅圓環模式(Sphere=no)生效。拋射體指向目標的軸,與圓的近交點為0,遠交點為180 |
| Vector.ArcHeight | int | 0 | ReachTarget/Speed 拋物線弧高(lepton),0=直線軌跡。正=上凸弧,負=下凹弧。弧高使用分段拋物線公式(升弧段:ax(2-x),降弧段:1-x²)。Speed 模式下按剩餘距離比例計算進度,弧高增量獨立疊加不影響直線速度。 |
| Vector.ArcPeakPercent | double | 50 | 弧峰所在 Duration 百分比(0-100)。默認 50 即弧峰在終點的中點。 |
| Vector.RandomArcPeakPercent | double,double | 0,0 | 弧峰百分比隨機範圍 (Min,Max),覆蓋 ArcPeakPercent。 |
| Vector.RandomArcHeight | int,int | 0,0 | 弧高隨機範圍 (Min,Max),覆蓋 ArcHeight。 |
| Vector.ArcRotation | double | 0 | 弧面旋轉角度(度),0=默認弧面朝正上方。非零時弧線在空間中以 Rodrigues 旋轉公式構造弧面法線方向偏移,不再單純 Z 軸。 |
| Vector.RandomArcRotation | double,double | 0,0 | 弧面旋轉隨機範圍 (Min,Max),覆蓋 ArcRotation。 |
| Circle 模式 | |||
|---|---|---|---|
| Vector.CircleRadius | int | -1 | 圓半徑(lepton)。-1=自動取彈體/單位當前到圓心的 XY 距離。>0 直接使用。每運動幀疊加 CircleRadiusGrow,受 CircleMaxRadius/CircleMinRadius 鉗位。 |
| Vector.CircleSpeed | int | 0 | 圓周線速度(lepton/步)。>0 即可獨立激活 Circle 模式。每幀疊加加速度,受 CircleMaxSpeed/CircleMinSpeed 鉗位。0 時首幀兜底取彈體/單位自身 Speed。與 CircleAnglePerStep 共存時角速度優先——線速度由角速度×半徑重算,顯式 CircleSpeed 被忽略。 |
| Vector.CircleSpeedAcceleration | int | 0 | 線速度每步加速度。0 時若通用 Acceleration≠0 則復用 Acceleration。 |
| Vector.CircleMaxSpeed | int | 0 | 線速度上限。0=不限。 |
| Vector.CircleMinSpeed | int | 0 | 線速度下限。0=不限。 |
| Vector.CircleAnglePerStep | double | 0 | 圓周角速度(度/步)。>0 即可獨立激活 Circle 模式。每幀疊加 CircleAngleAcceleration,受 CircleMaxAngle/CircleMinAngle 鉗位。優先級高於 CircleSpeed——兩者都設時,線速度由角速度×半徑重算。 |
| Vector.CircleAngleAcceleration | double | 0 | 角速度每步加速度。 |
| Vector.CircleMaxAngle | double | 0 | 角速度上限。0=不限。 |
| Vector.CircleMinAngle | double | 0 | 角速度下限。0=不限。 |
| Vector.CircleOrigin | CoordStruct | 0,0,0 | 圓心偏移。AllowOriginTilt=no 時直接世界坐標加法(圓心=Origin點+CircleOrigin),無視朝向。AllowOriginTilt=yes 時作為 FLH 偏移跟隨轉軸旋轉(F=沿 facing,L=垂直 facing,H=Z)。 |
| Vector.AllowOriginTilt | bool | no | 是否允許圓心隨物體傾斜而移動 |
| Vector.CircleRandomRadius | int,int | 0,0 | 初始半徑隨機範圍 (Min,Max)。非退化時首幀從範圍隨機抽取,覆蓋顯式 CircleRadius。 |
| Vector.CircleRandomAngle | double,double | 0,0 | 初始角速度隨機範圍 (Min,Max)。非退化時首幀從範圍隨機抽取,覆蓋顯式 CircleAnglePerStep。注意不是 4 值:只是單區間隨機。 |
| Vector.CircleRandomAngleRanges | double×4 | 0,0,0,0 | 初始角速度 4 值雙區間 (min1,max1,min2,max2),50% 概率從區間 1 或區間 2 抽取。覆蓋顯式 CircleAnglePerStep 和 CircleRandomAngle。 |
| Vector.CircleRadiusGrow | int | 0 | 每運動幀半徑增量(lepton/步)。正=外擴,負=內縮。 |
| Vector.CircleMaxRadius | int | 0 | 半徑上限。0=不限。達到上限時由 CircleEndOnMaxRadius 控制是否結束。 |
| Vector.CircleMinRadius | int | 0 | 半徑下限。0=不限。達到下限時由 CircleEndOnMinRadius 控制是否結束。 |
| Vector.CircleEndOnMaxRadius | bool | no | yes:半徑≥CircleMaxRadius 時 Deactivate 結束 AE。 |
| Vector.CircleEndOnMinRadius | bool | no | yes:半徑≤CircleMinRadius 時 Deactivate 結束 AE。 |
| Vector.AllowCircleTilt | bool | no | 是否允許圓面隨着附着物體的傾斜而傾斜 |
| Vector.Lissajous | int | 0 | Lissajous曲線變化速度 |
| NormalVector 圓面法線(傾斜圓面) | |||
| Vector.NormalVector | CoordStruct | 0,0,0 | 圓面法向量,FLH 坐標系。決定圓如何傾斜。世界坐標。 |
| Vector.NormalRandomF | CoordStruct | 0,0 | 法向量 F 分量的隨機範圍 (Min,Max),首幀抽取後疊加到 NormalVector。 |
| Vector.NormalRandomL | CoordStruct | 0,0 | 法向量 L 分量隨機範圍。 |
| Vector.NormalRandomH | CoordStruct | 0,0 | 法向量 H 分量隨機範圍。 |
| Vector.NormalFAnglePerStep | double | 0 | 繞 F 軸的角速度(度/步),常數模式。圓面的法線每運動幀繞 F 軸旋轉該角度。 |
| Vector.NormalLAnglePerStep | double | 0 | 繞 L 軸的角速度(度/步)。 |
| Vector.NormalHAnglePerStep | double | 0 | 繞 H 軸的角速度(度/步)。 |
| Vector.NormalFAngleRanges | double×4 | 0,0,0,0 | 繞 F 軸角速度的 4 值雙區間 (min1,max1,min2,max2),50% 概率從區間 1 或區間 2 隨機抽取。常數模式(NormalFAnglePerStep)優先於隨機區間。 |
| Vector.NormalLAngleRanges | double×4 | 0,0,0,0 | 繞 L 軸角速度雙區間。 |
| Vector.NormalHAngleRanges | double×4 | 0,0,0,0 | 繞 H 軸角速度雙區間。 |

| 圓心整體運動 | |||
|---|---|---|---|
| 圓心 MoveTo (Origin.*) | |||
| Vector.Origin.MoveTo | CoordStruct | 0,0,0 | 圓心在基座上的 FLH 位移(lepton/步)。非空時圓心每運動幀按此偏移移動,朝向使用 _originFacing+自旋角度合成的方向,調用 GetFLHAbsoluteOffset 轉換。 |
| Vector.Origin.GrowRate | CoordStruct | 0,0,0 | 圓心 MoveTo 的每步增量。實際值 = OriginMoveTo + OriginGrowRate×運動幀數。 |
| Vector.Origin.AnglePerStep | double | 0 | 圓心 MoveTo 的自旋角度增量(度/步),疊加在 _originFacing 上。 |
| 圓心 Speed/ReachTarget 模式飛向目標(Origin.*) | |||
| Vector.Origin.TargetFLH | CoordStruct | 0,0,0 | 圓心追蹤目標在基座坐標系中的 FLH 位置。非空時進入圓心的 Speed/ReachTarget 子模式。OriginReachTarget 控制用何種方式到達。 |
| Vector.Origin.LinearSpeed | int | -1 | -1=讀取單位 Speed。≥0 直接使用該速度。圓心 Speed 子模式的初始線速度。 |
| Vector.Origin.Acceleration | int | 0 | 圓心 Speed 子模式的每步加速度。 |
| Vector.Origin.MaxSpeed | int | -1 | 圓心 Speed 子模式速度上限。-1=不限。 |
| Vector.Origin.MinSpeed | int | -1 | 圓心 Speed 子模式速度下限。-1=不限。 |
| Vector.Origin.ReachTarget | bool | no | yes:到達模式,圓心按剩餘幀數均分位移,強制到目標 FLH。no:純速度追蹤模式,每幀向目標移動 OriginLinearSpeed 距離。 |
| Vector.Origin.SpeedEndOnReach | bool | yes | yes=圓心抵達目標即結束AE;no=越過目標繼續飛 |
| Vector.Origin.ArcHeight | int | 0 | 圓心 ReachTarget/Speed 拋物線弧高。0=直線移動。Speed 模式下弧高按剩餘距離比例疊加增量,與直線速度解耦。 |
| Vector.Origin.TargetOffsetF | int,int | 0,0 | 圓心目標 F 軸隨機偏移範圍 |
| Vector.Origin.TargetOffsetL | int,int | 0,0 | 圓心目標 L 軸隨機偏移範圍 |
| Vector.Origin.TargetOffsetH | int,int | 0,0 | 圓心目標 H 軸隨機偏移範圍 |
| 圓心自身畫一個大圓 (Origin.*) | |||
|---|---|---|---|
| Vector.Origin.CircleRadius | int | -1 | 圓心圓周運動的半徑。-1=自動取當前距離。>0 直接使用。 |
| Vector.Origin.CircleSpeed | int | 0 | 圓心圓周線速度。與主 Circle 不同,此處無角速度覆蓋規則——速度>0 且半徑>0 時用 radar_offset 推角速度。 |
| Vector.Origin.CircleAnglePerStep | double | 0 | 圓心圓周角速度。僅在 OriginCircleSpeed=0 或半徑≤0 時生效。 |
| Vector.Origin.CircleRandomRadius | int,int | 0,0 | 圓心圓周初始半徑隨機 |
| Vector.Origin.CircleRandomAngle | double,double | 0,0 | 圓心圓周初始角速度隨機 |
| Vector.Origin.CircleRadiusGrow | int | 0 | 圓心圓周半徑增量(lepton/步)。 |
| Vector.Origin.CircleMaxRadius | int | 0 | 圓心圓周半徑上限。0=不限。 |
| Vector.Origin.CircleMinRadius | int | 0 | 圓心圓周半徑下限。0=不限。 |
| Vector.Origin.CircleEndOnMaxRadius | bool | no | 圓心圓周半徑達上限時結束。 |
| Vector.Origin.CircleEndOnMinRadius | bool | no | 圓心圓周半徑達下限時結束。 |
| Vector.Origin.AllowCircleTilt | bool | no | yes:允許圓面傾斜 |
| Vector.Origin.AllowOriginTilt | bool | no | yes:圓心的 CircleOrigin 偏移改為 FLH 模式,隨附着物體傾斜而傾斜。 |
| Vector.Origin.CircleOffset | CoordStruct | 0,0,0 | 圓心原點偏移,在基座坐標系上直接加世界坐標偏移量。 |
| Vector.Origin.Lissajous | int | no | 角度持續累加產生獨立相位,角加速度 |
| Vector.Origin.Origin | enum | Self | 圓心運動的參考系選擇。Self=以主系 originPos 為基座。Launcher/Target/Source=以對應實體坐標為基座。OriginOriginFLH 可在此基礎上再疊加 FLH 偏移。 |
| Vector.Origin.OriginFLH | CoordStruct | 0,0,0 | 對圓心運動基座施加 FLH 偏移。 |
| 大圓法線 (Origin.*) | |||
| Vector.Origin.NormalVector | CoordStruct | 0,0,0 | 圓心運動系統的獨立法向量(FLH坐標系),定義圓心的獨立朝向。 |
| Vector.Origin.NormalRandomF | CoordStruct | 0,0 | 圓心法線 F 隨機範圍。 |
| Vector.Origin.NormalRandomL | CoordStruct | 0,0 | 圓心法線 L 隨機範圍。 |
| Vector.Origin.NormalRandomH | CoordStruct | 0,0 | 圓心法線 H 隨機範圍。 |
| Vector.Origin.NormalFAnglePerStep | double | 0 | 圓心法線繞 F 軸旋轉角速度。 |
| Vector.Origin.NormalLAnglePerStep | double | 0 | 圓心法線繞 L 軸旋轉角速度。 |
| Vector.Origin.NormalHAnglePerStep | double | 0 | 圓心法線繞 H 軸旋轉角速度。 |
