大家好,我是拉撒路 今天我們要解決的是,bone和dummy亂轉(zhuǎn)問(wèn)題,以及找到為什么他會(huì)亂轉(zhuǎn)的原因 本人現(xiàn)在轉(zhuǎn)職做了技術(shù)美術(shù),以后講的東西會(huì)更加的技術(shù)向一些 我相信會(huì)對(duì)大家有幫助,畢竟就算你硬背下來(lái)幾個(gè)術(shù)語(yǔ),也可以在同行面前裝逼 相信經(jīng)驗(yàn)比較豐富的動(dòng)畫(huà)師都遇到過(guò)bone不聽(tīng)話亂轉(zhuǎn)的情況 這里涉及到坐標(biāo)軸的兩種算法,歐拉角和四元數(shù)。 首先解釋下啥叫歐拉角,簡(jiǎn)單說(shuō)就是根據(jù)模型自身的坐標(biāo)軸進(jìn)行旋轉(zhuǎn),相當(dāng)于max里面的local。 歐拉角是有旋轉(zhuǎn)順序的,xyz三個(gè)軸向是父子孫三級(jí)關(guān)系(max內(nèi)默認(rèn)是X父Y子Z孫,關(guān)系可以修改) 父級(jí)旋轉(zhuǎn)會(huì)帶動(dòng)子級(jí)和孫級(jí),子級(jí)旋轉(zhuǎn)會(huì)帶動(dòng)孫級(jí)而不影響父級(jí),孫級(jí)只影響子級(jí)。 我們常見(jiàn)的坐標(biāo)軸,三個(gè)軸向永遠(yuǎn)是互相垂直的,但是歐拉角的坐標(biāo)軸只要開(kāi)始轉(zhuǎn)動(dòng)就不再是互相垂直的了,甚至?xí)睾稀?/span> 簡(jiǎn)單演示下歐拉角的轉(zhuǎn)動(dòng)方式,比如我要把一個(gè)茶壺XYZ各轉(zhuǎn)30度,在max后臺(tái)的處理方式是 先轉(zhuǎn)X(紅)軸30度,此時(shí)Y(綠)軸和Z(藍(lán))軸已經(jīng)被帶動(dòng),然后繼續(xù)轉(zhuǎn)Y軸,同時(shí)Z軸收到帶動(dòng),最后轉(zhuǎn)Z軸。如圖 歐拉角的優(yōu)勢(shì)就是簡(jiǎn)單快捷參數(shù)少,人腦電腦都容易懂。 (別給我說(shuō)你不懂 等會(huì)講四元數(shù)你就知道什么是不懂了) 歐拉角的缺點(diǎn)嘛,經(jīng)驗(yàn)多的動(dòng)畫(huà)師肯定都遇到過(guò),那就是萬(wàn)向軸死結(jié)。 啥是萬(wàn)向軸死結(jié),看一個(gè)簡(jiǎn)單的例子 (啊這例子一點(diǎn)都不簡(jiǎn)單,媽蛋為了還原萬(wàn)向軸錯(cuò)誤試了好久才成功) 這是曲線圖 只有兩幀 我讓一個(gè)圓錐沿單軸旋轉(zhuǎn)180度 然而實(shí)際的效果跟我預(yù)想的不一樣,模型看起來(lái)發(fā)生了一個(gè)拐彎才到達(dá)指定角度, 但是我的的確確只有兩幀,并且曲線也是直的。這就是萬(wàn)向軸死結(jié) 原因是什么,粗暴一點(diǎn)理解就是因?yàn)樽鴺?biāo)軸之間的父子關(guān)系 (復(fù)雜的解釋涉及到數(shù)學(xué)算法,寫(xiě)了你們也不會(huì),才 才不是因?yàn)槲覜](méi)看懂) 由于父子孫關(guān)系的存在,子級(jí)轉(zhuǎn)動(dòng)一定角度之后父級(jí)和孫級(jí)就會(huì)重合,如下圖 X軸和Z軸重合了,這時(shí)候如果我想要轉(zhuǎn)動(dòng)壺身讓壺嘴朝向我,怎么辦沒(méi)有這個(gè)軸了。 (注意 這里我是吧max后臺(tái)的歐拉角坐標(biāo)軸具象出來(lái)了,并非是我們平時(shí)操作max的坐標(biāo)軸) 有一個(gè)軸向沒(méi)有了,此此時(shí)我們必須同事轉(zhuǎn)動(dòng)三個(gè)坐標(biāo)軸,每個(gè)軸轉(zhuǎn)90度,像這樣 我們來(lái)拆解一下步驟,X先順時(shí)針轉(zhuǎn)90度,Y軸順時(shí)針轉(zhuǎn)90度,Z軸逆時(shí)針轉(zhuǎn)90度,大功告成 誒?萬(wàn)向軸情況沒(méi)有發(fā)生對(duì)不對(duì)?恩 我們漏掉了一種情況, 同時(shí)轉(zhuǎn)動(dòng)三個(gè)軸還有一種轉(zhuǎn)法也可以讓壺嘴對(duì)著我 逆時(shí)針轉(zhuǎn)X軸,順時(shí)針轉(zhuǎn)Y軸,順時(shí)針轉(zhuǎn)Z軸 (剛才是 X順時(shí)針轉(zhuǎn),Y軸順時(shí)針轉(zhuǎn),Z軸逆時(shí)針轉(zhuǎn)) 對(duì)吧,那我們開(kāi)看下同時(shí)轉(zhuǎn)這三個(gè)軸我們會(huì)得到什么樣的結(jié)果 好了 萬(wàn)向軸出現(xiàn)了,現(xiàn)在你明白剛剛為什么我吐槽說(shuō),要還原萬(wàn)向軸問(wèn)題很難嘛 因?yàn)樗耆窃谡_的轉(zhuǎn)法和錯(cuò)誤的轉(zhuǎn)法之間隨機(jī)的…… 兩種方案都能實(shí)現(xiàn)最終效果,但是他們的過(guò)程是不同的。 至于你問(wèn)max是如何選擇每次執(zhí)行哪一種過(guò)程,我只能回答是看運(yùn)氣…… 如圖,錯(cuò)轉(zhuǎn)的時(shí)候壺嘴畫(huà)出了一條優(yōu)美的曲線……可能這就是傳說(shuō)中美麗的意外吧…… 說(shuō)了這么多原因,是時(shí)候給解決方法了 第一種, |
|