《Genesis-3D遊戲引擎系列教程-進階篇》9:動畫融合

注:本系列進階教程僅針對引擎編輯器:v1.2.2及如下版本

動畫融合

素材資源   工程文件 html

在本實例中,咱們分別製做了融合後的人物動畫和未融合的人物動畫,經過二者的對比,展現了Genesis-3D編輯器所提供的完美的動畫融合效果。 併發

1.建立工程。咱們能夠直接利用以前作好的「動畫」工程。在入門實例中找到「動畫」,點擊「工程下載」下載工程,打開工程,一我的物動畫出如今場景中: 編輯器

2.運行遊戲,能夠看到人物動畫效果: ide

3.爲了造成對比,咱們須要在場景中放兩我的物動畫,一個設置動畫融合,另外一個不設置,經過比較看出效果: 動畫

(1)複製人物動畫zhujue_02,粘貼,可獲得徹底相同的第二我的物動畫: 網站

(2)此時場景中就有了兩我的物。從左到右分別命名爲"player01"和"player02",調整人物位置,使其以下圖排列: ui

4.編輯代碼 spa

(1) 找到動畫的代碼文件UserDefCSharp.csproj,用Mono打開。若是已經將Mono和Genesis-3D編輯器鏈接,那麼直接雙擊腳本文件,就能打開。 3d

(2)往裏添加控制動畫融合的代碼。添加後代碼以下: htm

01 using System;
02 using System.Runtime.CompilerServices;
03 using ScriptRuntime;
04 namespace ScriptRuntime
05 {
06     public class ChactorControll : ScriptableClass
07     {
08         string ForwardAnim = "asset:forward.anim";
09         string RelaxAnim = "asset:relaxation2.anim";
10         public string PlayType="PLAYING";
11         //定義字符串並調用編輯器內部存儲的動畫資源。
12         public override void OnFrame()
13         {
14             if (Input.KeyPressed(Code.W) )
15             {
16                 if(PlayType=="PLAYING")
17                 {
18                     Owner.Animation.PlayAnimation(ForwardAnim);
19                 }
20                 else if(PlayType=="CROSSFADING")
21                 {
22                     Owner.Animation.CrossFading(ForwardAnim,0.5f);
23                 }
24             }
25             //若是按住W鍵,控制播放前進動畫。
26             else
27             {
28                 Owner.Animation.CrossFading(RelaxAnim);
29             }
30             //其餘狀況下,則播放休閒動畫。
31         }
32     };
33     }

(3)點擊"Build"—>"Build UserDefCSharp",對腳本進行編譯。左下方出現"構建成功"表示編譯經過:

5.在代碼中添加的字符串變量PlayType是能夠從編輯器中獲取的內容。此時咱們能夠在右側腳本欄中看到多了一個PlayType(string)輸入框,裏面輸入的內容就是程序中變量PlayType得到的值。咱們設置player01的PalyType值=PLAYING,player02的PalyType值=CROSSFADING:

6.運行併發布遊戲:

每一個人物都有休閒動做和前進動做。在播放休閒動做時,兩個動畫的效果同樣:

當按住鍵盤上W鍵,須要實現從休閒動畫到前進動畫的轉換時,兩個動畫人物的效果出現差異:左側player01因爲設置了動畫融合,因此在轉換時有一個天然地過渡,右側player01因爲沒有設置動畫融合,發生轉變時比較忽然,動做生硬,沒有過渡:

看到這裏,是否是已經瞭解了Genesis-3D所能實現的強大的動畫融合效果呢?趕快動手作出漂亮流暢的動畫效果吧!

引擎官方網站:http://www.genesis-3d.com.cn/

官方論壇:http://bbs.9tech.cn/genesis-3d/

官方千人大羣:59113309   135439306

YY頻道-遊戲開發大講堂(徹底免費,按期開課):51735288 

Genesis-3D開源遊戲引擎:遊戲起源,皆因有我!!!

相關文章
相關標籤/搜索