2015年10月26日
Speed Boat
水上飛行機や複葉機で使われたスクリプトは、設定を変更することで、他の乗り物にも使えます。
今回は Speed Boat にスクリプトを組み込んで走らせます。走る Speed Boat は JOG内の Shinobar Gate 海のあるサンドボックスに置いています。

水上飛行機の台座を取り出し、Speed Boat の船体と、台座がルートプリムにしてリンクします。複葉機(1)機体の入れ替えを参考にしてください。
メインスクリプト Aircraft の設定を次のように変更します。
integer WHEEL = FALSE; //runs with wheel on the ground
integer HIDE_WHEEL = 0; //meter altitude wheels to be hidden
integer BOAT = TRUE; // runs only on the sea
integer SUBMARINE = FALSE; //goes under the sea
integer AIRCRAFT = FALSE; // flies in the air
integer HOVERING = TRUE; //can stop in the air like helicopters
設定項目の説明は「複葉機(3)スクリプトのオプション」を参照ください。
動きの設定。2015-10-26 のもの。
「複葉機(4)動きの調整」も参照ください。
vector BASE_SPEED = <2.0, 0.3, 0.5>; // forwad, turn, up/down
float BANK_RATIO = 0.5;
float HOP_SPEED = 0.0; //x BASE_SPEED.z
integer HOP_TIME = 0; //xINTERVAL, 0:no hopping
integer MAX_FORWARD = 6; // limit of forward speed
integer MAX_SWIM = 6; // limit of forward in the sea
integer NORMAL_FORWARD = 2; // initial gear, flight mode above this
integer MAX_BACKWARD = 2; // limit of backward speed
integer MAX_YAW = 4;
integer MAX_UPWARD = 1;
integer MAX_DOWNWARD = 1;
関数 engine(integer onoff) 内の設定。2015-10-26 のもの。
llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1.0);
llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 2.0);
llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <8.0, 0.5, 2.0>);
llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 2.0);
llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1.0);
小回りのある複葉機に比べ、左右の旋回をゆっくりとしています(..._ANGULAR_...)。VEHICLE_ANGULAR_FRICTION_TIMESCALE の値は <X軸, Y軸, Z軸> です。 別の言い方でRoll-Pitch-Yaw(wikipedia ローリング)。
Roll は船体の左右への傾きで、この抵抗は小さく(時定数を大きく)、上下の揺れである Pitchへの抵抗は大きく(時定数を小さく)しました。
全体としての姿勢安定のため _VEHICLE_VERTICAL_ATTRACTION_TIMESCALE は小さめ、VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY は最大にしています。
今回は Speed Boat にスクリプトを組み込んで走らせます。走る Speed Boat は JOG内の Shinobar Gate 海のあるサンドボックスに置いています。

水上飛行機の台座を取り出し、Speed Boat の船体と、台座がルートプリムにしてリンクします。複葉機(1)機体の入れ替えを参考にしてください。
メインスクリプト Aircraft の設定を次のように変更します。
integer WHEEL = FALSE; //runs with wheel on the ground
integer HIDE_WHEEL = 0; //meter altitude wheels to be hidden
integer BOAT = TRUE; // runs only on the sea
integer SUBMARINE = FALSE; //goes under the sea
integer AIRCRAFT = FALSE; // flies in the air
integer HOVERING = TRUE; //can stop in the air like helicopters
設定項目の説明は「複葉機(3)スクリプトのオプション」を参照ください。
動きの設定。2015-10-26 のもの。
「複葉機(4)動きの調整」も参照ください。
vector BASE_SPEED = <2.0, 0.3, 0.5>; // forwad, turn, up/down
float BANK_RATIO = 0.5;
float HOP_SPEED = 0.0; //x BASE_SPEED.z
integer HOP_TIME = 0; //xINTERVAL, 0:no hopping
integer MAX_FORWARD = 6; // limit of forward speed
integer MAX_SWIM = 6; // limit of forward in the sea
integer NORMAL_FORWARD = 2; // initial gear, flight mode above this
integer MAX_BACKWARD = 2; // limit of backward speed
integer MAX_YAW = 4;
integer MAX_UPWARD = 1;
integer MAX_DOWNWARD = 1;
関数 engine(integer onoff) 内の設定。2015-10-26 のもの。
llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1.0);
llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 2.0);
llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <8.0, 0.5, 2.0>);
llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 2.0);
llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1.0);
小回りのある複葉機に比べ、左右の旋回をゆっくりとしています(..._ANGULAR_...)。VEHICLE_ANGULAR_FRICTION_TIMESCALE の値は <X軸, Y軸, Z軸> です。 別の言い方でRoll-Pitch-Yaw(wikipedia ローリング)。
Roll は船体の左右への傾きで、この抵抗は小さく(時定数を大きく)、上下の揺れである Pitchへの抵抗は大きく(時定数を小さく)しました。
全体としての姿勢安定のため _VEHICLE_VERTICAL_ATTRACTION_TIMESCALE は小さめ、VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY は最大にしています。
スノボができる雪山
リージョンを跨がるライドツアー
複葉機を飛ばす(4)動きを調整する
複葉機を飛ばす(3)スクリプトのオプション
複葉機を飛ばす(2)カメラの調整と助手席
複葉機を飛ばす(1)機体の入れ替え
リージョンを跨がるライドツアー
複葉機を飛ばす(4)動きを調整する
複葉機を飛ばす(3)スクリプトのオプション
複葉機を飛ばす(2)カメラの調整と助手席
複葉機を飛ばす(1)機体の入れ替え
Posted by シノバー at 13:04│Comments(0)
│乗り物