我目前正在开发一款赛车游戏,显然我为它制作了一辆汽车模型。然后,在我完成所有汽车物理知识后,我决定制造一辆新车!这就是我所做的。我将汽车放入游戏中,为其分配汽车运动脚本,附加必要的组件,刚体,碰撞器,保险杠首选项等...我尝试驾驶它,但汽车侧向...我尝试复制汽车脚本并更改了一些语句,但它不起作用。我尝试返回 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 行长。
最佳答案
你
必须在建模程序中使用 z-forward
建模时必须使用 Z-FORWARD 是 3D 行业的绝对基础。
没有真正的方法来“解决”这个问题。
您可以浪费时间,或者您可以返回 blender 并使用 z-forward 重新进行操作。诚实!
模型制作者构建了一些东西,然后必须返回进行修复,因为该人忘记对其进行 Z 轴前向建模,这是完全正常的。
特别是当您在车辆上工作时,每个小部件都必须是 z 轴方向的。
例如,经常让人们困惑的是左右车轮/轮胎确实必须分别是 z 向前的(你不能只是“在游戏中将它们转向”)。
关于javascript - Unity——JavaScript 汽车走错方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35682936/