募集要項

  • ■ボイスの募集は終了しました。

    非常に沢山のご応募ありがとうございました!

     結果はこちら
2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

« 【Unity Action】剣軌跡+歪みシェーダー | トップページ | 【Unity Tips】続!エフェクトのドローコール考察的な何か。 »

2013年4月24日 (水)

【Unity Tips】エフェクトのドローコール考察的な何か。

またちょっと脱線ネタです。

Unityのエフェクトと言えば、一般的?には
Shuriken(パーティクルシステム)かと思います。

簡単にエフェクトを作れるのですがこれ、
油断すると負荷がかなり増えます。

いくつか対処法を検討してみます。

■粒や火花等をを多く出したい
  真面目に数を出すと処理がヤバイ事になりますが、
  これは疑似的な対処を比較的し易く、
  1:複数の短冊状のメッシュをまとめて配置しておき、
    UVアニメーションでたくさん同時に動いてるように見せる。

     ※確か以前のCGワールドのモンハンの記事で詳しく書いてあった気がします。
  2:複数の粒を1つのテクスチャにまとめて動かす。
  とかでしょうか。

■シェーダーが重い
  軽いシェーダーを選びましょう(笑)
  また、描画範囲は極力抑えましょう。

とかありがちな所は流して、
今回ちょっと困った(ている)点が以下。

■ドローコールを抑えたい
  主な原因としては、パーツ毎に別のマテリアルを使用している為です。

  DCCツールでエフェクトを作る場合であれば、
  複数のテクスチャ素材を(↓の参考のように)1枚のテクスチャにまとめ、
  それぞれのメッシュに対してUVを指定すれば、
  1つのマテリアルで多くのテクスチャ画像を使う事ができ、
  ドローコールを抑えることができます。(NGUIのアトラスみたいな感じ)
  参考:Xffectのテクスチャ
  130424

  また、ビルボード処理のスクリプトを使えば、
  パーティクルと同様の見栄えにできます。
  が、場合によってはちょっと面倒です。

  で、Shurikenのビルボードを、
  生成時にUV指定できれば
  ドローコールを抑えつつsyuriken使えるかなーと思ったのですが、
  ビルボードのUV範囲の指定のやり方がわかりませんでした…。
  UVアニメはできるのに何故…っ!
  ※メッシュモードであれば
   ParticleSystemRenderer.mesh.uv;
   で、uvを変更できます。
   余談ですが自前でuv4頂点のPlaneとか用意しておくと汎用性高いかも。

  一応、マテリアルであれば、
  ParticleSystemRenderer.Material.SetTextureScale;
  ParticleSystemRenderer.Material.SetTextureOffset;

  あたりを使えばマテリアルのタイルの設定はできるのですが、
  マテリアルの設定を変えてしまうと、同じマテリアルを使っている素材が
  全て影響を受けてしまうため、これは今回の目的では使えません。
  ※Instanceとして扱えば別々に制御できますが、
   その場合ドローコールが増える為意味がありません(´ヘ`;)
 

  となると…現状だと外部ツールでエフェクト作るのが処理的には確実…?
  いや、、何かあるはず…!
  何かオススメのやり方がある方、ご教授頂けると幸いです (。・x・)ゝ

  そういえばそのうちBISHAMONもちゃんと触ってみたい(´▽`*)

  といった感じで詰まったのでサンデーとマガジン立ち読みしてきます!ヽ(´ー`)ノ

« 【Unity Action】剣軌跡+歪みシェーダー | トップページ | 【Unity Tips】続!エフェクトのドローコール考察的な何か。 »

Unity Tips」カテゴリの記事

コメント

>ビルボードのUV範囲の指定のやり方

UVアニメーションと同じ要領でUVを指定しておきつつ
アニメーションはさせないという方法はどうでしょうか。

具体的にはParticle SystemのTexture Sheet Animationモジュール内
Frame over TimeのタイプをConstantにし、その値とTilesの値をいじって
希望する表示結果になるよう調整します。

>Particle SystemのTexture Sheet Animationモジュール

情報ありがとうございます!

軽く検討してましたが、自由度低そうなのでスルーしてました。。。

よく考えたら確かにこのやり方でも良さそうですね。
テクスチャの配置の際に、
きりのいい位置にテクスチャを割り切れるサイズで
配置してないと厳しそうですが、
その点に注意すれば十分実用できそうな気がします。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1500357/51358613

この記事へのトラックバック一覧です: 【Unity Tips】エフェクトのドローコール考察的な何か。:

« 【Unity Action】剣軌跡+歪みシェーダー | トップページ | 【Unity Tips】続!エフェクトのドローコール考察的な何か。 »

Twitter等

  • にほんブログ村 ゲームブログ ゲーム制作へ

メールフォーム

  • 直接コンタクト取りたい方はこちらからどうぞ

サイト内検索
ココログ最強検索 by 暴想