启用动画后脚本不工作

问题描述 投票:0回答:2

我正在测试用脚本使一个立方体移动。我还为立方体制作了一个简单的滚动动画,只要我移动立方体就会激活。

但是当动画在检查器标签下被 "选中 "为激活时,立方体并没有移动。只有当我禁用动画时,立方体才会移动,因此当我移动立方体时,甚至无法看到动画是否正常工作。这个立方体是从Blender导入到Unity的。请建议我做错了什么。

脚本如下。这是一个非常简单的小测试文件,因此我把我的Unity和Blender文件也附在Dropbox上供参考,如果有帮助的话。谢谢你的帮助。

链接到Unity项目。

https:/www.dropbox.comshcvpjf26i31o1ellAABmLMqYV4tPiG7qruph2D4Ra?dl=0

Blender模型和动画的链接。

https:/www.dropbox.comsdeowh3yk5wpse1ubox.blend?dl=0

立方体的运动脚本。

public float speed = 10.0F;
    Animator anim;

    void Update()
    {
        float translation = Input.GetAxis("Vertical") * speed;
        translation *= Time.deltaTime;
        transform.Translate(0, 0, translation);

        Animating(translation);
    }

    void Animating(float v)
    {
        bool roll = v != 0f;
        anim.SetBool("Roll", roll);
    }
c# unity3d blender
2个回答
1
投票

我已经更新了这个项目,并把它放回dropbox上。

https:/dl.dropboxusercontent.comu9274763MechanimTester%20v2.zip。

我添加了一个新的emtpy gameobject,并将blender cube作为其子对象。

TestScript现在被附加到那个新的gameobject上并控制它的位置,现在动画只适用于子对象,所以动画不再干扰立方体的位置。

(以前发生的情况是动画修改了游戏对象的变换--现在由于它是一个子对象,所以它不会影响它的父对象,所以它不会重新设置整个游戏对象的位置)

这有意义吗? 加勒特

© www.soinside.com 2019 - 2024. All rights reserved.