薛山
鍵盤相信是各位辦公室打工仔天天都離不開的生產(chǎn)力工具,你有沒(méi)有想過(guò)這世上如果有能自動(dòng)打字的鍵盤該有多省事,當(dāng)然,這種想法在現(xiàn)實(shí)生活中并不是太現(xiàn)實(shí),但在天馬行空的“Blender宇宙”里,這樣的事情當(dāng)然是允許發(fā)生的!不過(guò),具體要如何實(shí)現(xiàn)就需要大家動(dòng)動(dòng)腦筋了,話不多說(shuō),今天我就來(lái)教大家怎樣利用幾何節(jié)點(diǎn),實(shí)現(xiàn)鍵盤自動(dòng)按鍵特效吧!
想要有鍵盤,那第一步當(dāng)然是制作鍵盤最重要的組成部分:鍵帽。大家可以觀察自己手里的鍵盤,會(huì)發(fā)現(xiàn)大多數(shù)的鍵帽是一個(gè)頂面面積相對(duì)底面面積稍小一些的立方體,為了讓咱們的設(shè)計(jì)更精確,可以選擇長(zhǎng)寬1厘米,高0.5厘米的規(guī)格來(lái)制作單個(gè)鍵帽,在制作時(shí)可以給鍵帽添加倒角修改器,以避免鍵帽邊緣過(guò)于銳利的問(wèn)題。
完成后我們進(jìn)入鍵帽的著色器編輯器,現(xiàn)在的鍵盤大多給不同的按鍵配置了不同的顏色,咱們也給不同的鍵帽使用不同顏色的著色器,本教程中使用了三種不同的顏色:白色、黑色和橙色,這個(gè)組合搭配個(gè)人感覺還挺好看的,大家也可以根據(jù)自己的喜好來(lái)組合。在設(shè)計(jì)完成后記得把這三個(gè)鍵帽單獨(dú)放到一個(gè)集合里,方便咱們?cè)趲缀喂?jié)點(diǎn)里進(jìn)行調(diào)動(dòng)。
有了鍵帽,接下來(lái)就需要將它們一個(gè)個(gè)放置到合適的位置上了,邏輯上來(lái)講,就是生成一個(gè)棋盤格一樣的頂點(diǎn)陣列,然后把這些鍵帽作為實(shí)例放到這些頂點(diǎn)上。有了這個(gè)想法咱們就可以開始制作了,可能你第一時(shí)間想到直接使用“柵格”,沒(méi)錯(cuò),如果你制作的鍵盤鍵帽是完全整齊排列的話,這個(gè)方案就是可行的,但其實(shí)你觀察一下你的鍵盤,就會(huì)發(fā)現(xiàn)大多數(shù)鍵盤除了最右側(cè)的數(shù)字鍵盤區(qū)有一部分是整齊排列,字母區(qū)域其實(shí)都是錯(cuò)落擺放的,所以我們?cè)谥谱餍Ч麜r(shí)也要讓鍵帽的擺放有一定的錯(cuò)位,才顯得更為真實(shí)。
因此,我們不能使用柵格而是要用兩條網(wǎng)格直線來(lái)擺放頂點(diǎn),一條沿Y軸長(zhǎng)10厘米,以它為基礎(chǔ),放置沿X軸長(zhǎng)10厘米的網(wǎng)格直線作為實(shí)例,這樣我們同樣獲得了一個(gè)類似柵格的效果,但所有的邊都是沿X軸生長(zhǎng),方便我們做錯(cuò)位和后續(xù)需要用到的融合效果。
在“實(shí)例化于點(diǎn)上”之后我們需要接一個(gè)“實(shí)現(xiàn)實(shí)例”,然后通過(guò)“設(shè)置位置”來(lái)調(diào)整頂點(diǎn)在X軸的位置,方法很簡(jiǎn)單,只需要用噪波紋理,連接矢量計(jì)算的“相減”,所有參數(shù)設(shè)置為0.5,再接矢量計(jì)算的“縮放”,并將輸出通過(guò)“合并XYZ”連接到設(shè)置位置的“偏移量”上,這樣就能獲得一個(gè)任意在X軸調(diào)整位置的頂點(diǎn)陣列了。
然后我們?cè)俳右粋€(gè)“實(shí)例化于點(diǎn)上”,將第一步制作的鍵帽集合放進(jìn)來(lái),記得勾選“分離子級(jí)”、“重置子級(jí)”和“選擇實(shí)例”,這時(shí)候切換到材質(zhì)預(yù)覽模式,就能看到三種鍵帽都正確使用了,如果你想要它們的分布更為隨機(jī),那就用“隨機(jī)值”來(lái)連接“實(shí)例編號(hào)”,通過(guò)調(diào)整“隨機(jī)種”就能實(shí)現(xiàn)這個(gè)目的。
完成第二步之后你可能會(huì)發(fā)現(xiàn),雖然按鍵是錯(cuò)位擺放了,但中間出現(xiàn)了很多縫隙,同時(shí)也有一些按鍵因?yàn)榫嚯x太近導(dǎo)致穿模了,這個(gè)問(wèn)題該如何解決呢?其實(shí)也不難,我們只需要獲取每?jī)蓚€(gè)頂點(diǎn)之間的距離,然后把它們?cè)赬軸之間的縮放對(duì)應(yīng)這個(gè)距離值,就正好可以實(shí)現(xiàn)填補(bǔ)縫隙的效果了,但考慮到鍵帽的寬度是有下限的,所以我們還可以結(jié)合“按距離合并”來(lái)設(shè)置一個(gè)最小值,從而解決穿模的問(wèn)題。
如果這時(shí)候發(fā)現(xiàn)按鍵之間還是有較多縫隙的話,可以在鍵帽的實(shí)例化之前將網(wǎng)格轉(zhuǎn)換為點(diǎn),然后以“邊”為基礎(chǔ)來(lái)進(jìn)行生成,但這時(shí)候因?yàn)檫叾嫁D(zhuǎn)換為點(diǎn)了,所以我們需要在更前一步,用捕捉屬性,結(jié)合“邊的頂點(diǎn)”和矢量計(jì)算的“距離”來(lái)獲取頂點(diǎn)之間的距離值,再結(jié)合“合并XYZ”的X值,連接到“實(shí)例化于點(diǎn)上”的縮放值上。
此時(shí)咱們的鍵帽應(yīng)該都準(zhǔn)確地實(shí)現(xiàn)錯(cuò)位擺放的效果了,最后就是讓這些鍵帽隨機(jī)動(dòng)起來(lái),實(shí)現(xiàn)按鍵的動(dòng)作效果,我們?cè)谧詈蠼右粋€(gè)“平移實(shí)例”,通過(guò)4D的噪波紋理、矢量計(jì)算的“相減”和“相乘”,來(lái)控制它在Z軸方向的運(yùn)動(dòng),可以使用“場(chǎng)景時(shí)間”來(lái)連接噪波紋理的W值,讓它隨時(shí)間變化來(lái)實(shí)現(xiàn)按鍵效果,可以通過(guò)“顏色漸變”或“映射范圍”來(lái)細(xì)微控制按鍵的速度和范圍,至此,咱們的整個(gè)設(shè)計(jì)也就完成了!
全盤思考是設(shè)計(jì)的核心
其實(shí)如果只是做一個(gè)鍵盤按鍵的效果,或許并不需要那么費(fèi)勁,但如果想要效果足夠的真實(shí),或者在視覺上足夠的有特點(diǎn),就需要從開始設(shè)計(jì)時(shí)就做好周全的考慮,這也是學(xué)習(xí)Blender必須要有的基本技能,否則很容易牽一發(fā)動(dòng)全身,整個(gè)設(shè)計(jì)都有需要推翻重來(lái)的可能哦!