ロケット




ここから先は、おまけです。編集(の説明)が面倒なので、ワークショップでは取り上げません。興味のあるかたは試してみてください。


オブジェクト フォルダの直下に、Firework Launcher (drag to ground) というのがあります。
地面にドラッグして REZ してみましょう。
発射台が現れます。クリックするとロケットがセットされ、しばらくすると打ち上げられます。

ロケットのスクリプトで使われている llMakeExplosion() は廃止されているので、書き換える必要があります。
発射台 Firework Launcher (drag to ground) を右クリックして編集します。中身タブの中に Rocket があるので、これを地面にドラッグ&ドロップします。
Rocket の中身タブにあるスクリプト Rocket Booster22行め

llMakeExplosion(20, 1.0, 5, 3.0, 1.0, "smoke", ZERO_VECTOR);

以下に入れ替えます。

llParticleSystem([
    PSYS_PART_FLAGS,            PSYS_PART_INTERP_COLOR_MASK |
                                PSYS_PART_INTERP_SCALE_MASK |
                                PSYS_PART_EMISSIVE_MASK |
                                PSYS_PART_WIND_MASK,
    PSYS_SRC_PATTERN,           PSYS_SRC_PATTERN_ANGLE_CONE,
    PSYS_PART_START_COLOR,      <1.0, 1.0, 1.0>,
    PSYS_PART_END_COLOR,        <1.0, 1.0, 1.0>,
    PSYS_PART_START_ALPHA,      0.50,
    PSYS_PART_END_ALPHA,        0.25,
    PSYS_PART_START_SCALE,      <1.0, 1.0, 0.0>,
    PSYS_PART_END_SCALE,        <1.0 * 2 + 3.0, 1.0 * 2 + 3.0, 0.0>,
    PSYS_PART_MAX_AGE,          3.0,
    PSYS_SRC_ACCEL,             <0.0, 0.0, 0.0>,
    PSYS_SRC_TEXTURE,           "smoke",
    PSYS_SRC_BURST_RATE,        1.0,
    PSYS_SRC_ANGLE_BEGIN,       0.0,
    PSYS_SRC_ANGLE_END,         1.0 * PI,
    PSYS_SRC_BURST_PART_COUNT,  20 / 2,
    PSYS_SRC_BURST_RADIUS,      0.0,
    PSYS_SRC_BURST_SPEED_MIN,   5 / 3,
    PSYS_SRC_BURST_SPEED_MAX,   5 * 2/3,
    PSYS_SRC_MAX_AGE,           3.0 / 2,
    PSYS_SRC_OMEGA,             <0.0, 0.0, 0.0>
]);

MONO にチェックを入れて 保存 します。
Rocket を右クリックから 取る でインベントリに取ります。
Firework Launcher の内容 タブを開け、中の Rocket を削除。代わりに、インベントリに取った Rocket をドラッグします。
改造が終わった Fireworks Launcer は、Fireworks Launcher-kai とかに名前を変えて、インベントリにコピーしておきましょう。

ちなみに、スクリプト中の PSYS_SRC_TEXTURE の値を "smoke" から "green" または "blue" に変えると、煙に色がつきます。

llMakeExplosion の書き換えに関する詳細は下記をご参照ください。

http://wiki.secondlife.com/wiki/LlMakeExplosion/ja

[戻る]  [進む]