X’mas Tree
簡綱
死線戰士再度回歸!所以不多說了,總之我做了一顆聖誕樹然後被色彩跟 noise 搞得很慘。
作品連結:
什麼都有版🔗:openprocessing.org/s...(雪花會卡到爆炸)
無雪花版🔗:openprocessing.org/s...(推薦看這個‼️)
什麼都也有但樹黑掉版🔗:openprocessing.org/s...
發想
聖誕節快到了,這幾天剛好看到「一棵聖誕樹是怎麼培育成的」的介紹影片,正好也在想這週要來做什麼,於是乎就想到可以用 noise 畫每層樹枝來完成(預期看起來會)很可愛ㄉ聖誕樹。
初版
一開始畫出樹的過程就先略過好了(剛好也沒有給每階段都截圖QQ),總之樹主體的部分我使用 for 迴圈計算以及分層,然後逐層繪製 noise 線條形成一個大三角形來完成,其中線條是分成左右兩側兩個方向繪製的,如此讓樹整體的顏色可以是由外向內漸層(樹外圍都是一個隨機的某色系顏色,並漸變到中央統一一個較深的隨機顏色)。
接著我再為樹加上燈飾(這部分有圖ㄌ!),剛好這週學到了 Object,我就 class 了 Light 類別,並在樹上繪製隨機排數的燈,並讓它們會隨機閃爍,每排隨機 15-20 顆燈(下圖左)。不過完成後,我發現較短的地方燈一樣有 15 顆以上的話就會相互重疊擠在一起非常之難看,於是我就再加了一段程式碼,讓每層的燈泡數量上限能隨著各層長度變化,再在有限的範圍內隨機(下圖右)。
接著我再繼續微調燈泡方面的設計,1)將頂部燈泡改為星星,2)讓每行燈泡更大幅度的上下偏移,3)把燈泡顏色換為比較可愛的色系,4)讓燈泡「熄滅」時不是純黑色,而是原顏色但 HSB 中的 Brightness 大幅調低,以及最後也調整了樹樁,把樹樁的線條數縮減(感覺更有手繪風!)。
進化!(悲劇的開始)
其實到上面就差不多可以算完成了(頂多再加個背景),但上個禮拜也提到過,我對動態的東西有著不知明的狂熱,於是我決定除了燈泡的閃爍特效外,再幫畫面加上動態飄落的雪花!
雪花一樣是用今天所學的 Object 來完成,定義 Snowflake 物件讓它從頂部隨機位置飄落,待觸碰到底時再回到頂部重生。
想法很美好,實際測試、寫程式碼的時候也很美好。
但是我忘了什麼ㄋ~我忘記我的樹是用 noise 畫的了,所以如果每幀都要重畫一次的話,畫面就會超級卡、跑不出雪花的動態效果,而如果分層再疊起來的話,顏色就跑掉了!
上禮拜做 Sunset 的時候我其實也是用分層的方式畫,但色彩設定用的是 RGB 所以影響沒有很大,但這禮拜都已經用 HSB 畫好所有東西了,我很抵觸把所有顏色設定都重新調過,於是又花了一堆時間嘗試也沒有辦法規避掉這個結果,最後是發現我還是做不到,而且死線要到了⋯⋯所以最後只能用各個版本來呈現我這週本來想做ㄉ結果⋯⋯
於是最終出來了三個版本:
什麼都有版🔗:openprocessing.org/s...(雪花會卡到爆炸)
靜態雪花版🔗:openprocessing.org/s...(推薦看這個‼️)
// 更,後來覺得靜態雪花好醜就刪掉雪花了
也都有但樹黑掉版🔗:openprocessing.org/s...(數黑黑但可以看到流暢的雪花❄️)
心得
這週結尾也是小杯桑,希望下禮拜再繼續調整,看能不能兼顧顏色美觀 & 動態~
最後也分享一下一些沒用到的版本ㄉ圖~
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!