回答編集履歴

2

文言微修正

2019/01/14 04:34

投稿

negitama
negitama

スコア943

test CHANGED
@@ -100,7 +100,7 @@
100
100
 
101
101
  #回答2
102
102
 
103
- `EventTrigger` を使う方法も追記しておきます。
103
+ `EventSystem` を使う方法も追記しておきます。
104
104
 
105
105
 
106
106
 
@@ -114,7 +114,7 @@
114
114
 
115
115
  #### 2. EventSystem オブジェクトを追加する
116
116
 
117
-
117
+ `UI > Event System` を追加する
118
118
 
119
119
  ![イメージ説明](8c0679274fb96f1f6db5cf921b7ae4f8.jpeg)
120
120
 

1

「回答2」にEventSystemを使う方法を追記した

2019/01/14 04:34

投稿

negitama
negitama

スコア943

test CHANGED
@@ -1,3 +1,11 @@
1
+ 先に回答した「回答1」は`Raycast`を使う方法です。後に「回答2」に`EventSystem`を使う方法を追加しました。どちらでも動かせます。
2
+
3
+
4
+
5
+ #回答1
6
+
7
+
8
+
1
9
  `EventTrigger` ではなく`RayCast` を使う方法ですが、参考まで。
2
10
 
3
11
  部位をクリックしてDebug.Logに出力しています。アニメーションの処理に置き換えてください。
@@ -84,8 +92,76 @@
84
92
 
85
93
 
86
94
 
87
-
88
-
89
95
  以上です。左手部分のコライダーをクリックするとDebug.Logに出力されます。
90
96
 
91
97
  同じようにして各部位をクリックしたときの処理を追加してください。
98
+
99
+
100
+
101
+ #回答2
102
+
103
+ `EventTrigger` を使う方法も追記しておきます。
104
+
105
+
106
+
107
+ #### 1.カメラに `PhysicsRaycaster` コンポーネントをアタッチする
108
+
109
+
110
+
111
+ ![イメージ説明](2694ca22eb2f7f8f04ab99d2eea46b80.jpeg)
112
+
113
+
114
+
115
+ #### 2. EventSystem オブジェクトを追加する
116
+
117
+
118
+
119
+ ![イメージ説明](8c0679274fb96f1f6db5cf921b7ae4f8.jpeg)
120
+
121
+
122
+
123
+ #### 3. 部位にコライダーを設定する
124
+
125
+
126
+
127
+ 回答1と同じ。タグはスクリプトで使用しないなら不要。
128
+
129
+
130
+
131
+ #### 4. 部位にスクリプトを設定する
132
+
133
+
134
+
135
+ 部位ごとに以下のようなスクリプトをアタッチする。部位ごとに具体的な処理を書く。
136
+
137
+
138
+
139
+ ```C#
140
+
141
+ using UnityEngine;
142
+
143
+ using UnityEngine.EventSystems;
144
+
145
+
146
+
147
+ public class OnClicked : MonoBehaviour, IPointerClickHandler
148
+
149
+ {
150
+
151
+ public void OnPointerClick ( PointerEventData eventData )
152
+
153
+ {
154
+
155
+ Debug.Log ( "Clicked" );
156
+
157
+ }
158
+
159
+ }
160
+
161
+ ```
162
+
163
+ ![イメージ説明](06b14acc31bd421a0a092e0b80b6082f.jpeg)
164
+
165
+
166
+
167
+ 以上です。