チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ
第96回:リモートワーク向け?プリファレンスの場所を環境変数で指定
- Maya
- ゲーム
- コラム
- スクリプト・API
- チュートリアル
- 中級者
- 初心者・学生
Mayaのプリファレンスの場所は、MAYA_APP_DIRという環境変数で変えることができます。
いつもだとマイドキュメント内の「maya/20##」フォルダがある場所がプリファレンスの場所ですが、実は変更できるのです。
「ファイル パス変数」のMAYA_APP_DIRにちょっと説明あり
https://help.autodesk.com/view/MAYAUL/2023/JPN/?guid=GUID-228CCA33-4AFE-4380-8C3D-18D23F7EAC72
「プリファレンス フォルダの場所をカスタマイズする」
https://help.autodesk.com/view/MAYAUL/2023/JPN/?guid=GUID-045ADC80-E38A-4F2C-A428-8CE19D51D3A8
これは昔から設定できますが、リモートワークの昨今、特に便利に使えます。
例えば会社と自宅で仕事をしているとします。
出社した時は、会社のPCで作業します。
自宅で作業する時は、概ね「リモートアクセスして、会社のPCを操作する」「自宅のPCで作業する」のいずれかになります。
リモートアクセスしている時は作業環境に変化はないですが、
自宅のPCで作業する場合、Mayaの環境が会社と自宅で異なるため、オプション設定なども変わってしまうと困ります。
マイドキュメント内の「maya/20##」フォルダをコピーして同期する方法もありますが、コピーし忘れたら同期できないですし、コピーを毎回行うのも面倒です。
そこでMAYA_APP_DIRが登場します。
MAYA_APP_DIRで指定したフォルダに「maya/20##」フォルダが作られ、プリファレンスがその場所を使うようになります。
単純な話で、MAYA_APP_DIRに「会社と自宅のPCのどちらからもアクセス可能なファイルサーバのフォルダ」を指定すれば、どちらでも同じプリファレンスを使えるようになります!
プリファレンスのフォルダがどこになっているかは、aboutコマンドで次のように実行すると確認できます。
もしMAYA_APP_DIRを「//server/abc/customPreferenceFolder」と設定していれば、Maya 2023では次のように出力されます。
about -preferences
// Result: //server/abc/customPreferenceFolder/2023
でも速度に注意…
Mayaは結構頻繁にプリファレンスにアクセスしてます。ネットワーク上のフォルダにプリファレンスを作成するのに、ネットワークの速度が遅いと、色々とMayaも遅くなります。
ネットワーク速度が良くない時は、次のようなタイミングでMayaが重くなります。
・起動時(プリファレンス読み込み)
・プリファレンスウインドウで設定する時
・プリファレンスを保存する時
・終了時(プリファレンスの保存)
・その他諸々…
もし作業に支障が出るようであれば、やはりローカルのドライブにプリファレンスをコピーする方法が良いですね…。
Perforceなどのバージョン管理システムを使用されているなら、そのバージョン管理下にあるフォルダをMAYA_APP_DIRに指定する方法が考えられます。
例えば次のようにします。
1. 会社PCで「D:\mayaPrefs」というフォルダを作り、環境変数MAYA_APP_DIRに設定します。
2. Maya 2023を起動すると「D:\mayaPrefs\2023」とプリファレンスが作成されます。
3. 「D:\mayaPrefs」をバージョン管理に含め、アップロードしておきます。
4. 自宅PCで、バージョン管理に上がっているプリファレンスをダウンロードします。フォルダが同じでも良いですし、別のフォルダでもいいです。ここでは「D:\projectA\mayaPrefs」に落としてきたとします。
5. 自宅PCの環境変数MAYA_APP_DIRを「D:\projectA\mayaPrefs」にします。起動すると、会社PCのMayaのプリファレンスで起動します。
6. 自宅PCで作業が終わったら、プリファレンスをアップロードしておきます。
7. 会社PCでプリファレンスをダウンロードします。
まあ、ほとんど「コピーして同期」しているので旨味が少ない気もしますが。
でもこのほうがマイドキュメント内にあるmayaフォルダをバージョン管理に入れるよりも管理しやすいですし、何かあれば変更履歴をたどれますし、いいかもしれませんね。
プロジェクトごとに異なるプリファレンスを用意したいなら、プロジェクトごとに起動用のバッチファイルを用意します。
バッチファイルでMAYA_APP_DIRを設定すれば、プロジェクトごとにプリファレンスを切り替えられます。
ProjectA 用のバッチファイル(projectA.bat)
set MAYA_APP_DIR=D:/projectA/myPrefs
start "" "C:\Program Files\Autodesk\Maya2023\bin\maya.exe"
ProjectB 用のバッチファイル(projectB.bat)
set MAYA_APP_DIR=D:/projectB/myPrefs
start "" "C:\Program Files\Autodesk\Maya2023\bin\maya.exe"
One Driveの問題回避に使う
最近お問い合わせで時々あるのが「PCを変えた時にOne Driveが有効になっていて、プリファレンス設定を保存できないというエラーが出てしまう」というものです。
WindowsのOne Driveの機能は、マイドキュメント内を別のフォルダに移すため、Mayaのプリファレンスフォルダ(「マイドキュメント\maya」以下)が「C:/Users/<username>/OneDrive - ○○/Documents/maya/2023」などに移されてしまいます。
必ず問題になる、というわけではないのですが、フォルダへのパス名に日本語が含まれるようになるので、ちょっと怪しいですよね。
また、Mayaが使っている時にOne Driveもファイルにアクセスして競合が起きるかもしれませんし。
ユーザフォーラムでは次のように回答されています。
https://forums.autodesk.com/t5/maya-ri-ben-yu/xgenuindouga-chute-lainai/td-p/9670490
有効な方法は二つあり、「One Driveのバックアップを無効にする」か「MAYA_APP_DIRで場所を指定する」方法です。
MAYA_APP_DIRを使うなら、別の場所を指定してもいいですし、本来のマイドキュメントの場所を指定しても良いです。
通常のドキュメントフォルダに戻す場合、次のように環境変数を設定します。(パスは"で区切らず、空白も明けないようにします。)
MAYA_APP_DIR=C:\Users\%username%\Documents\maya
Mayaを起動してaboutコマンドを実行すると、変更できたか確認できます。
about -preferences;
// Result: C:/Users/<username>/Documents/maya/2023 //
まとめ
ソースコードを見ると、MAYA_APP_DIRは27年前あたりに入った環境変数のようでして、この時代でまた新たな使い方が生まれるとは。(Mayaのリリース日は1998年2月1日で24年前のようですが…オホホ)
在宅勤務から、出社するスタイルに戻りつつあっても、多くの職場ではハイブリッドな選択肢があるようです。
完全に出社ではなく、週に1、2度は在宅勤務というスタイルが定着するなら、プリファレンス周りの管理を見直してみるといいですよ。