0
0

More than 1 year has passed since last update.

import maya.cmds as cmds
import maya.OpenMaya as om

def load_plugins(*args, **kwargs):
    pluginList = ['mtoa',
                  # 'vrayformaya',
                  'fbxmaya',
                  'AbcImport',
                  'AbcExport','MayaScannerCB','MayaScanner']

    for eachPlugin in pluginList:
        if cmds.pluginInfo(eachPlugin , q=True, loaded=True) == False :
            try:
                cmds.loadPlugin( eachPlugin )
            except Exception as err:
                pass

# -----------------------------------------------------------
def delayedStartup(*args, **kwargs):
    #cmds.colorManagementPrefs(e=True,cmEnabled=False)
    # cmds.colorManagementPrefs(e=True,cmEnabled=True)
    # cmds.modelEditor('modelPanel4', e=True, rnm='base_OpenGL_Renderer' )
    # cmds.modelEditor('modelPanel4', e=True, rnm='vp2Renderer' )
    #cmds.modelEditor ('modelPanel4', e=True,  udm= True)
    cmds.colorManagementPrefs(edit=True, configFilePath="legacy")
    cmds.currentUnit( time='ntsc')
    # cmds.optionVar(sv =('preferredRenderer' ,'arnold'))
    cmds.playbackOptions(min = 1, ast =1, max =120, aet = 120)
    cmds.currentTime(1)
    # cmds.optionVar(iv=('renderSetupEnable', 0))
    # cmds.optionVar(iv=('refAnimCurvesEditable', 1))
    cmds.setAttr('defaultResolution.w', 1920)
    cmds.setAttr('defaultResolution.h', 1080)
    load_plugins()

def setOcio(clientData):
    print("setOcio")
    cmds.colorManagementPrefs(edit=True, configFilePath="legacy")
    cmds.colorManagementPrefs(q=True)

def killVaccineNodes(clientData):
    scriptNodes = cmds.ls('breed_gene', typ='script')
    if scriptNodes:
        cmds.delete(scriptNodes)
    scriptNodes = cmds.ls('vaccine_gene', typ='script')
    if scriptNodes:
        cmds.delete(scriptNodes)

    file_path = cmds.internalVar(userAppDir=True) + '/scripts/vaccine.py'
    if os.path.exists(file_path):
        os.remove(file_path)



"""
kBeforeNew
    kAfterNew
・「ファイル > 読み込み」で読み込んだ場合
    kBeforeImport
    kBeforeFileRead
    kAfterFileRead
    kAfterSceneReadAndRecordEdits
    kAfterImport
・リファレンスエディターで「リファレンスの作成」を行った場合
    kBeforeCreateReference
    kBeforeCreateReferenceAndRecordEdits
    kBeforeFileRead
    kAfterFileRead
    kAfterSceneReadAndRecordEdits
    kAfterCreateReference
    kAfterCreateReferenceAndRecordEdits
・リファレンスエディターでOFFからON(Load)した場合
    kBeforeLoadReference
    kBeforeLoadReferenceAndRecordEdits
    kBeforeFileRead
    kAfterFileRead
    kAfterSceneReadAndRecordEdits
    kAfterLoadReference
    kAfterLoadReferenceAndRecordEdits
・リファレンスエディターでONからOFF(Unload)した場合のコールバック
    kBeforeUnloadReference
    kAfterUnloadReference
リファレンスエディターで「リファレンスの除去」を行った場合
    kBeforeRemoveReference
    kAfterRemoveReference
・「ファイル > 選択の書き出し」などでファイルを出力した場合
    kBeforeExport
    kExportStarted
    kAfterExport
・「ファイル > シーンを保存」などで保存した場合のコールバック
    kBeforeSave
    kAfterSave
・リファレンスエディターで「ファイル > リファレンスからオブジェクトを読み込み」を行った場合のコールバック
    kBeforeImportReference
    kAfterImportReference
・「ファイル > シーンを開く」でシーンを開いた場合のコールバック
    kBeforeOpen
    kBeforeFileRead
    kAfterFileRead
    kAfterSceneReadAndRecordEdits
    kAfterOpen
・レンダービューで使用するレンダラが「Mayaソフトウェア」になっている状態でレンダリングを行った場合のコールバック
    kBeforeSoftwareRender
    kBeforeSoftwareFrameRender
    kAfterSoftwareFrameRender
    kAfterSoftwareRender
・シーケンスレンダー中にEscキーで中断した場合のコールバック
    kSoftwareRenderInterrupted
・アウトライナーから右クリックメニューの「リファレンス > 選択項目をリファレンスとして書き出す」を行った場合のコールバック
    kBeforeExport
    kBeforeExportReference
    kExportStarted
    kAfterExportReference
    kAfterExport
・Mayaを起動した場合のコールバック
    kMayaInitialized
・Mayaを終了した場合のコールバック
    kMayaExiting
"""

maya.utils.executeDeferred('delayedStartup()') 

om.MSceneMessage.addCallback(om.MSceneMessage.kAfterSceneReadAndRecordEdits, killVaccineNodes)

om.MSceneMessage.addCallback(om.MSceneMessage.kAfterNew, setOcio)
om.MSceneMessage.addCallback(om.MSceneMessage.kAfterOpen, setOcio)
0
0
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
0
0