2022-01-18

【ナイアガラ超基礎 #8】レンダラ基礎+リボンレンダラーの使い方【Unreal Engine】

初心者向けレンダラ講座。簡単なレンダラの説明とリボンレンダラの使い方。

Article Image

はじめに

今回はレンダラの基本概念を覚えてリボンレンダラー(Ribbon Renderer)を使ってみる。

引き続き初心者向けということで上級者向けの細かい内容は解説しない。

先にSprite Renderer(スプライトレンダラ)

まずはEmptyで作成した時ですら自動で追加されているSprite Rendererをざっくり見て概念だけ把握しておく。

もう知っている人は読み飛ばしてOK。

このSprite Rendererというのが単純なパーティクルを描画するモジュール。

レンダラってなんだろう?

レンダラとその他

いまいちわからない人向けに解説すると、上の画像1の部分で「レール」を作ってやって2のレンダラでその「レールに何を走らせるか」を決定している。

厳密に言うとちょっと違うが、レンダラが理解しにくい場合はこのように覚えておけば良いだろう。

Spriteは英語では妖精という意味だが、作ったレールに従って「設定したマテリアルの球」を飛ばすのがSprite Rendererだと理解しておけばよい。

設定

マテリアル設定

スプライトレンダラで上の画像にあるMaterialを変えると飛ばすパーティクルが変化する

例えばデフォルトのマテリアル(画像左)を別のマテリアルに変えてみると(画像右)

マテリアルによるパーティクルの変化

※左DefaultSpriteMaterial 右:DefaultParticleに設定

このようにパーティクルの形状が変化する。

球の大きさや寿命を変えたい

この球の大きさや寿命といったパラメタは実はSprite Rendererモジュールの中では設定できない。

ここがちょっと意外かもしれないので解説しておく。

Initialize Particle

レンダラより上にある「パーティクルのスポーン」という箱の中にInitialize Particleというものを使って各パーティクルの大きさなどを変更する必要がある。

Initialize Particleの設定

こちらもあまり詳しくやっているとわけがわからなくなるので、よく設定する寿命と大きさの項目だけ見ておけばよいかと思う。

基本はこれだけ

レンダラの設定はここを変えることが殆どで、他はあまりいじらないことが多い。

問題なければデフォルトで良いので基本はこれだけ覚えておけば十分だ。

ただし、レンダラモジュールがなにもないと何も描画されないので注意だ。

さて、スプライトレンダラはもう見飽きてると思うが次のようなレンダリングとなる。

Sprite例

Ribbon Renderer(リボンレンダラ)

では、デフォルトで入っているSprite RendererRibbon Rendererに変更してみよう。

レンダラには他の種類もあるが今日はリボンレンダラに絞って解説する。

まずは「レンダリング」の中にRibbon Rendererを追加しよう。

Ribbon Rendererモジュール

Sprite Rendererはチェックを外すか削除する。

リボンレンダラはデフォルトでマテリアルが「なし」になっているので適当になにか設定しよう。

Ribbon RendererのMaterial

エンジンコンテンツが表示される設定になっていればDefaultRibbonMaterialというのが有るのでおすすめだが、正直なんでもいいのでここは割愛する。

何も表示されない状態を解決する

マテリアルを設定後Spawn Rateなどでパーティクルをスポーンしても何も表示されないと思う。

リボンレンダラはパーティクルが1点に集中していると何も描画されない。

ひとまずテストとして次に設定する

  • Spawn Rate5に設定
  • パーティクルのスポーン > Add Velocityを追加でZを500に設定
  • パーティクル更新にSolve Forces And Velocityを追加(Velocityを使う場合必須)

テスト

これで再生すると真上に線が飛んでいくのが分かると思う。

上に線が飛ぶ

Spawn Rate5という非常に低い数字なのに点1コ1コが線で結ばれて「リボン」になっている。

これがリボンレンダラだ。

線を太く+寿命を設定

ここも重要で、リボンレンダラの線の太さや寿命を設定する場合はパーティクルのスポーンにInitialize Ribbonを追加してそちらで設定する。

上で説明しているがRibbon Rendererの中に大きさや寿命は設定できないので注意。

Initialize Ribbon

Initialize Particleは削除してもよい。

リボンの設定

Lifetimeに寿命、Colorで色、 Ribbon Widthに太さがそれぞれ設定できる。

再生してみるとなんか変?

さっそく再生してみると

確かに色や太さが変わっているがなんかピクピクしている。

これはSpawn Rateが低いのでパーティクルの発生がガタガタしているのが原因。

Spawn Rate1000ぐらいにすればガタガタは無くなる。

応用:リボンをひらひらさせる

ここからは応用編。

まだダイナミックインプットを解説した記事を出していないので分かる人だけ試してみてほしい。

Add Velocityを次のように変更してみる。

Add Velocity

これは何をやっているのかを解説すると

  1. VelocityMake Vectorで3つの別々のFloatに分割
  2. Yの値にSineをつかってを左右に揺れるように
  3. ScaleZの値を好みで調整

たったこれだけだ。

さて、結果は次のようになる。

ひらひらひら

スプライトとリボンの違いをひと目で確認

最後にリボンとスプライト(どちらも同じ設定)を同時に描画して何が起こっているかを確認してみる。

スプライト+リボン

見て分かる通りスプライトの点と点を線で結んだものが「リボンレンダラ」だということがひと目で分かると思う。

また単純な直線ではなく自動で柔らかいカーブを描いているのがこのレンダラーの良さだ。

デフォルトでサクッと仕上げるだけでもかなり自然なものが作れる。

以上

リボンレンダラも覚えてしまえば基本の部分は非常に簡単である。

またリボンはゲーム上に配置してゲーム内で動かすと動いた分だけリボンも伸びてくれるのでそれだけで楽しかったりする。

色々工夫して作ってみてもらえたらと思う。



この記事をシェア


謎の技術研究部 (謎技研)