回答編集履歴
1
補足を追記
test
CHANGED
@@ -1,3 +1,9 @@
|
|
1
1
|
タップ開始点と終了点をそれぞれ[ScreenToWorldPoint](https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html)でワールド座標にして、両者の差を取ってワールド座標系でのスワイプベクトルとし、それをさらにパネルのtransformの[InverseTransformVector](https://docs.unity3d.com/ScriptReference/Transform.InverseTransformVector.html)に渡してパネルローカル座標系でのスワイプベクトルを求める、というのはどうでしょう?
|
2
2
|
|
3
3
|
あとはその変換したスワイプベクトルのxの絶対値とyの絶対値を比較すれば(パネルがローカル座標においてZ軸+に面しており、パネル上縁がY軸+を向いている場合です)、パネルに対して左右にスワイプしたか上下にスワイプしたか判定できるのではないでしょうか。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
[補足を追記]
|
8
|
+
|
9
|
+
最初の部分で申し上げました、タップ開始点と終了点のワールド座標を求めるという件についてですが、たとえばカメラからレイキャストしてパネルとの衝突点を取っているのでしたら、衝突点がそのままワールド座標で得られるのでScreenToWorldPointを使う必要はないでしょう。ご質問者さんの設計に合った方法を試してみてください。
|