今週の進み具合 #13 - ライトニングボルトエフェクト

進み具合 (2014年5月28日 - 6月11日)

雷エフェクトを作っていました。

(動画) 作っていたライトニングボルトエフェクト

どうでしょうか、雷っぽく見えるでしょうか。今回作ったライトニングボルトは、雷っぽくするために枝を任意の数だけ分岐しています。上記の動画では枝の分かれた凸凹した雷を表示していますが、パラメータの与え方によっては枝分かれのないまっすぐな光線に変化したりします。Unreal Engine ではこういったシステムをビーム あるいは ビームパーティクル (Beam particle) と呼び、パーティクルシステムの亜種として扱っているそうです。

実際に今回作ったビームシステムは、前回話したパーティクルシステムに非常に似ています。光線を生成して、毎フレーム少しずつ状態を更新して、一定時間が経つと消滅させる流れは同じです。光線に与える初期状態や、光線がどう変化するのかといった各状態をパラメータとして変更できるようにしています。例えば、枝を何本分岐させるか、何段階まで再帰的に枝を分岐させるか、などブランチング (Branching) に関するパラメータを用意しています。このパラメータはパーティクルシステムにはない、ビームシステム特有のものです。

気になる描画部分については、バッチレンダリングを利用して、スプライトを使った簡単なラインレンダリングを行っています。いずれはポリラインで実装してみたいところです。

その他に、UI としてスライダーを実装しました。上記の動画で作ってみたスライダーの動きが確認できます。スライダーのおかげでありとあらゆるパラメータ操作が大変簡単になりました。これからはパーティクルの個数や初速度を変更するたびにビルドをしなくてすみます。こんなに重宝するとわかっていたら、もう少し早く作っていました。

今週の予定

  • スプライトフォント
  • キーボードのイベントを取得する

文字を表示する仕組みがなくてデバッグが大変でした。

(来週は無事に "今週の進み具合 #14" が更新されるのでしょうか。お楽しみに。)

Leave a Reply