パーティクル小ネタ

sabro

2007年09月14日 01:04


プリム本体に向かって飛んでくるパーティクルです。

溜め撃ちみたいな、武器をつくりたかったので。



パーティクル関数のソース。使ってたのをそのまま持ってきたから、いらないパラメータも、いっぱいあるかも。
getEnergy1(vector color){    // 色は変更可にしてあります
    llParticleSystem([
        PSYS_PART_FLAGS, PSYS_PART_EMISSIVE_MASK | 
                         PSYS_PART_TARGET_POS_MASK,  // これがポイント
        PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE,
        PSYS_PART_START_ALPHA, 1.0,
        PSYS_PART_END_ALPHA, 0.0,
        PSYS_PART_START_COLOR, color,
        PSYS_PART_END_COLOR, color,
        PSYS_PART_START_SCALE, ,
        PSYS_PART_END_SCALE, ,
        PSYS_SRC_MAX_AGE, 0.0,
        PSYS_PART_MAX_AGE, 1.0,
        PSYS_SRC_ACCEL, ,
        PSYS_SRC_ANGLE_BEGIN, PI,
        PSYS_SRC_ANGLE_END, PI,
        PSYS_SRC_BURST_PART_COUNT, 1,
        PSYS_SRC_BURST_RADIUS, 3.0,   // ここでパーティクル半径を指定
        PSYS_SRC_BURST_RATE, 0.0,
        PSYS_SRC_BURST_SPEED_MIN, 0.0,
        PSYS_SRC_BURST_SPEED_MAX, 0.0,
        PSYS_SRC_OMEGA, ,
		PSYS_SRC_TEXTURE, ""
		PSYS_SRC_TARGET_KEY, llGetKey()   // ターゲットを自分に指定
    ]);
}

PSYS_PART_FLAGS に PSYS_PART_TARGET_POS_MASKを指定すると、PSYS_SRC_TARGET_KEYで指定したターゲットに、パーティクルが飛ぶようになります。

アタッチしてみた


余談ですが、このブログに書かれたスクリプトは、自由に自分の作品に組み込んでもらったりしてかまいません。ただ、検証不十分なことも多いので、十分にテストして自己責任でお使いください。
LSL