包含19節(jié)視頻教程
關(guān)注315.8萬次
從零基礎(chǔ)學(xué)習(xí)3dmax的建模技術(shù),簡(jiǎn)單易學(xué)的視頻教程,讓你快速掌握3dmax建模技巧,您可以本套教程的學(xué)習(xí)快速掌握3dmax的大部分技術(shù),并能通過這些技術(shù)適應(yīng)未來大多數(shù)的工作,通過幾節(jié)課就找到工作的會(huì)員大有人在,快來學(xué)習(xí)一下吧!
1. 建一個(gè)comp,一個(gè)solid,縮放成小塊。
2. 我們看一下上次用的表達(dá)式:
veloc=7;
amplitude=40;
decay=.3;
amplitude*math.sin(veloc*time)/math.exp(decay*time)
現(xiàn)在我們要想使它用在位移上,于是出現(xiàn)一個(gè)問題,旋轉(zhuǎn)是一維的數(shù)組,如果在position上直接添加如上表達(dá)式,會(huì)出現(xiàn)出錯(cuò)提示,并且表達(dá)式顯示曲線圖像的按鈕前會(huì)出現(xiàn)一個(gè)驚嘆號(hào),如圖:
3. 我們明白,在這個(gè)表達(dá)式中,amplitude*math.sin(veloc*time)/math.exp(decay*time) 是最終的旋轉(zhuǎn)的數(shù)值,如果我們要想把它使用在二維的position中,我們就應(yīng)當(dāng)如下:
y=amplitude*math.sin(veloc*time)/math.exp(decay*time);
[0,y]
此時(shí),擺動(dòng)值成為position的y上的變量,這時(shí)我們會(huì)發(fā)現(xiàn)solid跑到了合成窗口左上角,這是因?yàn)閇0,0]點(diǎn)是在左上角。
4. 我們要想使solid還位于默認(rèn)的中央位置,就要把:
y=amplitude*math.sin(veloc*time)/math.exp(decay*time);
[0,y]
改成:
y=amplitude*math.sin(veloc*time)/math.exp(decay*time);
position+[0,y]
此時(shí)返回的[0,y]僅僅作為變化量被加到了position之上,solid還保持合成窗口的中央位置。預(yù)覽。solid在y軸上作上下晃動(dòng),類似被綁在了一根水平彈簧上。效果不是很顯著,我們可以改變參數(shù),調(diào)大振幅,減小decay,增加速度。此時(shí)會(huì)比較有明顯的效果。
5. 看到國(guó)外的一個(gè)這個(gè)應(yīng)用,是一個(gè)從小禮盒里彈出來一個(gè)卡通人物,好像裝有彈簧一樣。
在這里,他把這里的表達(dá)式中的:
y=amplitude*math.sin(veloc*time)/math.exp(decay*time);
改成了:
y=amplitude*math.cos(veloc*time)/math.exp(decay*time);
變化就稍有些不同,我們都知道正弦和余弦在自變量為0時(shí)的數(shù)值是不同的,正弦是0,余弦是1,這就是為什么我們這個(gè)表達(dá)式被添加到solid上之后solid的起始位置不發(fā)生變化,因?yàn)槲覀冇玫氖钦。?dāng)我們用余弦的時(shí)候,solid或卡通人物的起始位置會(huì)有一個(gè)向下的位移,位移多少我們從表達(dá)式可以看出和振幅有關(guān)系。
因此,當(dāng)用余弦時(shí),卡通人物的位移正好可以作為藏在盒子里的這段距離,比正弦要好些。
上面是用在position上的用法。我們還可以用在縮放上。
6. 上圖中紅圈的都是可以改變成其它全局變量的,因此大家可以想到,還可以把縮放和位移相結(jié)合,只要把scale換成position就可以了,當(dāng)然這里只是舉例,如果真改成position,那么就縮放的太大了,真想用之時(shí)可以用除法來減小變化范圍。
我們現(xiàn)在就來做一個(gè)結(jié)合,不過不用position和scale,因?yàn)榇蠹椰F(xiàn)在看完上面的估計(jì)都會(huì)做了。我們來把兩個(gè)solid之間的距離和其中一個(gè)solid的縮放聯(lián)系在一起。
length(point1, point2) {point1 and point2 are arrays}返回兩個(gè)點(diǎn)之間的距離。point 2 是optional 的。例如,length(point1, point2)和length(sub(point1,point2))是相同的。ok,新建一個(gè)comp,一個(gè)solid,縮放如第一帖那樣的小塊。打開3d開關(guān),添加表達(dá)式,(方法不用說了吧):
veloc=11;
amplitude=70;
decay=.1;
y=amplitude*math.sin(veloc*time)/math.exp(decay*time);
position+[0,0,y]
可以發(fā)現(xiàn)我們最后的變化,因?yàn)榇蜷_3d開關(guān)之后,就要成為三維數(shù)組了。
7. 此時(shí)的solid塊在z軸上前后運(yùn)動(dòng),不過運(yùn)動(dòng)幅度不是很大,大家看仔細(xì)了。再建一個(gè)solid,或者導(dǎo)入一張圖片,我這里暫且建一個(gè)text。
8. 打開text的3d開關(guān),輸入如圖表達(dá)式:
9. 此表達(dá)式中引號(hào)里面的“2”是指的solid塊。拖動(dòng)時(shí)間指示器,發(fā)現(xiàn)隨著solid的前后挪動(dòng),文字開始忽大忽小,當(dāng)和solid同樣的水平面時(shí),文字最小,當(dāng)最靠前或最靠后的時(shí)候,文字最大,并且solid和文字層之間相互遮掩。
10. 上面是solid靠后時(shí)候的,這個(gè)是最靠前的:
10. 上面是solid靠后時(shí)候的,這個(gè)是最靠前的:
朱峰社區(qū)網(wǎng)頁版(手機(jī)掃描-分享-添加到屏幕)
朱峰社區(qū)微信公眾號(hào)(微信掃一掃-關(guān)注)
未知用戶
2005-2025 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號(hào)-1
2005-2025 ZhuFeng Community All Rights Reserved
VIP