Unity - JavaScript汽车走向错误的方向

时间:2016-02-28 13:10:22

标签: javascript unity3d

我目前正在制作一款赛车游戏,为此我很明显地模拟了一辆汽车。然后我完成了所有的汽车物理后,我决定开一辆新车!这就是我做的。我把汽车放入游戏中,将汽车运动脚本分配给它,附上必要的部件,刚体,碰撞器,碰碰器等等......我试着驾驶它但是汽车侧身......我试着复制汽车脚本和更改一些语句,但它不起作用。我试着回到Blender的模型并将其旋转90度,当我加载它时它没有用。 这是运动代码:

if(Input.GetAxis("Forward") && isMovingBackward == false) {

        if(lastDir == "backward") {

            deaccelerate();
            braking = true;
            canRotLeft = false;
            canRotRight = false;
        } if(!(lastDir == "backward") && canMoveForw == true) {

            lastDir = "forward";

            accelerate();

            isMoving = true;
            isMovingForward = true;
            isMovingBackward = false;
            canRotLeft = true;
            canRotRight = true;

            col();

            transform.Translate(Vector3(1, 0, 0) * speed * Time.deltaTime);
        }
    }
    if(!(Input.GetAxis("Forward"))) {

        isMovingForward = false;
    }

    if(!(Input.GetAxis("Backward"))) {

        isMovingBackward = false;
    }

    if(Input.GetAxis("Backward") && isMovingForward == false) {

        if(lastDir == "forward") {

            deaccelerate();
            braking = true;
            canRotLeft = false;
            canRotRight = false;
        } if(!(lastDir == "forward") && canMoveBack == true) {

            lastDir = "backward";

            accelerate();

            isMoving = true;
            isMovingBackward = true;
            ifMovingForward = false;
            breakingBack = false;
            canRotLeft = true;
            canRotRight = true;

            col();

            transform.Translate(Vector3(1, 0, 0) * -speed * Time.deltaTime);
        }
    }

如果您需要更多代码,请问我会提供它但不要指望整个脚本,因为它的长度为500行。

2 个答案:

答案 0 :(得分:1)

必须在建模程序中使用z-forward

这是3D行业的绝对基础,当你建模时,必须在Z-FORWARD中工作

没有真正的方式来“修复”这个。

你可以浪费你的时间或者你可以回到搅拌机并用z-forward重新做。诚实!

一个模型制作者构建一些东西是完全正常的,然后它必须回去修复,因为这个人忘了对它进行z-forward建模。

特别是当您在车辆上工作时,每个小件必须是z-forward。

例如,经常吸引人的东西是左右轮/轮胎确实必须单独为z-forward(你不能只是“在游戏中转过身来”)。

答案 1 :(得分:0)

通常情况下,如果我遇到这种问题,我导出的模型会导致问题。

你很伤心,你试图在Blender中旋转90度。您是否也将旋转应用于模型? 如果没有,请尝试再次旋转并按Ctrl键。 + A并应用旋转和缩放。