募集要項

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

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

     結果はこちら
2017年7月
            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 Action】 今週末前後に・・・ »

2015年7月 7日 (火)

【Unity Action】 ステージ配置スクリプト軽量化

全く需要無さそうな気もしますが、
そんな事言ってるとまた更新が滞る気がしたので投下( ;´・ω・`)

早速、前回までに作ったスクリプトを実用してマップを作ってるんですが、
1000パーツ以上をスクリプトで一気に弄る場合等で、
これがまた重い場合が結構ありまして・・・(Maya2016 SP1)
できる限りスクリプトの高速化を図ってみたりしてました。

で、結果、効果の大きかったのが2点。
--------------------------------------------------------------------------------

原因① 動的なParentが重い
 
  一番効果が大きいのはここでした。
  どうやら、MELでも階層を頻繁に変更すると非常に重いようです。
 
  具体的に抵触した所は以下。
 
  ・インスタンス生成時に、オブジェクト生成毎に専用のグループへ毎回移動させていた。

  ・複数選択したオブジェクトをまとめてで回転、スケールさせる際に、
   一度グループ化して、まとめて動かした後に元の親に戻していた。
 
  それぞれ、Parent回数を減らす対策をしたり、
  そもそも使わないような処理にしたりする事で対応。
  実行速度が数倍になりました・・・(;´Д`)ぇー。
 
  気軽で便利なのでParentは使いたくなるのですが、
  大量に実行される場合は重い模様。

原因② setAttrが重い

    ①の次に重かったのがこちら。
    位置や回転、スケールの反映処理です。
    まさに塵も積れば・・・といった感じでしょうか。

    とはいえ、これは無くす訳にもいかないのであくまで最小限にとどめる様に。

    例えば、真面目に
     setAttr ($name+".rotate") -type "float3" $RotX $RotY $RotZ;
 
    と指定している場合、
    全てのアトリビュートに対して指定するのではなく、
    0°のままのアトリビュートであれば、再指定せず処理を飛ばしたりしました。
    スケールが特に顕著で、XYZ、それぞれ1倍だったら変える必要ありません。
 
    値が変わった所だけ再指定するようにしただけで、結構速度が変わりました。
    物量怖い。
 
--------------------------------------------------------------------------------

また、今回は関係ないですが、
キーベイクしたりする時などは、表示してるパネルを、
モデルパネルではなく、アウトライナ等、3Dが表示されない画面に
切り替える処理をはさむと、相当速度が変わったりもします。

この辺、スクリプト、プログラム云々とも違うコツ?的な部分なので、
悩ましいですね。他で役に立つ訳でもないですし・・・(;´Д`)


ちなみに、
分岐が多目の項目でifを使ってたらswitchに変えたり、
配列の数が決まっている場合は、配列数を指定したりする等、
地味ーな所も色々と弄ってみたりもしましたが、
流石に大して効果はありませんでした。

実際の所、相当大量に実行しない限り、
気にしなくてもどうにかなるレベルですので、
こんな事もあるんだー程度にどうぞ。

« 【Unity Action】ステージ配置スクリプト パワーアップ | トップページ | 【Unity Action】 今週末前後に・・・ »

Unityアクションゲーム製作」カテゴリの記事

コメント

久しぶりにゲーム画面も見てみたい 笑

>久しぶりにゲーム画面も見てみたい 笑

遅くとも再来週中くらいには何かしら出そうかなーと思ってます。
のんびりお待ちください(´▽`;)

久しぶりのゲーム画面楽しみにしてます!

おつかれさまです!
そういえばアプリが完成したらおいくらくらいで配信予定ですか?

>アプリが完成したらおいくらくらいで配信予定ですか?

まだ確定、とまでは言えませんが、
勉強>金策の優先度で作り始めた物なので、
恐らく無料か120円あたりで配信すると思います。

何かしらのアプリ内課金は入れるかもですが、
課金無しでクリアできる難易度に抑える想定です。

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: 【Unity Action】 ステージ配置スクリプト軽量化:

« 【Unity Action】ステージ配置スクリプト パワーアップ | トップページ | 【Unity Action】 今週末前後に・・・ »

Twitter等

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

メールフォーム

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

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