・旋回レートの安定化
・加速レートの安定化
・ブレーキングの実装
・まともに車庫入れが出来ること
全部もう両立可能ではある
でまぁ 今回は加速レートの安定化と旋回レートの安定化の話
旋回レートと加速レートの安定は相互で関わるわけよ
ギアアップするとパワーアップするのは
クルマとしてはおかしいわけよ常識的に考えて
加速力ってのは最高速度アップで下がっていくのが
自然の摂理なわけよ パワーバンドとは別の話な
じゃぁなんで既存カースクリプトは ギア=パワーなのか
理由はスクリプト内部の数式観察すると簡単なんだよな
その前に高校物理の初歩でやる簡単な数式
a(加速度) = v(最高速度)/t(加速時間)
単純にこうな
でもって SLのヴィークルで直接指定可能なのは
最高速度
VEHICLE_LINEAR_MOTOR_DIRECTION
http://wiki.secondlife.com/wiki/VEHICLE_LINEAR_MOTOR_DIRECTION
と
加速時間
VEHICLE_LINEAR_MOTOR_TIMESCALE
http://wiki.secondlife.com/wiki/VEHICLE_LINEAR_MOTOR_TIMESCALE/
のみなので
大体ギア(最高速度)をList使って可変にするんよ
そうすると 加速時間が一緒で最高速度が増えるから
そりゃ加速力が向上するわな? 簡単なお話だ
ワイとかよく比喩表現として
"SLのヴィークルは思いで駆動する"とか言うわけよー
物理法則的にはパワーから加速時間が決定するからな
単純に
t(加速時間)=v(最高速度)/a(加速度)
の数式で加速時間を決定してやればいい
で、
この数式を単純に入れるだけではちょっとした問題が出てくる
VEHICLE_LINEAR_MOTOR_TIMESCALE
これの下限が0.1なんだよな
なので 0-100km/h加速を例えば3秒とかにしたとして
大雑把に27m/sec 加速度は9m/sec^2 大体0.9Gくらいかな
SLでまぁまともな登坂能力欲しかったら最低でも2Gくらい要るのよ大雑把に
でも速度は出したくない 歩く速度程度 5km/hくらいがいい
そうなると
1.38/20=0.069
0.1切りますな
でまぁこうなる場合は
VEHICLE_LINEAR_MOTOR_DIRECTIONを
加速時間が0.5秒くらいになる適当な数値にして
本来設定したい最高速度に達したらモーターをカットすればいい
あともうこれでパワーバンドみたいな概念も直感的な
加速度という数値で入れられるようになる やったね!
参考程度に ということで
ちょっと既存のヴィークルについて計算してみるか
一般にレース用ヴィークル言われてるやつは
1秒程度で時速300キロに達する
加速度的には 8.5Gくらいか 参考に調べたらドドンパが3.75G
83.3/83.3=1.00 まぁこのレートでも最高速度ならあんまり関係ないな
次 旋回レートの安定のお話
実は加速レートが全ギアで安定してしまえば
旋回レートって既存のロジックでも安定しちゃうのよ
ただし超高速領域でクリップしてしまうのでそこはどうにかせんとアカン
VEHICLE_ANGULAR_MOTOR_DIRECTION
日本語だと書いてないけど 英語なら 4PIと書いてある
この数値案外すぐ突破しちゃうんだよな せいぜい12.56くらいなので
アーロン系のスクリプトだと大体適切な係数がせいぜい2.5から3.0前後
12.56*3.0*3.6=135.048
12.56*2.5*3.6=113.04
時速だと135キロ程度がステアリングが
リニアに効くMAXだということになる
DTCARだとその辺はそもそも関係ない
速度でターンレートが下がる数式なので
でまぁ4PIでクリップするなら
それ以上をインパルスとかを使ってアシストすりゃええんだけど
ちゃんと計算してアシストしてやらんとすっ飛ぶし
ヴィークルパラメータの限界はそのままだから
アンダーステア等の問題が出てくるのだ
そっちもインパルスで押し込めばいいんだけどな
その辺の計算は理屈がわかってりゃ単純っちゃ単純だよ
大体この辺かねぇ
以上