ギズモの表示/非表示/独自拡張
Gizmosメニューでの表示/非表示
現状
- Unityのシーン上には様々なゲームオブジェクトが配置されます。そしてUnityエディタのシーンビュー上には、情報を補足するように様々なギズモ(Gizmo)も表示されています。で、時にはこんな表示になったりするわけです。うわああ
- 普段なら「情報提供ありがとう」なんですが、上記のように「情報過多、操作の邪魔」となる場合も少なくない。今回はVery Animationでアニメーションを作ろうとしてたので余計なギズモが多過ぎる。ということで不必要なギズモを非表示にします。
- 表示/非表示の制御はGizmosメニューから行います。大量のギズモの一覧から不必要なもののチェックを外す。カメラやライトの3Dアイコンはバーの値を最小にすることで非表示になります。
3Dアイコンの非表示後
- カメラやライトの3Dアイコンが非表示になってこんな感じに。URP版のSSU(サニーサイドアップ)ユニティちゃんの顔も見えるように。でもまだまだユニティちゃんのゲームオブジェクト周辺に、ジャラジャラとアクセサリーのような余計なものが表示されていますね。
- 3Dアイコンは非表示になりましたが、ユニティちゃんまわりの表示はごちゃごちゃのままなので、余計なものを非表示にしたい。
- この「余計なもの」の正体はユニティちゃんの揺れもののボーンやコライダの情報で、OnDrawGizmosメソッドやOnDrawGizmosSelectedメソッドをエディタから呼び出してもらってスクリプトでわざわざ描画してくれている、本来は「情報提供ありがとう」なものです。
- 今回やりたいアニメーション制作時にはこれらの情報は必要ないので非表示にします。Gizmosメニューで対象スクリプトのチェックを外します。
スクリプトによるギズモ描画の非表示後
- するとこのように、スッキリ!
これでアニメーションの製作作業が捗る、はず。
コンポーネントを閉じることでの非表示
Gizmosメニュー以外でも表示/非表示が可能
- スクリプトによるギズモ描画はGizmosメニュー以外でも制御できます。方法は簡単で、描画しているスクリプトのコンポーネントを折りたたむだけです。わかってしまえば簡単なんですが、ギズモを非表示にするための操作としては、少しマニアックな気もします。
- 今回の場合、対象となるのは以下のスクリプトコンポーネント。
- UnityChanSSUゲームオブジェクト(プレハブ)に付いているSpringManager
- 子のCOL_UpperChestゲームオブジェクトに付いているSpringCapsuleCollider
- 子のCOL_Head_HairFゲームオブジェクトに付いているSpringSphereCollider
- この方法は、同じスクリプトコンポーネントが複数のオブジェクトに付いていて、一部の描画だけを外したい場合に有効だと思います。今回の場合は一括で外したかったのでGizmosメニューから行いました。
ギズモの独自拡張(追加)
ギズモはオリジナルのものを追加可能
- 前述したユニティちゃんに付加されたギズモのように、スクリプトからギズモの描画を追加することができます。Unityエディタ上で動作するツール系アセットも、必要に応じて独自のギズモを追加しています。ちょっとしたエディタ拡張やツール系のアセットを自作したい場合なんかは、特に重宝しそうです。
- ギズモの描画を追加するのは簡単です。
(いつもの)MonoBehaviour継承のスクリプトで - 常に描画したい場合は、OnDrawGizmosメソッドを実装
- 対象のゲームオブジェクトが選択された場合だけ描画したい場合は、OnDrawGizmosSelectedメソッドを実装
- UNITY_EDITORコンパイラディレクティブ使いましょう
- 以下のサイトで、独自ギズモ追加のサンプルが紹介されています。
参考)
【Unity】OnDrawGizmos で表示できるギズモを7種類追加できる「GizmoExtensions」紹介 | コガネブログ
ということで、スッキリしたシーンビューでVery Animationを使ってアニメーション制作したいと思います。
0 件のコメント:
コメントを投稿