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

質問編集履歴

2

太字追加、追記

2021/11/25 23:48

投稿

Kotaro22
Kotaro22

スコア21

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,7 @@
7
7
  インプット機能(スワイプ、タップ)関連初心者です。
8
8
  現在モバイルアプリを作っているのですが、スマホスクリーンに対しての機能の導入が上手くいっていないので質問を投稿しました。
9
9
 
10
+ **概要**
10
11
  スマホスクリーンに対して指が触れている間、動的(毎フレーム)に指が触れているポジション(x,y座標)をVector2で取得し、下記のスクリーンショット内に配置されている四角イメージのx,y座標を予めスクリプト内にVector2リストで保存しておいて、指が触れた際に当たり判定を取得する機能を実装しようとしています。
11
12
 
12
13
  Unityで新しいinput systemが導入されている為、それを利用し2 - 3枚目のスクリーンショットの様にタップとスワイプが出来る様に試みたのですが、指が触れている場所を動的に取り続ける機能の実装が頭の中で上手く組み立てられないので、何方か似たような機能を既に実装された経験のある方居ましたらアドバイスして頂けないでしょうか?? この投稿の最下部に新しいinput systemに対して使用しているスクリプトを記載しておきます。
@@ -23,6 +24,7 @@
23
24
 
24
25
 
25
26
  ———————————————
27
+ **実装を試みている方法2**
26
28
  また上記の実装方法が上手くいかなかった場合に備えて以下の方法も考えています。入力機能に関して知識が浅いので、別に良い方法があったり、これら2つの方法の不備・欠点がある場合は指摘なども同時にして頂けると幸いです。
27
29
 
28
30
  2dコライダーが付いた透明GameObjectを指が触れた場所にinstantiateして指の動きと共に付随させ、同じく2dコライダーが付いた四角のイメージUIにぶつけて(同じ座標を通過した際に)当たり判定を取る。指が離れたらInstantiateされたGameObjectは破棄。
@@ -45,7 +47,12 @@
45
47
  2nd -4thと同じ構造です。(Touch#1-3に変わるだけです)
46
48
 
47
49
 
50
+ **Input Systemに使用しているスクリプト**
48
51
 
52
+ InputManager.cs,
53
+ Utils.cs,
54
+ SwipeDection.cs
55
+
49
56
  ```
50
57
  using UnityEngine;
51
58
  using UnityEngine.InputSystem;

1

動作環境追加、一部太字変化

2021/11/25 23:48

投稿

Kotaro22
Kotaro22

スコア21

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,9 @@
1
+ **動作環境**
2
+ Mac OS Monterey
3
+ Unity2020.3.22f
4
+ Unity Universal Render Pipeline プロジェクト
5
+
6
+
1
7
  インプット機能(スワイプ、タップ)関連初心者です。
2
8
  現在モバイルアプリを作っているのですが、スマホスクリーンに対しての機能の導入が上手くいっていないので質問を投稿しました。
3
9
 
@@ -5,10 +11,10 @@
5
11
 
6
12
  Unityで新しいinput systemが導入されている為、それを利用し2 - 3枚目のスクリーンショットの様にタップとスワイプが出来る様に試みたのですが、指が触れている場所を動的に取り続ける機能の実装が頭の中で上手く組み立てられないので、何方か似たような機能を既に実装された経験のある方居ましたらアドバイスして頂けないでしょうか?? この投稿の最下部に新しいinput systemに対して使用しているスクリプトを記載しておきます。
7
13
 
8
- 実装を試みている方法1
14
+ **実装を試みている方法1**
9
15
  指のポジションを常に動的に取得し、スクリプト内で四角イメージの(x,y座標 + 四角イメージの半径をx,yに足し引きし)の合計を用いて、指がそのエリアを通過(スワイプ)した際に当たり判定を取る方法。
10
16
 
11
- 実装が出来ていない部分
17
+ **実装が出来ていない部分**
12
18
  ・新しいinput system上で常に指の座標を取得する方法が分からないという事。(必ずしも新しいinput systemを使わなければいけないという事ではないです。)
13
19
 
14
20
  下記の動画を参照したのですが、このスクリプトで指の座標をDebug.Logに出力すると常に0 - 1の座標しか表示されません。
@@ -21,7 +27,7 @@
21
27
 
22
28
  2dコライダーが付いた透明GameObjectを指が触れた場所にinstantiateして指の動きと共に付随させ、同じく2dコライダーが付いた四角のイメージUIにぶつけて(同じ座標を通過した際に)当たり判定を取る。指が離れたらInstantiateされたGameObjectは破棄。
23
29
 
24
- 実装方法が不明な部分
30
+ **実装方法が不明な部分**
25
31
  ・スワイプの動きに上記のコライダー付きGameObjectを付随させる事。
26
32
 
27
33