-
Notifications
You must be signed in to change notification settings - Fork 1
Impulseengineandunitspeed
NDark edited this page Feb 15, 2013
·
1 revision
{{toc}}
- 為了營造出脈衝引擎的損毀導致移動速度,及轉動速度下降的效果,取得速度的方式必須修正
- UnitData.cs
- MainUpdate.cs
原本的作法是
透過一個UnitData的標準參數來設定速度。
好處是簡單不用把每個脈衝引擎的功效值加起來才知道本船艦的速度
因此脈衝引擎的功效值就變成一個相對值.
將脈衝引擎的功效最大量總和起來做分母
脈衝引擎的目前功效總和作分子
脈衝引擎輸出比例 = 脈衝引擎的目前功效總和 / 脈衝引擎的功效最大量總和
而 脈衝引擎輸出比例 再乘以 最大速度 就得到目前全力輸出(節流閥全開)時 的應該有的速度
因此如果要調整船艦的速度 就要去調整單一的速度參數
如果要調整各引擎擔負速度的比例,則要調整每個脈衝引擎的功效,並計算其相對關係。
請參考 MainUpdate::UpdateSpeed()
首先取得標準速度
呼叫 UnitData::CalculateAliveImpulseEngineEffectRatio()
計算 正常運作的脈衝引擎貢獻的功效比例 = Sum( 存活的脈衝引擎功效值 * 能源配給比例 ) / 脈衝引擎的最大值總和
標準速度 = 脈衝速度最大值 * 正常運作的脈衝引擎貢獻的功效比例
取得 脈衝引擎節流閥比例ImpulseEngineRatio
目前速度 = 標準速度 * 脈衝引擎節流閥比例
更新移動時就依照目前速度來更新.
- 脈衝引擎能源配給提升
- 脈衝引擎目前提供功效 = 脈衝引擎功效值 * 能源配給比例 就會提升
- 脈衝引擎目前提供功效 / 脈衝引擎最大值總和(不會改變) 就會超過 1.0
- 標準速度就會超過 設定的脈衝速度最大值
- 目前速度也就會因此提升