私はUnityの初心者です!Unity3d 2D Raycastが多分PolygonCollider2Dのポイントを通過します。
Raycast2Dコールからの光線が、時にはPolygonCollider2Dのポイントを通過することがあり、その理由がわかりません。
ヒットは、次の画像で小さな黄色の水平線でマークされています。
予想される動作:
を通る光線:ここ
は私のコードである:
(path
はPolygonCollider2Dの赤い点です)
Debug.DrawLine(origin, new Vector3(path[i].x, path[i].y, 0), Color.yellow, 0, false);
float angle = Mathf.Atan2(path[i].y - origin.y, path[i].x - origin.x);
Vector2 direction = new Vector2(Mathf.Cos(angle), Mathf.Sin(angle));
RaycastHit2D hit = Physics2D.Raycast(origin, direction);
Debug.DrawLine(new Vector3(hit.point.x, hit.point.y, 0), new Vector3(hit.point.x - .2f, hit.point.y, 0), Color.yellow);
Debug.DrawRay(new Vector3(origin.x, origin.y, 0), new Vector3(direction.x, direction.y));
丸め不良ですか?
もしそうなら、どうすれば修正できますか?
あなたのコライダーを少し上げてみましたか?おそらくあなたの広場の位置にフロートのためです。 – Fiffe
スケーリングは役に立ちません。 – Ploppy