2013年4月15日 星期一

[筆記]經堯老師的Quartz Composer 6-1

之前的課程中曾經使用過[cunter]物件做過計數器,但因為我們是使用[mathematical expression]物件來做控管數值的範圍,所以有時候數值超過時,它選擇不輸出,但實際上數值已經超標,這時很可能我們還需多按幾下,輸出的數值才能回到正常範圍。

在今天的這個練習中,將使用其它邏輯來設計計數器,並且數值每次都能夠回傳,不會有上述的問題產生。



6-1.qtz

(要把[Input Splitter]的Type調成Number)

在上圖的程式碼中,按下鍵盤的上下鍵,便可以控制數值的增減,並且每次數值運算後,還會透過[input splitter]物件將訊息回傳回[math]物件。在Pd中的寫法如下圖,邏輯與寫作方式是一模一樣的。


不過這裡有個問題是,因為[billboard]是「Producer」物件,所以qc會不停的從[billboard]物件去索引資料,加上我們又透過[input splitter]物件將資料回傳,所以其實會產生不停的運算動作,這其實是很耗效能的,所以更好的做法應該是如下:

步驟一:把[mathematical expression]物件的Result 參數 insert output splitter。


步驟二:再把[Result] Publish Outputs 出來


步驟三:建立[feedback]物件,並且因為步驟二的關係,[feedback] 物件會有一個output的輸出孔。


步驟四:把[feedback]的output輸出孔,接回[number splitter] ,並且因為[feedback]物件為「Provider」物件,只有觸發事件時才會輸出,電腦就不會反覆的運算。