2015年5月5日 星期二

[MAXScript] 簡易算圖管理工具 - JH Batch Camera Render

近日同事有些Render的需求且項目頗為繁雜,需要一個較方便的工具簡化作業流程,這類工具相當多,但約有一年沒碰3dsMax的我實在是很想寫寫MAXScript,因此做了這個工具,希望能讓同事節省時間,少做些無聊沒意義的事情。

參考
我從現在已有的工具中找了一個做參考,參考的是Batch Camera Render by Sergo Pogosyan,此工具做的很完善,功能十分強大,但我希望能夠更靈活的去編輯Task項目,我的Render需求也沒有那麼深入,所以也大幅簡化功能,只做出我需要的部份。

資料的儲存方式
Sergo的工具中Task項目的資料是透過Custom Attributes做儲存,好處是資料跟max檔案一體,不容易丟失,但就不符合我希望能靈活修改的需求,因此我改用外部檔案的方式去儲存,目前是使用了INI格式,但後來發現INI格式會帶來一些限制,降低了修改的便利性,因此未來打算再改成用自訂的格式去儲存。

單一max檔案
在max檔案中初次新增Task的同時,會在max檔案所在的資料夾下建立一個對應的INI檔案,裡面儲存的就是所有的Task資訊,之後在重新開啟此max檔案時,會從對應的INI檔案中讀取資料。

複數max檔案
而Batch功能則是可以選取多個max檔案(目前限制在同一個資料夾內),會輪流開啟這些檔案,並讀取對應的INI來獲取Task進行batching作業。

JH_BatchCameraRender.ms