前提・実現したいこと
フックショットみたいな機能を作ろうと思い、レイをプレイヤーからマウスをクリックした座標まで飛ばそうとしました。
発生している問題・エラーメッセージ
レイの可視化も出来てないのでどういう状態なのか分かりません
該当のソースコード
if(Input.GetMouseButtonDown(0)){ Vector2 mousePos = Input.mousePosition; Ray2D ray = new Ray2D(transform.position, mousePos); int distance = 10; RaycastHit2D hit = Physics2D.Raycast(ray.origin, mousePos,distance); if(hit.collider.tag=="HookPoint"){ Debug.DrawRay(ray.origin, ray.direction*distance,Color.red); Debug.Log("HIT"); } }
補足情報(FW/ツールのバージョンなど)
Unity 2018.4.7fi
そもそも聞きたいのはなんですか?
全部聞きたいです、みたいなのは私の代わりに作ってくださいとほぼ同義ですから、
聞きたいことを絞ってください
横スクロールの2Dゲームを想定していて、タップした位置までスパイダーマンのように移動する仕組みを実装しようとしています。プレイヤーからタップした位置までレイを飛ばそうとしたのですが、デバッグログにも何も表示されずそもそもこのコードで合ってるのか聞きたかったです。
考えがまとまってない状態で質問してしましました、ご指摘ありがとうございます。
「Input.mousePositionとは何を意味しているのか」を把握すれば分かるかと思います。
(なぜそうなるのかよく分からない系の事態では、まずメソッドやプロパティの意味を調べましょう)
https://docs.unity3d.com/ja/current/ScriptReference/Input-mousePosition.html
http://nekosuko.jp/blog/?p=267
そうでなくとも「Debug.Log(mousePos);」など変数全部を確認すれば「ここ変だな?」と気付くと思います。
可視化できないものは適当な画像を同座標に作成してみる。等
テスト用に見えるオブジェクトで試してみたり、
Debug.Logで変数の中身を出力してみたりすると
分かりやすくデバッグできますよ。
回答1件
あなたの回答
tips
プレビュー