原文:Introducing Max Creation Graphs
作者:Christopher Diggins
編譯:Hammer Chen
既然3ds Max 2016已經正式發表了,我終於現在可以浮出水面, 取消隱藏模式了! 這就是何一年了各位沒有我的消息: Eddie Perlberg把我跟Martin Coven團隊開發, 關在地下室, 直到我們完成3dsMax首要的新增功能。
努力之後我們做出3ds Max 2016的新增功能 ─ 稱為Max Creation Graph editor 產生圖像編輯器, 簡稱MCG。 這個工具讓你可以視覺化地、 節點式地產生修改器 、幾何體或工具外掛。有了MCG你可以在幾分鐘內產生新的3ds Max外掛, 只需要把參數連接截點, 計算結點,輸出結點,最後的圖像可以儲存成XML檔案, 副檔名為.maxtoo 或是打包成化合物compounds (.maxcompound) 讓你可以與其他用戶分享。
一但MCG tool被評估(evaluated)之後 你會得到
- 在"Max Creation Graph"分類中產生新的物件原始物
- 下拉式選單中看到新的修改器modifier
- 新的MAXScript utility
- 新的MAXScript功能
在評估後,會在你的.maxtool file後面產生兩個檔案
- 一個是MAXScript plugin wrapper (.ms)
- 另一個是從圖象編譯產生的.NET函數體現 (A representation of the .NET function)
MCG不是Softimage ICE
儘管最初用戶回饋(在我們雇用Martin Coven先生之前的提議, 我相信他很高興我們採用他的建議 )雖然看起來很像, 但這並不是把Softimage ICE整合到3ds Max中。 MCG核心有新的視覺程式語言, 根據.NET framework所開發的。可能有人對Autodesk的另外一個視覺語言"Dynamo"很熟悉, 覺得有相似性。 Dynamo很類似MCG (它可以輕易地用.NET延伸, 且支援多種函數的程式概念) 但這是解釋的語言,並非編譯語言 (interpreted language: not a compiled language.)這樣的設計對Dynamo來說很有道理, 因為這是要設計為參數式幾何體的建構, 但是校能不足以讓用戶產生工具。3ds Max用戶會預期所有的幾何體與修改器的參數都可以設定動態, 然後即時地顯示, 因為這項要求我們開發了新的編譯器。 如果你請我喝啤酒的話我可以談更多無聊的細節 (搞不好我是邊喝啤酒邊寫這篇文章)。
函數的資料流 視覺化的程式語言
MCG大部分是傳統的視覺化程式語言, 節點進行資料的轉換流, 從輸入到輸出數值的資料流連結。MCG的一個特點是:看起來就是函數連結輸出 ,這樣讓你以圖像的資料計算, 在計算機科學裡面我們稱為第一級函數first-class functions。當結點從函數輸出連接時, 整個左邊的小圖像就被視為一個函數 ,圖像中未連接的輸出就是函數的特定輸入(function arguments) 這,相當於ambda抽象操作( lambda abstraction operation),之後會說明。在MCG我們不僅可以讓函數做為特定輸入,到高階的函數:例如"Map" 或"Combine" 。我們也可以自操作子回傳函數, 例如"Bind" 進行部分的應用, 或是"Compose"進行函數組合 。我們也可以將函數儲存在陣列中, 將來我會詳述這部分。
MCG有幾點要注意的是: 大部分的資料流過圖像 (除了"INode", "Cache", 與 "Random"物件外) 是不可變資料(immutable data)結構。 換句話說, MCG幾乎是純粹的函數程式語言(就像Haskell一樣) 。例如,當你傳送資料到"SetValue"結點中,你在另一頭所得到的陣列是一個新的陣列, 而原始的陣列是不變的。 這樣多線程的評估, 例如透過"ParallelMap"就能夠快速地 簡單地達成。 我保證之後會發文討論。
未來
我們是公開交易的公司, 這表示有某些法律責任, 所以不可避免地我絕對不能說太多關於未來的東西。 這限制讓我有點難過, 因為我花很多時間在想未來, 比我老闆希望我花的時間還多。至少我證明了到3dsMaxFeedback.autodesk.com你可以直接影響3ds max的未來, 重大新增功能要求可能要花四年才會推出, 有時候我不能我們不能透露我們在做的事 (因為這跟市場競爭有關) 但我們會密切注意(各位的意見)。
我不會忘記沒有用戶支持就沒有3ds Max, 我也不會有這個夢幻工作。
MCG工具範例
很快 我們將放上一組範例檔讓各位可以下載, 現在就請各位先看影片。
[相關文章]
No comments:
Post a Comment