【问题标题】:Unity 2D animationsUnity 2D 动画
【发布时间】:2020-09-23 17:20:28
【问题描述】:

我正在开发一个平台游戏,最近我遇到了这样一个恼人的问题。

我从玩家的空闲动画制作了一个攻击动画。似乎没有那么难,不是吗?但后来我想再做一个,但这次来自跑步动画。机器人(主角)手里总是拿着一个扳手,这只手在播放跑步动画时是动画的。所以我想打破一个跑步动画,播放攻击,然后在某个时间返回跑步动画。是否有任何统一的功能可以做到这一点?

只需 breakcontinue 但对于统一动画...

【问题讨论】:

    标签: unity3d animation break continue


    【解决方案1】:

    请了解unity`s animation system。有很多关于你问的基础知识的视频教程。

    简而言之,您必须使用 Animator Controller 组件,该组件内部有一个状态机用于您的动画。你可以控制这个状态机,设置参数。所以,要做你想做的事,你只需要为攻击设置一些定义的触发器,然后,当你需要时,为运行动画设置另一个触发器。

    【讨论】:

    • 是的,我知道,但是我可以在那里进行break and continue之类的操作吗?
    • 您到底想做什么?字符运行。你想打攻击,然后返回跑?你的意思是如何中断当前的运行动画?或者你只需​​要为机器人的手播放攻击动画?或者你需要准确地回到跑步的动画时间,然后切换到攻击?
    • 第三个:我想打断手部的奔跑动画,用这只手打出攻击,然后回到手部奔跑动画的特定时刻。我想还有另一种更简单的方法来制作攻击动画,但我相信我在团结方面的经验还不够。
    • 统一有不同的动画层。您可以将攻击动画放在单独的图层上。您可以为图层设置头像蒙版 - 将受此图层影响的一组变换,在您的情况下,它是手动变换。还有一个层权重。以及两种混合模式:additive 和 override,需要设置 override。
    • 因此,您创建了一个“攻击”层,其中包含手部动画。这一层有一个头像蒙版,它从动画中排除了所有东西,除了手。初始层权重为0。当需要攻击动画时,将层权重设置为1,开始播放攻击动画。机器人的腿仍在运行——它们通过在基础层上运行动画来控制。但他的手确实击中了。之后(你需要知道时间),你将层权重设置为零,机器人继续像往常一样运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多