大家好,,我是拉撒路 今天我們要解決的是,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)畫師都遇到過(guò)bone不聽話亂轉(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í)。 我們常見的坐標(biāo)軸,,三個(gè)軸向永遠(yuǎn)是互相垂直的,,但是歐拉角的坐標(biāo)軸只要開始轉(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)畫師肯定都遇到過(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é)算法,,寫了你們也不會(huì),,才 才不是因?yàn)槲覜]看懂) 由于父子孫關(guān)系的存在,子級(jí)轉(zhuǎn)動(dòng)一定角度之后父級(jí)和孫級(jí)就會(huì)重合,,如下圖 X軸和Z軸重合了,,這時(shí)候如果我想要轉(zhuǎn)動(dòng)壺身讓壺嘴朝向我,怎么辦沒有這個(gè)軸了,。 (注意 這里我是吧max后臺(tái)的歐拉角坐標(biāo)軸具象出來(lái)了,,并非是我們平時(shí)操作max的坐標(biāo)軸) 有一個(gè)軸向沒有了,此此時(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)向軸情況沒有發(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ì)吧,,那我們開看下同時(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í)候壺嘴畫出了一條優(yōu)美的曲線……可能這就是傳說(shuō)中美麗的意外吧…… 說(shuō)了這么多原因,是時(shí)候給解決方法了 第一種, |
|