【覚書】maya python入門 其の十一
かなり番外編ですが、11…
とある理由でデータが壊れる事があったので、MAYAで自動バックを作成する
ツールを作りました。
このスクリプトはセーブ実行時にそのデータを指定フォルダに
コピーし、日時で細かく管理、バックアップするツールです。
誤ってセーブしてしまい、一個前に戻りたい…
とかいう時に使用して下さい。
個人的に、あまりナンバリングをシーンにつけるのが
好きじゃないので作成しています。
私はナンバリング派だから。
という人はスルーして下さい。
下記に記載している、コマンドを「AutoBackUP.py」として保存し
C:\Users\ユーザー名\Documents\maya\バージョン\ja_JP\prefs\scripts
英語の場合は
C:\Users\ユーザー名\Documents\maya\バージョン\prefs\scripts
に配置して下さい。
んでMAYA起動。
その後このスクリプトをセーブのショートカットに割り当てます。
手順は以下の通り。
まずはホットキーに新規マッピングします。
マッピングは以下の所から変更できます。
続けて
ホットキーエディタで、コマンドを作成します。
「カテゴリー」から今回は「File」を選択します。
さらに右下の「新規」を押して
下部にあるコマンドに以下のコマンドを入力してください。
import AutoBackUP
AutoBackUP.Auto()
入力が完了したら、ホットキーを割り当てます。
右上にある、「新しいホットキーの割り当て」
にて、ご自身の好きなコマンドを割り当ててください。
私はショートカットのセーブ時に必ず行いたいので
「Ctrl+S」にしてます。
なので、既存のセーブシーンの上書きです。
※普通のセーブシーンがホットキーから外れます。
後は下にある、「割り当て」を実行して下さい。
以上で完了です。
実行してみると、こんな感じになります。
これが実行前。
んで実行すると
こんな感じでプロジェクトフォルダのシーンフォルダ内に「Ver」と命名されたフォルダができます。
この中にバックアップデータができていきます。
画像にも書いてますが、セーブ事にできるので容量には気をつけて下さい。
あと、これは改善予定ではあるんですが、バージョン違いでシーンを開いた時は
このスクリプトがうまく適用できない事があるかと思います。
その時は、一度メニューのセーブを行なってから実行してみてください。
これで大概いけるはずです。
以上です。
以下コード
import maya.cmds as cmds import os.path import shutil import datetime def BackUPP(): day = datetime.datetime.now() Time = day.strftime("%m-%d_%Hh%Mm%Ss") ScenePath = cmds.file( query=True, lastTempFile=True).rpartition( "/" )[0] Scene_Name = cmds.file( query=True, sn=True) Scene_Name_Only = cmds.file( query=True, sn=True , shn=True) Path = ScenePath + "/ver/" if not os.path.exists(Path): os.makedirs(Path) Rename = str(Path)+str(Scene_Name_Only)+"_"+str(Time)+".ma" shutil.copyfile(Scene_Name, Rename) def Auto(): cmds.file( save=True) BackUPP()