チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ
第96回:リモートワーク向け?プリファレンスの場所を環境変数で指定

  • Maya
  • ゲーム
  • コラム
  • スクリプト・API
  • チュートリアル
  • 中級者
  • 初心者・学生
第96回:リモートワーク向け?プリファレンスの場所を環境変数で指定

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度は在宅勤務というスタイルが定着するなら、プリファレンス周りの管理を見直してみるといいですよ。

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