0
を調整します。問題はレイキャストを呼び出すと(0,0,0)のワールド座標を指しているときですが、オブジェクトから前方に向かう方向を述べました。、私のレイキャストは常に(0,0,0)の世界を指していることは、私は車のエンジンのスクリプトを研究開発をしていると私は障害物を避けるために、レイキャストを使用したい
public float sensorLength = 10f;
public float frontSensorPosition = 3.65f; // distance from the center of
//the car to its front
public float frontSideSensorPosition = 1.1f;
private void FixedUpdate() {
Sensors();
ApplySteer();
Drive();
CheckWayPointDistance();
}
private void Sensors()
{
RaycastHit hit;
Vector3 sensorStartPos = transform.position;
sensorStartPos.z += frontSensorPosition;
Vector3 fwd = transform.TransformDirection(Vector3.forward);
if (Physics.Raycast(sensorStartPos, fwd, out hit, sensorLength))
{
}
Debug.DrawLine(sensorStartPos, hit.point, Color.green);
}
出力はこれです: https://i.imgsafe.org/00/0038d11730.png
ない場合は、私もこれが機能することを知っている私のエディタを必要としないこの作品なら、私に教え、または教えてください を打ったとき、それは赤い線を描画します。 – Draco18s
残念ながら、別の問題があります。 –
私は障害物で私の車を囲んでいました。最終的には衝突を見ることはありません。 ブール障害= Physics.Raycast(sensorStartPos、FWD、アウトsensorLength、ヒット)。 Debug.Log( "OBSTACLE:" + obstacle); 常にfalseを示します。 –