最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

用unity制作一個寶可夢——2.制作玩家動畫

2023-06-08 20:59 作者:立志看完尚硅谷  | 我要投稿

1.在window窗口中調(diào)出animation和animator,設(shè)置好玩家的Idle和Walk動畫,采樣頻率統(tǒng)一設(shè)置為6

2.使用混合樹創(chuàng)建好玩家的Idle和Walk

3.在代碼中加入動畫狀態(tài)機,來控制角色正確播放動畫


《PlayerController.cs》

using System.Collections;

using System.Collections.Generic;

using UnityEngine;


//這是一個控制玩家的類,實現(xiàn)的功能有:

//1.上下左右移動

//2.播放移動動畫


public class PlayerController : MonoBehaviour

{

??public float moveSpeed;?//玩家的移動速度


??private bool isMoving;?//是否處在移動

??private Animator animator;?//定義玩家的動畫的狀態(tài)機


??private void Awake()?//Awake():生命周期函數(shù),當組件被實例化并啟用時,該方法將在其它方法之前調(diào)用一次

??{

????animator = GetComponent<Animator>();?//獲取到玩家的狀態(tài)機

??}


??private void Update()

??{

????if (!isMoving)

????{

??????var input = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));

?????


??????if (input.x != 0) input.y = 0;?//限制角色走斜線


??????if (input != Vector2.zero)?//如果輸入的值不為0

??????{

????????//將輸入的x,y值賦予給moveX,moveY,用來控制角色的動畫狀態(tài)

????????animator.SetFloat("moveX",input.x);

????????animator.SetFloat("moveY", input.y);


????????var targetPos = transform.position;?//targetPos:目標的位置

????????targetPos.x += input.x;?????//x方向加上垂直方向輸入進來的值

????????targetPos.y += input.y;?????//y方向加上水平方向輸入進來的值


????????StartCoroutine(Move(targetPos));?//開啟玩家移動的協(xié)程,將目標的位置作為參數(shù)傳遞過去

??????}

????}


????animator.SetBool("isMoving",isMoving);?//將isMoving的狀態(tài)賦予給狀態(tài)機

??}



??IEnumerator Move(Vector3 targetPos)

??{

????isMoving = true;


????// 循環(huán)判斷當前位置與目標位置之間的距離是否大于一個很小的數(shù)值

????while ((targetPos - transform.position).sqrMagnitude > Mathf.Epsilon)

????{

??????// 計算每幀應該移動的距離,并讓物體朝目標位置移動一步

??????transform.position = Vector3.MoveTowards(transform.position, targetPos, moveSpeed * Time.deltaTime);

??????// 讓程序等待下一幀再執(zhí)行

??????yield return null;

????}

????// 直接將物體移動到精確定位到目標位置上,避免偏差堆積

????transform.position = targetPos;


????isMoving = false;

??}

}

用unity制作一個寶可夢——2.制作玩家動畫的評論 (共 條)

分享到微博請遵守國家法律
利辛县| 永定县| 天峻县| 博白县| 茶陵县| 甘谷县| 雷波县| 吴堡县| 娱乐| 庆阳市| 江川县| 南投县| 南木林县| 平阳县| 本溪市| 精河县| 双柏县| 榆中县| 固原市| 高陵县| 福海县| 宜州市| 灵川县| 新泰市| 广安市| 仁怀市| 克什克腾旗| 马公市| 苏尼特右旗| 白银市| 南澳县| 淳化县| 信阳市| 惠水县| 扎鲁特旗| 恩施市| 和平县| 河源市| 尼勒克县| 江安县| 合肥市|