6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

mayaの環境を構築していく 2日目

Last updated at Posted at 2022-02-06

引き続きmayaの環境を構築していきます。

そもそも何でmayaを自宅環境に復旧させたかというと、
勉強がてらリグ組んだり、ツール(python)を作ったりしたいなぁと思ったからなんです。

さてbatの作成で大好きな英語UIに出来たわけですが、最近のmayaで必ずやることが幾つかあります。

追記
認識に間違いがあったので、一部やり直しました。
mayaの環境を構築していく 2日目 やりなおし https://qiita.com/9boz/items/391e6d6dece44f74aa1e

プリファレンスの設定

まずはevaluationモードですな。
デフォルトはこんな感じ。申し訳ないけどもこの設定で安定した事はないので
image.png
こうしておきます。
image.png
特に GPU Overrideは必ずOFFにしてます。
デフォルトパラレルにしておくと、パラレルに対応できてないデータを開いた際にタイムスライダースクラブした瞬間落ちたりするので、とりあえずDG。
GPUオーバーライドはパラレル使用する際、場合によっては落ちたり、不思議なデフォーム結果を招く原因になるのでOFF。
※詳しい理由は佐々木さんのmayaの仕組みセミナーの内容見て勉強すれば良いと思います。

あとは個人的な好みでundoをデフォルトの無限ではなく50回に。
image.png

※今はデフォルトOFFですが、登場当時であればこれもOFFってたかな
image.png

pythonパスの設定

先述の通り、pythonでのツール開発とかもしたいのでpythonパスを追加せねばならない。
デフォルトでこれらの場所にpathは通ってるので、ここで開発すればいいのですが

C:/Users/9boz/Documents/maya/2020/prefs/scripts
C:/Users/9boz/Documents/maya/2020/scripts
C:/Users/9boz/Documents/maya/scripts

なんか気分が乗らないので、いつも別途用意するのです。
環境変数にpythonPathを足さねばならないのですが、
どうせ後から あ、やっぱ置き場所変えよ! とか 名前変えよ! とか言い出すので
その辺変えても割と簡単に対応できるようにしてしまおうかと思います。

batの改修

bat実行時に 任意のpathを環境変数に追加して実行 するようにしてしまいます。

フォルダを掘って・・・・
そこにbatファイルとpythonフォルダを作成して・・・
image.png
batファイルの中身をこんな感じに変更

SET MAYA_UI_LANGUAGE=en
SET PYTHONPATH=%PYTHONPATH%;D:\maya2020Env\python;
"D:\Program Files\Autodesk\Maya2020\bin\maya.exe"

2行目でpythonPathにこのpathを追加することで、maya実行時にpathが通ってる状態になる。

実際あった失敗例:

SET MAYA_UI_LANGUAGE=en
SET PYTHONPATH=%PYTHONPATH%;"D:\maya2020Env\python";
"D:\Program Files\Autodesk\Maya2020\bin\maya.exe"

追加する pathは "" で囲むと読んでくれなくなる。

ただこれだと、あ、置き場所変えたい となった時に書き換えないといかんので

SET MAYA_UI_LANGUAGE=en
SET PYTHONPATH=%PYTHONPATH%;%~DP0\python;
"D:\Program Files\Autodesk\Maya2020\bin\maya.exe"

こうしておこうかと思う。
%~DP0 というのが実行しているファイル自身のpathを意味しているので、
batファイルが置いてある場所にあるpythonフォルダにpathを通すようになる。

pathの確認

実際path通ってるのかどうかを確認したいので batファイルを使ってmayaを起動。
スクリプトエディター(python)にて下記を実行

import sys
for i in sys.path:
    print i

スクリプトエディターにpathがいっぱい表示されるので確認すると・・・・
image.png
ok 通ってる。

※path通せるからといって何も考えずに追加しまくると、実は数に上限があるので突然誤作動を起こします。
※なので、pythonのパスを追加で通す時はなるべく一か所にまとめてしまうようにしてます。

追記(2022/02/26):
正確に言うと数に上限があるのではなく、環境変数の総文字数に上限がありますね。

ついでにuserSetup.pyを足す

めでたくpythonPathを追加できたので、ついでに userSetup.pyも作ってしまおうかと思います。
userSetup.pyってなんじゃい?って場合は調べると出てきますね。

後々拡張するつもりではありますが、mayaが強制終了したりとかで↑で設定したプリファレンスが飛ぶとイラっとするので
userSetup.pyで設定してしまおうかと。

とりあえずファイルを作成
image.png

中身はこんな感じに

import maya.cmds as cmds
import maya.utils
import sys
sys.dont_write_bytecode = True

def setPref():
    cmds.evaluationManager(mode = "off")

    if "deformer" in cmds.evaluator(q =True,name =True):
        cmds.evaluator(name = "deformer",enable=False)
        cmds.optionVar(intValue = ["gpuOverride",0])

    cmds.savePrefs(general =True)

maya.utils.executeDeferred(setPref)

起動時に必ず DGモードに設定 GPUOverrideをOFF が実行されるようになりました。
※プリファレンスを設定後保存してやらないと、なんかうまく反映されなかった気がする。
※GPUOverride optionVarなんすか・・・・
追記:cmds.evaluator( name = "deformer",enable=False) でGPUOverride OFFにできる。

もうmayaの環境構築終わったも同然なので、続きは次回。

参考:
https://www.borndigital.co.jp/seminar/14517.html
https://cgpipeliner.info/2021/09/13/environmentalvariables/
http://melpystudio.blog82.fc2.com/blog-entry-57.html

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?