天天看點

寶寶跟随、寵物跟随主人

遊戲中,寵物幻獸也是必不可少的,此篇部落格為大家帶來的是利用線性插值Lerp()實作寶寶跟随的效果, Vector3.Lerp((from : Vector3, to : Vector3, t : float),form為初始點,to為終點,t為插值因數,當t=1的時候傳回最大值to,當t=0時傳回最小值from,t為0~1的浮點小數,以下為讓寵物移動的腳本:

//寶寶要到達的位置
    public Transform petPoition;
    //建立一個大龍,擷取朝向
    public GameObject dragon;
    void LateUpdate()
    {
        //利用線性插值Lerp()配合增量時間 Time.deltaTime 讓寶寶逐漸接近要到達的位置,産生滑動效果。
        transform.position = Vector3.Lerp(transform.position, petPoition.position,Time.deltaTime);
        transform.LookAt(dragon.transform.position);//寶寶看向大龍
           

腳本中LateUpdate()方法在Update方法後執行,通常用于實作實體應用。

Time.deltaTime表示增量時間,通過不斷把寶寶的位置變為寶寶位置到要到達的位置的插值,而這個插值的因數為Time.deltaTime最終會等于1,是以插值也就是寶寶最終的位置也會與目标位置重合,而展現的效果也是寶寶一開始跟随的速度快到後來也會越來越慢,但最終不會脫離對象,下面以小龍為例,為大家展示這個效果:

寶寶跟随、寵物跟随主人

線性插值Lerp()方法在遊戲制作的應用會很廣泛,今後會為大家深入了解。

我是部落客小磊,歡迎轉載、關注、丢香蕉~~

繼續閱讀