このページでは、Unity で最高のパフォーマンスを得るための情報を紹介しています。アニメーションシステム と ランタイムの最適化 を取り上げています。
ノート: 3D アプリケーションで Unity で最高のパフォーマンスを発揮するキャラクターをモデリングするためのヒントは、最適なパフォーマンスのためのモデル作成 を参照してください。
Animator コンポーネント に Controller が設定されていなければ処理時間は増加しません。
ブレンディングなしで 1 つの アニメーションクリップ を再生すると、Unity は 古いアニメーションシステム を使うよりも遅くなる場合があります。古いシステムは非常に直接的で、カーブをサンプリングし、直接 Transform に書き込みます。Unity の現在のアニメーションシステムには、ブレンディングに使用する一時的なバッファがあり、サンプリングされたカーブやその他のデータの追加コピーを行います。現在のシステムレイアウトはアニメーションブレンディングとより複雑な設定のために最適化されています。
スケールカーブのアニメーションは、移動や回転のアニメーションよりも非常に処理コストがかかります。パフォーマンスを改善する場合は、スケールアニメーションを避けます。
注意 一定のカーブ (アニメーションクリップ の長さにおいて常に同じ値を持つカーブ) には適用されません。一定のカーブは最適化され、通常のカーブに比べて負荷がかかりません。デフォルトのシーンの値と同じ値を持つ一定のカーブは、毎フレームにシーンに書き込まれるわけではないからです。
大抵、Unity はアニメーションを評価し、アニメーションレイヤー と アニメーションステートマシン のオーバーヘッドを最小限に抑えています。他のレイヤーを Animator に追加するコストは同期されているかどうかにかかわらず、レイヤーによって再生されるアニメーションとブレンドツリーによって異なります。レイヤーのウェイトが 0 の場合、Unity はレイヤーの更新をスキップします。
以下は、ヒューマノイドタイプとジェネリックタイプを使用する際に役立つヒントです。
多くの最適化が可能ですが、以下は有用なコツの一部です。
Animator の Culling Mode を Based on Renderers に設定することによってアニメーションを常に最適化し、Skinned Mesh Renderer の Update When Offscreen プロパティを無効にします。これにより、キャラクターが表示されないときに Unity がアニメーションを更新するのを防ぐことができます。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.