teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

具体的に解決策を記載

2020/11/28 14:49

投稿

Ram.Type-0
Ram.Type-0

スコア424

answer CHANGED
@@ -1,3 +1,5 @@
1
1
  同じ2次元スクリーン座標に来るワールド座標は一つではありません。カメラから見て直線上に位置する座標はすべて同じ2次元スクリーン座標になるからです。
2
2
  なので、Camera.ScreenToWorldPointはXYの2次元スクリーン座標に加えてZでカメラからの奥行きも考慮して座標を算出します。
3
- そのコードではZを指定していないので、Zは0になっています。Zが0ってことはカメラからの奥行きが0ってことなので、2次元スクリーン座標がどこだろうとワールド座標はカメラの座標と同じになります。
3
+ そのコードではZを指定していないので、Zは0になっています。Zが0ってことはカメラからの奥行きが0ってことなので、2次元スクリーン座標がどこだろうとワールド座標はカメラの座標と同じになります。
4
+
5
+ Camera.ScreenToWorldPointに渡すVector3のZでカメラからの奥行きを指定すれば、想定どおりに動作するでしょう。