X’mas Tree

110405065
·
(修改过)
·
IPFS
綜合幾週所學做ㄉ聖誕樹

簡綱

死線戰士再度回歸!所以不多說了,總之我做了一顆聖誕樹然後被色彩跟 noise 搞得很慘。

作品連結:

什麼都有版🔗:openprocessing.org/s...(雪花會卡到爆炸)

無雪花版🔗:openprocessing.org/s...(推薦看這個‼️)

什麼都也有但樹黑掉版🔗:openprocessing.org/s...

發想

聖誕節快到了,這幾天剛好看到「一棵聖誕樹是怎麼培育成的」的介紹影片,正好也在想這週要來做什麼,於是乎就想到可以用 noise 畫每層樹枝來完成(預期看起來會)很可愛ㄉ聖誕樹。

初版

一開始畫出樹的過程就先略過好了(剛好也沒有給每階段都截圖QQ),總之樹主體的部分我使用 for 迴圈計算以及分層,然後逐層繪製 noise 線條形成一個大三角形來完成,其中線條是分成左右兩側兩個方向繪製的,如此讓樹整體的顏色可以是由外向內漸層(樹外圍都是一個隨機的某色系顏色,並漸變到中央統一一個較深的隨機顏色)。

接著我再為樹加上燈飾(這部分有圖ㄌ!),剛好這週學到了 Object,我就 class 了 Light 類別,並在樹上繪製隨機排數的燈,並讓它們會隨機閃爍,每排隨機 15-20 顆燈(下圖左)。不過完成後,我發現較短的地方燈一樣有 15 顆以上的話就會相互重疊擠在一起非常之難看,於是我就再加了一段程式碼,讓每層的燈泡數量上限能隨著各層長度變化,再在有限的範圍內隨機(下圖右)。

其實最初想讓燈串 Z 字型方向排列,但最後決定放過自己⋯⋯

接著我再繼續微調燈泡方面的設計,1)將頂部燈泡改為星星,2)讓每行燈泡更大幅度的上下偏移,3)把燈泡顏色換為比較可愛的色系,4)讓燈泡「熄滅」時不是純黑色,而是原顏色但 HSB 中的 Brightness 大幅調低,以及最後也調整了樹樁,把樹樁的線條數縮減(感覺更有手繪風!)。

右邊換了燈泡色系,看起來更可愛

進化!(悲劇的開始)

其實到上面就差不多可以算完成了(頂多再加個背景),但上個禮拜也提到過,我對動態的東西有著不知明的狂熱,於是我決定除了燈泡的閃爍特效外,再幫畫面加上動態飄落的雪花!

雪花一樣是用今天所學的 Object 來完成,定義 Snowflake 物件讓它從頂部隨機位置飄落,待觸碰到底時再回到頂部重生。

想法很美好,實際測試、寫程式碼的時候也很美好。

左)第一次跑時忘記要每幀重蓋背景,所以就看到拖尾的雪花,意外有種酷酷的fu! 右)測試雪花時直接先不管樹,那個飄落軌跡叫一個美麗(沒)。

但是我忘了什麼ㄋ~我忘記我的樹是用 noise 畫的了,所以如果每幀都要重畫一次的話,畫面就會超級卡、跑不出雪花的動態效果,而如果分層再疊起來的話,顏色就跑掉了!

分層後變成暗黑聖誕樹

上禮拜做 Sunset 的時候我其實也是用分層的方式畫,但色彩設定用的是 RGB 所以影響沒有很大,但這禮拜都已經用 HSB 畫好所有東西了,我很抵觸把所有顏色設定都重新調過,於是又花了一堆時間嘗試也沒有辦法規避掉這個結果,最後是發現我還是做不到,而且死線要到了⋯⋯所以最後只能用各個版本來呈現我這週本來想做ㄉ結果⋯⋯

於是最終出來了三個版本:

什麼都有版🔗:openprocessing.org/s...(雪花會卡到爆炸)

靜態雪花版🔗:openprocessing.org/s...(推薦看這個‼️)

// 更,後來覺得靜態雪花好醜就刪掉雪花了

也都有但樹黑掉版🔗:openprocessing.org/s...(數黑黑但可以看到流暢的雪花❄️)

成品四宮格!(靜態雪花版)

心得

這週結尾也是小杯桑,希望下禮拜再繼續調整,看能不能兼顧顏色美觀 & 動態~

最後也分享一下一些沒用到的版本ㄉ圖~

卡卡ㄉ跑完的有雪花的 noise 聖誕樹!(啊我怎麼沒截到星星有亮的畫面)
左)分層後死馬當活馬醫的直接把 HSB 改成 RGB,結果聖誕節變成萬聖節 右)做了一個簡單版聖誕樹來看雪花,但最後發現用黑掉版好像就夠展示了所以沒放連結上來
CC BY-NC-ND 4.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!