このシリーズの記事一覧 (クリックで開閉)
【 ナイアガラ超基礎 】
今回はレンダラの基本概念を覚えてリボンレンダラー(Ribbon Renderer)を使ってみる。
引き続き初心者向けということで上級者向けの細かい内容は解説しない。
まずはEmptyで作成した時ですら自動で追加されているSprite Rendererをざっくり見て概念だけ把握しておく。
もう知っている人は読み飛ばしてOK。
このSprite Rendererというのが単純なパーティクルを描画するモジュール。
いまいちわからない人向けに解説すると、上の画像1の部分で「レール」を作ってやって2のレンダラでその「レールに何を走らせるか」を決定している。
厳密に言うとちょっと違うが、レンダラが理解しにくい場合はこのように覚えておけば良いだろう。
Spriteは英語では妖精という意味だが、作ったレールに従って「設定したマテリアルの球」を飛ばすのがSprite Rendererだと理解しておけばよい。
スプライトレンダラで上の画像にあるMaterialを変えると飛ばすパーティクルが変化する
例えばデフォルトのマテリアル(画像左)を別のマテリアルに変えてみると(画像右)
※左DefaultSpriteMaterial 右:DefaultParticleに設定
このようにパーティクルの形状が変化する。
この球の大きさや寿命といったパラメタは実はSprite Rendererモジュールの中では設定できない。
ここがちょっと意外かもしれないので解説しておく。
レンダラより上にある「パーティクルのスポーン」という箱の中にInitialize Particleというものを使って各パーティクルの大きさなどを変更する必要がある。
こちらもあまり詳しくやっているとわけがわからなくなるので、よく設定する寿命と大きさの項目だけ見ておけばよいかと思う。
レンダラの設定はここを変えることが殆どで、他はあまりいじらないことが多い。
問題なければデフォルトで良いので基本はこれだけ覚えておけば十分だ。
ただし、レンダラモジュールがなにもないと何も描画されないので注意だ。
さて、スプライトレンダラはもう見飽きてると思うが次のようなレンダリングとなる。
では、デフォルトで入っているSprite RendererをRibbon Rendererに変更してみよう。
レンダラには他の種類もあるが今日はリボンレンダラに絞って解説する。
まずは「レンダリング」の中にRibbon Rendererを追加しよう。
※Sprite Rendererはチェックを外すか削除する。
リボンレンダラはデフォルトでマテリアルが「なし」になっているので適当になにか設定しよう。
エンジンコンテンツが表示される設定になっていればDefaultRibbonMaterialというのが有るのでおすすめだが、正直なんでもいいのでここは割愛する。
マテリアルを設定後Spawn Rateなどでパーティクルをスポーンしても何も表示されないと思う。
リボンレンダラはパーティクルが1点に集中していると何も描画されない。
ひとまずテストとして次に設定する
Spawn Rateを5に設定Add Velocityを追加でZを500に設定Solve Forces And Velocityを追加(Velocityを使う場合必須)これで再生すると真上に線が飛んでいくのが分かると思う。
Spawn Rateが5という非常に低い数字なのに点1コ1コが線で結ばれて「リボン」になっている。
これがリボンレンダラだ。
ここも重要で、リボンレンダラの線の太さや寿命を設定する場合はパーティクルのスポーンにInitialize Ribbonを追加してそちらで設定する。
上で説明しているがRibbon Rendererの中に大きさや寿命は設定できないので注意。
※ Initialize Particleは削除してもよい。
Lifetimeに寿命、Colorで色、 Ribbon Widthに太さがそれぞれ設定できる。
さっそく再生してみると
確かに色や太さが変わっているがなんかピクピクしている。
これはSpawn Rateが低いのでパーティクルの発生がガタガタしているのが原因。
Spawn Rateを1000ぐらいにすればガタガタは無くなる。
ここからは応用編。
まだダイナミックインプットを解説した記事を出していないので分かる人だけ試してみてほしい。
Add Velocityを次のように変更してみる。
これは何をやっているのかを解説すると
VelocityをMake Vectorで3つの別々のFloatに分割Sineをつかってを左右に揺れるようにScaleやZの値を好みで調整たったこれだけだ。
さて、結果は次のようになる。
ひらひらひら
最後にリボンとスプライト(どちらも同じ設定)を同時に描画して何が起こっているかを確認してみる。
見て分かる通りスプライトの点と点を線で結んだものが「リボンレンダラ」だということがひと目で分かると思う。
また単純な直線ではなく自動で柔らかいカーブを描いているのがこのレンダラーの良さだ。
デフォルトでサクッと仕上げるだけでもかなり自然なものが作れる。
リボンレンダラも覚えてしまえば基本の部分は非常に簡単である。
またリボンはゲーム上に配置してゲーム内で動かすと動いた分だけリボンも伸びてくれるのでそれだけで楽しかったりする。
色々工夫して作ってみてもらえたらと思う。
