将 FPS 相机动画从空闲过渡到行走?
Transition FPS Camera Animation from Idle to Walking?
所以,我最近学习了如何为某些对象设置动画,但我不知道代码是如何工作的。
我了解了动画师选项卡,如果我按住移动键,闲置相机动画将从行走状态过渡。我在 youtube 和 google 上搜索了教程,但我只能找到模型上的动画,而不是相机上的动画。
如果我在相机上使用那个逻辑,实际上什么也没有发生,我不知道该写什么。
我设置了一个布尔值,它被标记为“WalkingForward”,因为我在不同的动作上有不同的动画。
为true时播放前行动画,为false时返回闲置动画。
我唯一想不通的是检测“水平”和“垂直”运动以开始播放动画的代码。
这是我的动画控制器选项卡 link https://imgur.com/a/euM9yFl ,如果有人有想法,我将不胜感激。
您可以handle/detect在Update()
方法中移动GameObject
,然后获取Animator
相机并设置Animator参数。
有关详细信息,请参阅 Unit Animation Parameters Docs,但总体思路是这样的:
// Update method attached to wherever you want to detect movement
void Update()
{
// isMovingHorizontally and iMovingVertically are not defined here
// They could either be based off the speed/momentum of the GameObject
// Or the input from the player
var isMovingHorizontally = isMovingHorizontally();
var isMovingVertically = isMovingVertically();
animator.SetBool("MovingHorizontally", fire);
animator.SetBool("MovingVertically", fire);
}
所以,我最近学习了如何为某些对象设置动画,但我不知道代码是如何工作的。
我了解了动画师选项卡,如果我按住移动键,闲置相机动画将从行走状态过渡。我在 youtube 和 google 上搜索了教程,但我只能找到模型上的动画,而不是相机上的动画。
如果我在相机上使用那个逻辑,实际上什么也没有发生,我不知道该写什么。
我设置了一个布尔值,它被标记为“WalkingForward”,因为我在不同的动作上有不同的动画。
为true时播放前行动画,为false时返回闲置动画。
我唯一想不通的是检测“水平”和“垂直”运动以开始播放动画的代码。
这是我的动画控制器选项卡 link https://imgur.com/a/euM9yFl ,如果有人有想法,我将不胜感激。
您可以handle/detect在Update()
方法中移动GameObject
,然后获取Animator
相机并设置Animator参数。
有关详细信息,请参阅 Unit Animation Parameters Docs,但总体思路是这样的:
// Update method attached to wherever you want to detect movement
void Update()
{
// isMovingHorizontally and iMovingVertically are not defined here
// They could either be based off the speed/momentum of the GameObject
// Or the input from the player
var isMovingHorizontally = isMovingHorizontally();
var isMovingVertically = isMovingVertically();
animator.SetBool("MovingHorizontally", fire);
animator.SetBool("MovingVertically", fire);
}