我目前正在制作一款赛车游戏,为此我很明显地模拟了一辆汽车。然后我完成了所有的汽车物理后,我决定开一辆新车!这就是我做的。我把汽车放入游戏中,将汽车运动脚本分配给它,附上必要的部件,刚体,碰撞器,碰碰器等等......我试着驾驶它但是汽车侧身......我试着复制汽车脚本和更改一些语句,但它不起作用。我试着回到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行。
答案 0 :(得分:1)
你
这是3D行业的绝对基础,当你建模时,必须在Z-FORWARD中工作。
没有真正的方式来“修复”这个。
你可以浪费你的时间或者你可以回到搅拌机并用z-forward重新做。诚实!
一个模型制作者构建一些东西是完全正常的,然后它必须回去修复,因为这个人忘了对它进行z-forward建模。
特别是当您在车辆上工作时,每个小件必须是z-forward。
例如,经常吸引人的东西是左右轮/轮胎确实必须单独为z-forward(你不能只是“在游戏中转过身来”)。
答案 1 :(得分:0)
通常情况下,如果我遇到这种问题,我导出的模型会导致问题。
你很伤心,你试图在Blender中旋转90度。您是否也将旋转应用于模型? 如果没有,请尝试再次旋转并按Ctrl键。 + A并应用旋转和缩放。