0
私は、ホイールコライダーと私のモデルを設定しているし、それが正常に駆動します。サスペンションをシミュレートするホイールメッシュの位置を含め、すべてがうまくいきます。私の唯一の問題は、私がゲームを走らせると、私の車輪がY軸上で90度回転し、横にそって回転することです。スクリプト内のメッシュを回転させて正しく表示させるにはどうすればよいですか?私は主に位置だけが必要ですが、wheel.getworldposeを使用すると私にQuaternionとVector3を使用させます。クォータニオンを使わずにこれを行うことはできますか?相続人 ホイールメッシュを適切な軸で回転させるにはどうすればよいですか?
画像
...私は最終的にコメントアウトすることでこの問題を解決しまし// Visual updates
void Update()
{
if (!driveable)
{
return;
}
// SETUP WHEEL MESHES
// Turn the mesh wheels
frontLeftWheelWrapper.localEulerAngles = new Vector3(0, 0, steerAngle);
frontRightWheelWrapper.localEulerAngles = new Vector3(0, 0, steerAngle);
// Wheel rotation
frontLeftWheelMesh.Rotate(0, 0, wheelFL.rpm/60 * 360 * Time.deltaTime);
frontRightWheelMesh.Rotate(0, 0, wheelFR.rpm/60 * 360 * Time.deltaTime);
rearLeftWheelMesh.Rotate(0, 0, wheelRL.rpm/60 * 360 * Time.deltaTime);
rearRightWheelMesh.Rotate(0, 0, wheelRR.rpm/60 * 360 * Time.deltaTime);
//Wheel Position
foreach (WheelCollider wheel in m_Wheels)
{
Quaternion q;
Vector3 p;
wheel.GetWorldPose(out p, out q);
// Assume that the only child of the wheelcollider is the wheel shape.
Transform shapeTransform = wheel.transform.GetChild(0);
shapeTransform.position = p;
shapeTransform.rotation = q;
}
は、他のゲームオブジェクトの車輪の子供を作る示唆し、そのゲームオブジェクトを回転させるつもりだった:P – Lestat