BlackIceCoffeePhenomenon

溶け出す氷によって味が薄くなると併せ、味覚が苦味に慣れていくことで、加速度的に味覚への刺激が減衰する現象に関するブログです。

VRChatでパーティクル芸(必殺技)を打ち込みたい

前回の記事の応用というか、発展として
複数のパーティクルを仕込んだり、なんか色々やってみたいよねを、やります。

 

今回のパーティクルでは必殺技っぽいものを打つようにします。

指さすと、お菓子がどーん!衝撃波に星まで出る感じです。

f:id:yananann:20181101220049p:plain

 

パーティクルには大きく2種類あるうちの今回は前者で実装します。
・発生元に追従するもの(Local)
・発生後、ワールドのルールに従うもの(World)

 

今回のパーティクルは2つで構成します。
・エネルギーを溜めるアクションを模したパーティクル
・エネルギーを放つアクションを模したパーティクル

 

エネルギーを溜める用に複製したアバター
エネルギーを放つ用に複製したアバター
元のアバター含め3つのアバターで構成されます

 

放つ方はワールドにデリゲートしたほうが指先を固定しなくてよいのですが
今回はそこまで余裕なかったので、両方ローカルで実装です。

 

全体の流れ

0,下準備
1,エネルギーをためるパーティクルの実装
2,エネルギーを放つパーティクルの実装
3,アニメーションの作成
4,カスタムオーバーライドの設定
5,ベースアバターに設定してアップロード

 

0,下準備

yananann.hatenadiary.jp

出力手前までやっちゃいましょう。何回かやればもうそんなに迷わないはず。

 

1,エネルギーをためるパーティクルの実装

 手の甲あたりにエネルギーをためたいので、
 そこに収束するパーティクルを作成します。

  1. ParticleSystemを作成し中指あたりに持っていきます。
    中指から集めたい場合はそのまま、手の甲なのでモノ持たせるみたいに微調整します。
  2. Scaleは全部1にしておきましょう。ここまで赤丸参照です

    f:id:yananann:20181101220555p:plain

  3. 各種パラメータを設定します。

    StartDelay:アクション開始からパーティクル発生までの遅延設定です。誤操作でいきなり出ないようにしてます。
    StartLifetime:発生から消滅までの寿命です。今回は2秒です。
    StartSpeed:パーティクルの発射速度です。負の値にする事で逆方向に発射します
    SimulationSpace:前回はWorldでしたが今回はLocalです
    MaxParticles:発生させる最大数。加減しましょう

    Emission
    Rate over time:1秒当たりの発生数。加減しましょう

    Shape
    Shape:Sphere(球体)にします。
    Radius:球体の大きさです。

    Color over Lifetime:時間経過で色を変える機能です。焚火のパーティクルとかこれです。

    今回調整で重要になるのが、StartLifetimeとStartSpeedとRadiusです。
    球体から中心に向けて放ち、中心でちょうど消滅するように調整します。
    今回はRadius:2, StartLifetime:2, StartSpeed:-1で実装してます。

  Color over Lifetimeで青から白に変えつつ70%くらい透明にしてます。
  味付けなのでご自由に・・・

 

2,エネルギーを放つパーティクルの実装

 今回は人差し指から放ちます。魔観光殺法です。
 なるべく、どっ!って出したい。
 ということで人差し指にParticleSystemを配置します。

f:id:yananann:20181101220823p:plain

  1. 以下のようなパラメータにします。

    f:id:yananann:20181101221048p:plain


    Rotation:射出方向。指さしたほうに出す時はXを270にします。

    StartLifetime:今回は3秒で消します。
    StartSpeed:15-30のレンジにすることで爆速で射出します
    StartSize:小さめのを大量に出したいので0.2です
    MaxParticles:最大1500にしてますが、1500出ることはないです。

    Bursts:3秒おきに150-300個を一斉に射出するようにしてます。

    Shape:ぶわって出したいのでCone(円錐)です
    Angle:大きくするほど広範囲になります
    Radius:発射元の円錐の頂点の細かさです。本当に指先から出したいので0.01です。

    f:id:yananann:20181101221058p:plain

    Limit Velocity over Lifetime:放たれたパーティクルを減速します
    Speed:最終的に減速させたときのスピードです。0にすると止まります。
    Dampen:減速のかかり具合です。0に近いほどブレーキの利きが悪いです。ここはいい感じに調整してみてください。

  2. あと今回ハロウィンだったのでお菓子テクスチャーにしてます。

  3. おまけ。 お菓子を放った時に衝撃波的に星を出したい。
    同じ階層にもう1個ParticleSystemを配置し、適当にパラメータ設定してください。

    f:id:yananann:20181101221111p:plain


    ShapeをConeからCircleにすることで、ぶわって出したときに
    衝撃的に星も出ます。

 

3,アニメーションの作成
4,カスタムオーバーライドの設定
5,ベースアバターに設定してアップロード

yananann.hatenadiary.jp

すでに記事があるので、省略します。
違う部分があるとすれば、アクション時の指の形と、
アニメーションを呼び出す際の指のアサインくらいだと思います。

 

 

前回に比べて手抜き感がすごい記事になってしまった。
手順は前回書ききってしまったので、今回はどちらかというとパラメーター重視になりました。
また新しいので何か面白いのできたら手順作ったります。