2017-03-08 114 views
-1

我通過創建腳本在Maya中播放預覽:瑪雅2017年播放預覽文件的問題

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

找到了解決方案。由於我無法更改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