Maya 2017 playblast文件问题

时间:2017-03-08 15:40:00

标签: python maya

我通过脚本在maya中创建playblast:

mov = cmds.playblast(f=file_name, st=1, et=100,
                     format='qt', compression='H.264', quality=70,
                     widthHeight=(1280, 720), percent=100,
                     forceOverwrite=True, sequenceTime=False, clearCache=True,
                     viewer=False, showOrnaments=True, offScreen=True, fp=4)

它的工作。但有时会产生错误:

# Error: RuntimeError: file <maya console> line 5: Unable to create video track. Check format. # 

研究表明,Maya不会立即在指定路径上创建文件。首先,它在文件夹中创建一个文件:

C:\Users\max\AppData\Local\Temp\movie_2.mov

完成后将其复制到您指定的路径:file_name

这里有一个问题。事实是,如果在创建播放列表期间发生了某些事情并且文件(movie_2.mov)被阻止 - 则无法创建播放列表。以前,我只是通过更改错误计算的文件名来解决这个问题。现在,Maya没有机会更改此名称,并且始终仅考虑其中。您只需指定文件的重写位置。

因此,您必须重新启动计算机才能删除文件锁定并继续工作。这是一个大问题。

告诉我,也许所有相同的你可以指定一些其他的方法来找到文件,以防文件被锁定由于某种原因?或者可以删除被阻止的文件?

1 个答案:

答案 0 :(得分:0)

找到了解决方案。由于我无法更改Maya认为的文件名,因此我会在每次新启动之前更改临时文件夹名称。

import os
from maya import cmds
import tempfile

temp_new_dir = tempfile.mkdtemp()
tempDir = os.environ["TMP"]
os.environ["TMP"] = temp_new_dir
try:
    cmds.playblast(...)
except Exception as e:
    print e
finally:
    os.environ["TMP"] = tempDir