我通过脚本在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没有机会更改此名称,并且始终仅考虑其中。您只需指定文件的重写位置。
因此,您必须重新启动计算机才能删除文件锁定并继续工作。这是一个大问题。
告诉我,也许所有相同的你可以指定一些其他的方法来找到文件,以防文件被锁定由于某种原因?或者可以删除被阻止的文件?
答案 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