无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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.制作玩家動畫的評論 (共 條)

分享到微博請遵守國家法律
沾益县| 彭水| 闽清县| 富宁县| 连江县| 嵊州市| 西丰县| 峨山| 广汉市| 利辛县| 灵宝市| 定西市| 小金县| 静乐县| 吉安市| 拉萨市| 咸宁市| 黑水县| 中方县| 拉孜县| 富川| 锦州市| 凤阳县| 潮州市| 库尔勒市| 平罗县| 长岛县| 二连浩特市| 襄汾县| 光山县| 博兴县| 苍山县| 龙岩市| 通辽市| 泽普县| 宁强县| 施秉县| 许昌市| 广河县| 新民市| 岳阳县|