最近由于項(xiàng)目需要,對(duì)Unity內(nèi)置的Animator和Animation進(jìn)行了研究使用。本文將對(duì)此次項(xiàng)目對(duì)Unity動(dòng)畫控制進(jìn)行簡(jiǎn)單介紹。
首先,先明確Unity動(dòng)畫控制器中的幾個(gè)類對(duì)象有以及他們之間的關(guān)系。Animator:動(dòng)畫控制器,Unity中可以使用Animator窗口來(lái)制作簡(jiǎn)單的機(jī)械動(dòng)畫。AnimationClip動(dòng)畫片段,動(dòng)畫片段可以在Unity中或者3dmax等建模軟件創(chuàng)建。Animation:動(dòng)畫組件,可以由多個(gè)AnimationClip組成Animation的動(dòng)畫片段列表,進(jìn)行播放控制。AnimationState:后臺(tái)動(dòng)畫片段的狀態(tài)控制類,不僅可以對(duì)動(dòng)畫片段的時(shí)間、速度等進(jìn)行設(shè)置,同時(shí)也可對(duì)動(dòng)畫的融合過(guò)程進(jìn)行控制。AnimationState可以對(duì)Animaiton中所包含的多個(gè)AnimationClip進(jìn)行遍歷(foreach AnimationState in Animation),然后對(duì)每個(gè)動(dòng)畫片段進(jìn)行控制操作。
Animation、AnimationState、AnimationClip三者之間的關(guān)系應(yīng)該是:Animation是動(dòng)畫整體里面包含多個(gè)動(dòng)畫片段,而AnimatonState是對(duì)每一個(gè)動(dòng)畫片段進(jìn)行控制,所以說(shuō)一個(gè)Animation對(duì)應(yīng)多個(gè)AnimationState,而每一個(gè)AnimationState中有一個(gè)AnimationClip從而實(shí)現(xiàn)對(duì)AnimationClip的功能的封裝控制。