2010-10-28 20 views
4

雖然我正在建模,但我喜歡渲染一個框架以顯示我正在進行的過程中的進度。我想編寫渲染器來將渲染器保存爲渲染輸出,並在其末尾添加一個遞增數字。所以我最後會有一些渲染,就像動畫的渲染序列,但是我決定製作幀。這樣做的目的是自動創建制作過程。如何以最大腳本增量保存單個渲染器

回答

0

如果將文件保存到一個新的空文件夾,則每次保存該文件時,都可以將一個整數附加到與該目錄中的文件數對應的文件名。

folder = "c:\\tmp\\renders" 
dir = dotNetClass "System.IO.Directory" 
files = dir.GetFiles(folder)  
file = folder + "\\render" + files.count as String + ".bmp" 
render outputfile:file 
+0

感謝您的答覆,我要指出,我非常新的MAXScript和編程。我已經完成了maxscript教程,但我不能說我理解我所做的一切。 – Donovan 2010-10-29 08:26:08

+0

我無法正常工作。我輸入了所有信息,並將文件夾=更改爲我自己的工作路徑。在文件=文件夾+我已經改變了這是我的渲染的名稱,而不是「.bmp」我選擇了「.tga」。當我評估腳本時,沒有任何反應。沒有錯誤沒有呈現,絕對沒有。我已經寫了完整的腳本是: – Donovan 2010-11-01 11:17:06

+0

文件夾= 「d:\\ \\工作\\實驗\\的renderScript renderoutput」 – Donovan 2010-11-01 11:17:53

2

下面是一個循環,用於在每一幀增加文件名稱。 使用最後一行的結果作爲文件名。

如果您將「添加數字」添加到 文件名中,您將遇到的一個問題是其他應用程序(包括RAM播放器)不會將它們識別爲序列。 用下面的解決方案正確添加它,使用0001 - 0002等。

如果您希望在輸出中使用更多0,請更改行「.4i」。

--Here you'd get the start frame from the UI 
    startframe = 0 

--Here you'd get the end frame from the UI 
    endframe = 10 

--temp variable to hold our start frame number. 
    tempframe = startframe 

--variable to hold our desired filename 
    filename = "Filename_" 
for i = startframe to endframe do 
(
tempframe +=1 
print "Framenumber is now:" 
print tempframe as string 
print "Filename at this frame would be:" 
format "filename% \n" (formattedPrint tempframe format:".4i" + ".ext") 
) 

運行此操作的結果可以在腳本偵聽器中看到。

0

file = render()

然後你用任何名字和你想要的地方保存文件。

0

似乎一個古老的問題,但我認爲你需要的是一個帶有全局變量的MacroScript來保存文件名計數器併爲該宏創建一個鍵盤shorcut,以便在建模時快速渲染。

下面是一個簡單MacroScript我爲相同目的而作出:

macroScript RenderProgress category:"pX Tools" buttonText:"Render Progress" 
(
global rpFileNumber 
global rpCameraName 
global rpFileName = "c:\\temp\\renderprogress" 
if rpFileNumber==undefined then rpFileNumber = 0 
if rpCamera==undefinded then rpCamera = $Camera01 

local NewFileName = rpFileName + (rpFileNumber as string) + ".jpg" 
local bm 
if rpCamera == undefined then 
(
    bm = render vfb:false 
) else 
(
    bm = render camera:rpCamera vfb:false 
) 
bm.FileName = NewFileName 
Save bm 
rpFileNumber += 1 
) 

,它將使使用「Camera01」,如果該相機不存在當前活動視口被呈現單個幀。

這個腳本需要大量的改進,但目前:

要使用MAXScript偵聽器窗口 集還路徑和文件名與rpFileName =「\ MyFolder文件\ mYfILEname的C」重設文件數量計數器設置rpFileNumber = 0可以接受的。

您可以嘗試在這裏另一個更復雜的解決方案: http://forums.cgsociety.org/archive/index.php/t-715599.html