チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ
第92回:Maya 2023 で気づいてほしいちょっとした変更-保存されたプリファレンスのカテゴリ分け

2022.04.08
  • Maya
  • ゲーム
  • コラム
  • チュートリアル
  • 上級者
  • 中級者
第92回:Maya2023で気づいてほしいちょっとした変更-保存されたプリファレンスのカテゴリ分け

毎年春になるとこの季節がやってきます。明確に決まっているわけではない気もするのですが、概ねこの時期ですね。そう、道明寺がおいしくなる、オートデスクの製品のメジャーバージョンアップの季節です。
Mayaも、留年せずに…、無事に2023をリリースしました。

ドキュメントで新規機能やリリースノートで修正の確認ができますが、実はここに記載されていない変更もあったりします。かねてから待望されていたのに、なぜか新機能に書かれていない!といういじらしいネタがありますので、ここでご紹介したいと思います。

保存されたプリファレンスが、カテゴリ分けされました!

プリファレンス設定や、移動ツールなどのオプション設定は、大抵optionVarコマンドで名前付きの値として保存されます。
保存先はマイドキュメント内の次の場所です。

英語版:maya\<バージョン>\prefs\userPrefs.mel
日本語版:maya\<バージョン>\ja_JP\prefs\userPrefs.mel

開いてみると、2022まではこんな感じになっています。

第92回:Maya2023で気づいてほしいちょっとした変更-保存されたプリファレンスのカテゴリ分け

optionVarコマンドの-ivは int valueということで、整数値に名前を付けて記録しています。10個設定するごとにoptionVarを追加で実行するようになっています。
Maya起動時にこのuserPrefs.melが実行され、optionVarコマンドも実行されます。するとメモリ内に値と名前が設定されます。
各ツールでは「optionVar -q "LastStateShelfVisibility"」と実行して値を取り出します。

で、2023ではこうなりました。

第92回:Maya2023で気づいてほしいちょっとした変更-保存されたプリファレンスのカテゴリ分け

optionVar -catというので、カテゴリの情報が追加されています。

さらにこれまでuserPrefs.mel内に含まれていたややこしい情報は、別のファイルに分けられました。
・パネル設定はuserPrefs_panelConfig.mel
・最近使用したファイルはuserPrefs_recents.mel

第92回:Maya2023で気づいてほしいちょっとした変更-保存されたプリファレンスのカテゴリ分け

カテゴリ分けをどう活用すればいい?

カテゴリ分けされると何が良いかというと、それはもう、いろいろあるわけです。
まず日本のユーザからこんなご相談がありました。

「何かMayaで動きがおかしくなった時にプリファレンス(userPrefs.mel)を削除すれば直ることが多いが、設定がリセットされてしまうのは困る」
「動きがおかしい時に、インハウスやダウンロードしてきたツールの設定のみ削除してテストしたい」

以前のようにカテゴリ分けがされていない場合、名前でツールを想像することになります。名前にルールがあれば見つけやすいですが、ルールがなければとても見つけにくく、また不確かです。
これからはプリファレンスを削除しても、必要なカテゴリの設定だけコピーして持ってくれば、安全にある程度設定を戻すことができます!
パネル設定や最近使用したファイルはそもそもMELファイルが分けてありますから、その辺は削除されずに丸ごと残せます。

カテゴリ分けがされていないものは出所不明、インハウスのツールは今後カテゴリ設定することで、トラブルシューティングがしやすくなります。
2023でツールを作るなら、ぜひオプション設定の保存でカテゴリも設定してみてください。

カテゴリを設定してオプションを保存する

optionVarコマンドのドキュメントを見てみると、次のようにいろいろとフラグが追加されていることがわかります。(ちなみにコマンドのドキュメントも更新され、どのフラグがどのバージョンから入ったかわかるようになりました!)

第92回:Maya2023で気づいてほしいちょっとした変更-保存されたプリファレンスのカテゴリ分け

実行方法はごく簡単です。-catにカテゴリ名を付けるだけです。
例えば、MyToolOptionsというカテゴリとして、testValueという名前で整数値1を保存する場合、次のようになります。

optionVar -cat "MyToolOptions" -iv "testValue" 1;

userPrefs.melを開くとこのようになります。

第92回:Maya2023で気づいてほしいちょっとした変更-保存されたプリファレンスのカテゴリ分け

素朴な疑問として、カテゴリが分かれていれば同名のoptionVarは使えるのかどうか気になります。
optionVarの基本的な動作はこれまでと同じですので、値の名前は重複しないようにします。
重複した場合、あとで設定した方のカテゴリが残ります。

例えば次のように実行すると、あとの値名で上書きされ、カテゴリも変わります。

optionVar -cat "MyToolOptions" -iv "testValue" 1;
optionVar -cat "MyToolOptions2" -iv "testValue" 2; // こちらが残ります。
第92回:Maya2023で気づいてほしいちょっとした変更-保存されたプリファレンスのカテゴリ分け

まとめ

ということで、今回は只々「2023のoptionVarにも注目して~!」という話でした。
これは日本のユーザからの声を反映して、長い間準備を続けてついに2023に入れたものですので、ぜひご活用ください。
他にも気づきにくいところでいろいろと更新や追加がありますので、コマンドやAPIドキュメントを見ていただくと楽しいですよ。

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。