看标题就知道今天这个视频是在unity3d下,怎么用C#代码控制游戏动画,比如像角色通过WSAD行走、JKUI释放技能等动画,是做游戏的重要环节之一,我们继续往下看。
在Unity中,可以使用Animator组件和Animator Controller来控制动画的状态。下面是一个简单的示例代码,演示如何使用代码控制动画状态:
首先,创建一个Animator Controller,然后在Inspector窗口中添加一个新的状态。假设我们创建了一个名为“State1”的状态。
接下来,我们需要将Animator Controller与动画关联起来。假设我们有一个名为“MyAnimation”的动画,我们可以在Inspector窗口中将Animator Controller拖放到动画的Animator组件中。
现在,我们可以使用代码来控制动画的状态。下面是一个简单的示例代码:
using UnityEngine;
public class AnimationController : MonoBehaviour
{
Animator animator;
void Start()
{
animator = GetComponent<Animator>();
}
public void SetState(string stateName)
{
animator.SetState(stateName);
}
}
在这个代码中,我们首先获取Animator组件的引用,然后定义了一个名为“SetState”的方法,该方法接受一个字符串参数,表示要设置的状态名称。在方法内部,我们使用“SetState”方法将Animator组件的状态设置为指定的状态。
现在,我们可以使用这个方法来控制动画的状态。例如,假设我们在另一个脚本中需要将动画状态设置为“State1”,我们可以像下面这样调用“SetState”方法:
AnimationController animationController;
void Start()
{
animationController = FindObjectOfType<AnimationController>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
animationController.SetState("State1");
}
}
在这个代码中,我们首先获取“AnimationController”组件的引用,然后在按下空格键时调用“SetState”方法将动画状态设置为“State1”。
需要注意的是,这只是一个简单的示例代码,实际使用中可能需要根据具体需求进行更复杂的逻辑控制。同时,在使用代码控制动画状态时,需要确保Animator组件的“Apply Root Motion”选项已经被关闭。
往期视频回顾:
01第一课【unity的介绍】
02第二课【我的第一个项目】
03第三课 【创建游戏对象 GmaeObject】
04第四课【 创建游戏对象 下】
05第五课 【序列图剪切工具】
06第六课【 我的第一个脚本】

更多交流点击入群