【发布时间】:2019-07-24 02:08:50
【问题描述】:
我正在为自上而下的游戏中的角色制作动画。当玩家向前移动到顶部时,我让动画工作,但是,每当我用鼠标旋转玩家(瞄准)时,向前动画现在是左/右等等。我使用 Unity3d 和 C#与混合树动画。
我使用的代码很简单:
animator.SetFloat("VelX", playerInput.Horizontal);
animator.SetFloat("VelY", playerInput.Vertical);
当我向鼠标位置移动时,我不知道如何播放前向动画。
我的解决方案:
var heading = Input.mousePosition - this.transform.position;
var distance = heading.magnitude;
var dir = heading / distance;
animator.SetFloat("VelX", playerInput.Horizontal * Mathf.Cos(dir));
animator.SetFloat("VelY", playerInput.Vertical * Mathf.Sin(dir));
任何帮助将不胜感激。
【问题讨论】:
标签: c# unity3d animation trigonometry game-development