bugfix> python > 投稿

開く前に何が開かれるか、ファイル名を知りたい。

Mayaにはコールバックがあります: kBeforeOpen

しかし、コールバック関数でファイル名を読み取ろうとすると、現在のファイルの名前を受け取りますが、開かれるファイルは受け取りません。

def before(*args, **kwargs):
    print('scene_name', cmds.file(q=True, sn=True))
om.MSceneMessage.addCallback(om.MSceneMessage.kBeforeOpen, before)

空のシーンでファイルを開こうとしています: "C:/tmp/pen_01.mb"

ログはコマンド file -o "C:/tmp/pen_01.mb" を教えてくれました開始してからコールバックを開始しました

>>> file -options "v=0;" -typ "mayaBinary" -o "C:/tmp/pen_01.mb";
>>> ('scene_name', u'')

ご覧のとおり、関数は現在のファイル名を読み取ります(空)。

コールバック関数で、正確に何が開かれるかについての情報をどのように読み取りますか?

回答 1 件
  • OpenMayaでできること:

    OpenMaya.MFileIO.beforeOpenFilename()
    
    

あなたの答え