質問: pos2; 自動生成され、落ちてくるキューブに上のスクリプトを適用することで 移動はできるようになったのですが、z軸の方向への移動ができません。 z=30で固定しているからできないのは当たり前だと思い、 そこの文を消して実行すると、クリックしたとたんに消えてしまいました。 y軸はクリックされても移動しないで落下を阻害しないようにしています。 どうすれば、落下中にクリックした場所への移動ができるようになるんでしょうか? ご教授お願いします。 回答ありがとうございます。追記です。 他の方法を試そうと思い少し挑戦してみました。 動かしたいキューブとは別に、パネルのようなものを用意して そのパネルをクリックしたときのy軸をキューブのz軸に、 パネルをクリックしたときのx軸を同じくキューブのx軸に対して動かせないかと思っています。 前回はキューブはプレハブ化してクリックされたときの動きはキューブにスクリプトとして適用しており、それをGameControllerというスクリプトで自動生成していました。 今回新しくパネルを作ってそれにスクリプトを作ってクリックされたときにキューブを取得して動かそうと思い調べたのですが、いまいちコードの書き方がわかりません。 パネルにスクリプトを適用してそこからクリックを検出してy軸x軸をキューブのz軸x軸にしてキューブを動かすのがいいのか、 キューブにスクリプトを適用してパネルがクリックされたことを検出してクリックされたy軸x軸を自分のz軸x軸に変えて動かす方がいいんでしょうか? あと、パネルのy軸をそのままキューブのz軸にするとなると パネルのy軸(xyzすべて)の基準も変えなければいけないような気がします。 調べたところRayやTagでなんとかできそうだったのですが、 上手くできず進展しませんでした。 再度、ご教授いただけるとありがたいです。
回答: z軸の指定無し時に画面から消えるとのことですので、 Camera.main.ScreenToWorldPointによって得られるpos2.z(カメラのz位置)に キューブが移動してしまったことでカメラがキューブの内側から撮影することとなり ポリゴン内側の描画がされないことから消えてしまったように見えることが原因ではないでしょうか? > > 落下中にクリックした場所への移動ができるようになるんでしょうか? > > > クリック位置はスクリーン上の(x、y)で、(z)はカメラのz位置になるので、 不都合があるようでしたら自分で指定する必要があります。 ``` pos2.y = transform.position.y; pos2.z = transform.position.z; // 追加 ``` と指定すればキューブのz軸はクリック前と変化なく配置されるはずです。