【非公式】ControllerEditorの使い方-日本語でできるだけわかりやすく-
はじめに
どうも、夜空に揺蕩う怪しい海洋生物こと夜空くらげです、ピースピース
VRChatでギミックを組む時、いちいち推移を設定するの、めんどくさいですよね?めんどくさいですよね!そんな悩みを解決してくれるControllerEditor!
英語はDeepl頼りです、そして機能は自分が分かる範囲で書いています。ご了承ください🙏
記事にあるリンク付きの画像は本家Docsからの引用です。
Docs : https://github.com/Dreadrith/DreadScripts/tree/main/ControllerEditor
売っている所 : https://dreadrith.gumroad.com/l/CEditor
Docsを参考に順々に解説していきます
・マルチトランジション|State MultiTransitioning
アニメーターステートをダブルクリックすると、マルチトランジションモードになります。その状態で他のステートにクリックすると複数のトランジションを引くことができます。キャンセルは何もない場所をクリック。
また、何もない場所をダブルクリックでステートの作成もできます。
※アドオンを導入した直後だとダブルクリックが無効になっています!(多分)。上のツールバーのDreadTools/Script Settings/Controller Editorから、「Alternate Double Click」を有効化してください!※
・マルチトランジション(一括)|Make Multiple Transitions
推移元を選択した状態で右クリック、MakeMultipleTransitionsをクリックした後に範囲選択などで複数の推移先を選択後、もうMakeMultipleTransitionsをクリック。
・トランジション反転|Reverse Transitions
トランジションを選択後、右クリック、ReverseTransitionsでそのトランジションを複製し反転。(複製元の推移条件を継承)
・¹トランジション複製、²まとめてペースト |Replicate/Redirect Transitions
¹複製したいトランジションを選択後、右クリック→Redirect Transitionsで推移先のステートを選択。右クリック→Redirect Transitionsで複製。
複製したいトランジションを選択後、右クリック→Replicate Transitionsで推移先のステートを選択。右クリック→Replicate Transitionsでまとめてペースト。
・AnyState から/へ |From/To Any Transition
選択中のトランジションの条件を維持したまま推移元をAnyStateに変更。またはAnyStateからトランジションの推移先へ全ステートから推移を追加。
・トランジションの 入/出/共有 一括選択|Select In / Out / Shared Transitions
ステートを選択後、右クリック→Select in Transitionsでそのステートに推移するトランジションを一括で選択。
ステートを選択後、右クリック→Select out Transitionsでそのステートから推移するトランジションを一括で選択。
ステートを複数選択後、右クリック→Select Shared Transitionsでそのステートがお互いに推移するトランジションを一括で選択。
・ステートマシンのパック/アンパック|Pack/Unpack StateMachines
選択中のステート/ステートマシンをステートマシン/ステートにパック/アンパックします。
・レイヤーのコピー、ペースト、複製|Duplicate or Copy/Paste Layers
選択中のレイヤーをコピー、ペースト、複製します
・推移条件の一括編集|Editing Transition Settings
コントラーエディターウィンドウ(アドオンに付属、以下CEW)から、複数選択中のトランジションの推移条件を一括で編集
・推移条件を一覧表示しながら編集|Editing All Conditions
順番にステートを選択し、赤い丸ポッチを押すと選択した順番で上から並んで一気に表示され編集が可能(この際、先に推移条件を作っておく必要がある)。上下の矢印ボタンを押すことで推移条件(Equal,Lessなど)を一括変更。
・VRCParameterDriverの一括変更|Editing VRC Parameter Drivers
複数のステートのパラドラの内容を一括で変更。
・トランジションの統合・分割
トランジションを統合・分割できる。要するに、それぞれのトランジションにある推移条件を一つに統合するか分割するか。注意点として、統合するとその推移条件が「すべて達成した時」に推移する。分割するとその推移条件が「どれか一つでも達成した時」に推移する。
・設定項目
上のツールバーのDreadTools/Script Settings/Controller Editorには、様々な設定項目があります。その一例をば
└空のステートの初期状態
Defaults/Transitionから空のステートを作ったときの初期状態を指定できます。Stateタブも同様に。Otherはより高度でほぼ使うことは無いのでしょうか(アバター作者以外)
---おばあちゃんが宣伝してもいいって言ってた---
MyTwitter : https://twitter.com/KurageVRC
Booth : https://yozolab.booth.pm/
LinkTree(ボク関係一覧) : https://linktr.ee/yozorakurage
---とっぴくす---
AnimatorController用語とか
・トランジション(Transition) / 推移する線
・ステート(State) / アニメーション入れる箱
・ステートマシン(StateMachine) / めちゃ多いステートをちっちゃく一つに圧縮した箱、ダブルクリックで中身が見れるよ
・AnyState / ここから伸びる推移は条件が達成された瞬間に、他の進行中の推移を無視してどこからともなく推移するよ(例外アリ
・推移条件(Transition Condition) / HasExitTimeやTransitionDuration、「Bool=Trueの時に推移」など。本当は、HasExitTimeやTransitionDuration系は推移「条件」では無いのだがそれっぽい語が見つからず統合して言ってる オイ
・書いてて思った / ここらへんはコレ見て勉強して、これ読めば「すべて」わかるでしょう。
---基礎 : https://tech.pjin.jp/blog/2021/07/31/unity-animator_controller/
---上級(推移の割り込み等) : https://tech.pjin.jp/blog/2021/08/31/unity-transition_3/
ちなみに、推移条件が何も無い状態でHasExitTimeオンリーの推移を引くとHasExitTimeが0でも謎の推移時間が発生するので、条件に何かしら入れておくといい。例えば、何からも参照されない適当なパラメータ(hogehogeとか)を作ってそれがfalseの時に推移するとか、そんな感じで。
---更新履歴---
2023/10/03 公開開始
この記事が気に入ったらサポートをしてみませんか?