Unity C# Animation Event教學

 

  • 此篇重點

本篇教學的重點著重在於使用"Animation Event"來進行動畫與程式碼之間的呼叫控制

而在範例中我們會示範在如何在2D動畫撥放完畢後執行我們寫好的程式碼,而實際的效果

將會跟下面影片所呈現的一樣,當我們的角色播放完攻擊動畫之後,則會去執行C#函式。

 

  • 此篇效果 - Animation Event * * * *

 

 

 

 

 

-  大概了解重點後,接下來進入完整教學   -

 

一、首先我們要建置好一個可以播放動畫的遊戲角色,這裡我們使用2D連續圖製作好了一個會播放「站立」與「攻擊」兩種動畫的忍者(2D動會建置在這裡就不贅述,如果對於2D動畫建置有教學需求的朋友也歡迎下面留言跟我們說)

1.建置完畢後效果如下

 

二、當我們建置完我們要的角色與動畫後,接下來我們要讓我們的動畫可以觸發一些「事件」首先我們要先新增一個動畫事件

 

1. 點選WindowsAnimation視窗

 

2.Hierachy中選擇自己的角色,在點選剛剛呼叫出來的Animation視窗

 

3.按下Animation視窗由上角的事件新增按鈕就可以看到在動畫條上出現的新動畫事件。

 

4.新增完動畫事件後,你可以依照你的需求任意移動事件,調整它的觸發時間。

 

 

三、新增完動畫事件後我們要讓這個動畫可以觸發我們的C#程式碼,接下來就先來新增一段簡單的程式碼吧!

 

1.我們先新增一段名為「NinjaHit」的程式碼,並編寫下列的程式碼:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class NinjaHit : MonoBehaviour {

    public void DamageTrigger()

    {

        Debug.Log("造成10的傷害");

    }

}

 

2.新增完畢後我們儲存好這段程式碼就可以回到編輯模式中囉!

 

四、這個步驟,我們要讓剛剛新增的Animation Event能夠去呼叫程式碼中的DamageTrigger函式

 

1.首先先把NinjaHit這段程式碼拖曳到角色身上

 

2.接下來我們在Animation視窗中找到我們剛剛新增的Animation Event(Inspector視窗中)

 

3.然後我們點選我們要呼叫的Function

 

 

五、接下來按下執行按鈕後,每當我們執行一次攻擊動畫,Animation Event都會去呼叫一次函式,且呈現下面的效果。

 

  • 此篇重點

這篇文章主要的重點在於如何利用動畫事件(Animation Event)來觸發程式碼的功能,

相信在開發動作遊戲的過程中這會是相當好用的技巧,學起來就是自己的囉!!!

 

 

-------------------------------------------------------------------------------------------------------------------------------------

 

我們有粉絲專頁囉!!!       

如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!

https://www.facebook.com/Straying2018/

 

●     如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !  

●     對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!  

●     有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家!

                                 -Alex-    

 

 

 

arrow
arrow
    全站熱搜

    『迷途』 發表在 痞客邦 留言(0) 人氣()