結論。
Physics2D.Raycastを使えば出来ました。
↓このページに載ってます…。
Physics2D-Raycast - Unity スクリプトリファレンス
Casts a ray against Colliders in the Scene.
↓自分が2Dでやろうとしてしまったページ
Physics-Raycast - Unity スクリプトリファレンス
Casts a ray, from point origin, in direction direction, of length maxDistance, against all colliders in the Scene.
余談
(リファレンスのコードで)何かVector3.forwerdを使ってるな~(Vector3.forwerdはVector3(0, 0, 1) と同じ意味)何でだろうな~とか思って、あっ!3Dだから奥行きがあるんだと気づいて、じゃあVector3.rightを使えば(Vector3.rightはVector3(1, 0, 0) と同じ意味)2Dでも行けるかな?とか思いましたが、それでもダメで…Physics.Raycastの他の引数とかも見てみましたがイマイチ良く分からなくて…みたいな状態が続いていましたが、ふと2Dがあるのでは?と思って調べてみたところ、案の定Physics2D.Raycastがありました…。
今度から2D版があるかをしっかり調べようと思います…自分の事だし、また忘れて同じようなハマり方してそうですが…。
あと、Physics.Raycastはbool型を返し、Physics2D.RaycastはRaycastHit2D型を返しおり、扱い方はかなり違うっぽいです。
Debug.DrawRayには2Dとかもなく、普通に描画してくれました。
同じようなハマり方をした人がいたときように書いておきます…いるかな…。
コメント