簡體   English   中英

使用 maxscript 保存渲染 jpeg 的問題

[英]Problem to save render jpeg with maxscript

我正在制作一個腳本來自動化渲染 multiple.max 文件的過程。 我幾乎完成了我假裝要實現的目標,唯一的問題是我不知道如何通過 maxscript 保存渲染圖像。 我嘗試了在 inte.net 上找到的幾種方法,但沒有一種有效。

studioFile = getOpenFileName caption: "Select the Studio"

loadMaxFile studioFile

folderPath = getSavePath caption: "Select the Folder with the Assets to Render"
maxPath = folderPath + "\*.max"
maxFiles = getFiles maxPath

renderPath = getSavePath caption: "Select the Render Folder"

for current in maxFiles do(
        
    xrefs.addNewXRefFile current
    currentName = getFilenameFile current
    print currentName
    
    for c in cameras where classof c != Targetobject do(
        
        render camera:c output: ("E:\\MUVA\\Renders\\" + currentName + "_" + c.name + "_" + ".jpeg")
        
    )
    
    xrefs.deleteAllXRefs()
   
)

這就是我的代碼現在的樣子並對其進行解釋:

  • 首先,我為用戶創建了一個對話框 select 我稱之為“Studio”,這是一個帶有照明和相機的場景,准備好渲染,然后打開它;
  • 其次,是另一個對話框,供用戶輸入 select 要呈現的 .max 文件所在的文件夾;
  • 第三,是另一個對話框,供用戶輸入 select 他希望保存渲染的文件夾;
  • 然后我做了一個循環,通過一個列表,程序將添加 .max 文件以作為外部參照場景進行渲染,然后緊接着獲取要在保存中使用的 .max 文件的名稱。
  • 下一個也是最后一個循環是從場景中的每個攝像機獲取渲染,然后保存,但問題是圖像沒有保存在所選文件夾中。

我真的不知道該怎么辦了。 所以,如果有人能幫我解決這個問題,我將不勝感激。

PS.: 渲染圖的 output 目前還沒有使用選擇保存渲染圖的文件夾,因為我正在測試將所有路徑放入該文件夾。

根據MAXScript 參考,文件名的參數是outputfile: 在您的情況下,該行將是:

render camera:c outputfile:("E:\\MUVA\\Renders\\" + currentName + "_" + c.name + "_" + ".jpeg")

還有另一種方法:您可以保存render() function 返回的 bitmap object:

bm = render camera:c
bm.filename = "E:\\MUVA\\Renders\\" + currentName + "_" + c.name + "_" + ".jpeg"
save bm

該目錄必須存在才能使這些方法中的任何一個起作用,因此您可能希望在循環之前創建它:

makeDir "E:\\MUVA\\Renders" all:true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM