Processing擁有強大的多媒體支援能力 可以運算各種輸入訊號
Grasshopper則能夠快速地運用參數化結構演算出各種不同形式的3D物件
然而Processing中的3D化運算目前並不成熟
而Grasshopper也很難即時地取得其他媒體的訊號
現在透過Processing的hypermedia函式庫
將能夠整合Processing的多媒體優勢與Grasshopper強大的3D運算功能
Stephane Cousot發展出來的hypermedia函式庫
可以將一些Processing中的訊號 輸出到指定的Port中
若是再配合由Giulio Piacentino發展的Grasshopper傾聽物件UDPReceiver
我們可以將Processing中的資訊傳送到Grasshopper
用更直覺 互動的方式 將多媒體資訊重新編譯並進行3D物件的操作
先從Stephane Cousot的頁面下載udp.zip函式庫
將udp.zip解壓縮
並放到Processing中的libraries資料夾中
我們便可以在Processing中開始使用UDP的相關函式
接著到Giulio Piacentino的頁面下載UDP.zip
打開壓縮檔
其中有一個Grasshopper檔案udp.ghx
以及一個Processing檔案UDP.pde
注:目前我測試過Giulio Piacentino提供的UDP檔案,似乎在運作上有問題,若是同樣無法操作的朋友
可以從(UDP.ghx, UDP.pde)這裡下載我修正過後的版本
分別用Rhino中的Grasshopper打開UDP.ghx
用Processing打開UDP.pde,並將視窗調整如下
檢視一下UDPReceiver物件
它是由一個Input以及四個Output所組成
<Input>
Port:輸入UDP物件將要傾聽的輸出埠,當UDP程式不運行或要更改UDP程式時該值最好設為-1
<Output>
Out:顯示目前UDP物件的狀態
Client:顯示目前UDP傾聽對象的位址
A:顯示目前UDP是否有從傾聽對象得到資訊
B:顯示目前UDP傾聽對象所傳出的資料
我們可以先試著確定Grasshopper是否能夠傾聽Processing傳出的資訊
1. 先更改receivePort對話框為6002,此為UDP.pde預設的傳輸埠
2. 點擊Timer圖式讓Grasshopper開始照指定的速度讀取傳輸埠的資料
3. 點擊Processing的Play按鈕
這時Processing便開始將資料傳輸到Grasshopper的傳輸埠
範例中預設的UDP.pde程式會傾聽鍵盤事件
並將鍵盤鍵入的值以字串的方式傳入Grasshopper中
我們可以注意到
Processing的Print對話框和UDPReceiver的B對話框
都傾聽到了您按下按鍵的鍵盤事件