注:本系列進階教程僅針對引擎編輯器: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
02 |
using System.Runtime.CompilerServices; |
04 |
namespace ScriptRuntime |
06 |
public class ChactorControll : ScriptableClass |
08 |
string ForwardAnim = "asset:forward.anim"; |
09 |
string RelaxAnim = "asset:relaxation2.anim"; |
10 |
public string PlayType="PLAYING"; |
11 |
//定義字符串並調用編輯器內部存儲的動畫資源。 |
12 |
public override void OnFrame() |
14 |
if (Input.KeyPressed(Code.W) ) |
16 |
if(PlayType=="PLAYING") |
18 |
Owner.Animation.PlayAnimation(ForwardAnim); |
20 |
else if(PlayType=="CROSSFADING") |
22 |
Owner.Animation.CrossFading(ForwardAnim,0.5f); |
28 |
Owner.Animation.CrossFading(RelaxAnim); |
(3)點擊"Build"—>"Build UserDefCSharp",對腳本進行編譯。左下方出現"構建成功"表示編譯經過:
5.在代碼中添加的字符串變量PlayType是能夠從編輯器中獲取的內容。此時咱們能夠在右側腳本欄中看到多了一個PlayType(string)輸入框,裏面輸入的內容就是程序中變量PlayType得到的值。咱們設置player01的PalyType值=PLAYING,player02的PalyType值=CROSSFADING:
6.運行併發布遊戲:
每一個人物都有休閒動做和前進動做。在播放休閒動做時,兩個動畫的效果同樣:
當按住鍵盤上W鍵,須要實現從休閒動畫到前進動畫的轉換時,兩個動畫人物的效果出現差異:左側player01因爲設置了動畫融合,因此在轉換時有一個天然地過渡,右側player01因爲沒有設置動畫融合,發生轉變時比較忽然,動做生硬,沒有過渡:
看到這裏,是否是已經瞭解了Genesis-3D所能實現的強大的動畫融合效果呢?趕快動手作出漂亮流暢的動畫效果吧!