質問編集履歴
2
誤字の修正,コード追加
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Unity GLで描いた線に当たり判定を付けることはでき
|
1
|
+
Unity GLで描いた線に当たり判定を付けることはできますか?
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
先日フィードバック提示機能について質問した者です.
|
1
|
+
先日フィードバック提示機能について質問した者です.
|
2
2
|
こちらの機能について,下記のようなことができないかと考えて質問しています.
|
3
3
|
前提として,下記サイトを参考に,赤色の線と緑色の〇を人物に重ねてリアルタイムに描画しています.(下記コード参照)
|
4
4
|
→https://docs.unity3d.com/ja/current/ScriptReference/GL.html
|
@@ -6,10 +6,12 @@
|
|
6
6
|
(画像)左にお手本,右に学習者
|
7
7
|

|
8
8
|
|
9
|
-
実現したいこと
|
9
|
+
実現したいこと:当たり判定のついた緑色の〇に変更することはできるでしょうか.
|
10
|
-
具体的には,透明なオブジェクトをWebカメラを映し出している領域に置いて,画像の緑色の〇に当たり判定を付け,緑色の〇がオブジェクトの範囲に入っていなかったらフィードバック提示して,オブジェクトの範囲に入っていたら,フィードバック提示しないというのはできるでしょうか.
|
10
|
+
具体的には,透明なオブジェクトをWebカメラを映し出している領域(画像右側)に置いて,画像の緑色の〇に当たり判定を付け,緑色の〇がオブジェクトの範囲(当たり判定を付けた範囲)に入っていなかったらフィードバック提示して,オブジェクトの範囲に入っていたら,フィードバック提示しないというのはできるでしょうか.
|
11
11
|
出来るのであれば,ご教授お願い致します.
|
12
12
|
Unityもプログラミングも初心者なので,詳しく教えていただけると助かります.
|
13
|
+
|
14
|
+
緑の〇,赤の線を描画しているスクリプト
|
13
15
|
```C#
|
14
16
|
using System;
|
15
17
|
using System.Collections;
|
@@ -132,5 +134,77 @@
|
|
132
134
|
}
|
133
135
|
}
|
134
136
|
|
137
|
+
```
|
138
|
+
当たり判定を付けて,フィードバックを提示するためのスクリプト
|
139
|
+
```C#
|
140
|
+
using UnityEngine;
|
141
|
+
using System.Collections;
|
135
142
|
|
143
|
+
public class FeedBackGL : MonoBehaviour
|
144
|
+
{
|
145
|
+
public Canvas FBCanvas = null;
|
146
|
+
public Canvas DialogCanvas = null;
|
147
|
+
public Canvas DialogCanvas2 = null;
|
148
|
+
|
149
|
+
public bool is_pressing = false;
|
150
|
+
Collider m_ObjectCollider;
|
151
|
+
|
152
|
+
/*public GameObject fb_0;
|
153
|
+
public GameObject fb_1;
|
154
|
+
public GameObject fb_2;
|
155
|
+
public GameObject fb_3;
|
156
|
+
public GameObject fb_4;
|
157
|
+
public GameObject fb_5;
|
158
|
+
public GameObject fb_6;
|
159
|
+
public GameObject fb_7;
|
160
|
+
public GameObject fb_8;
|
161
|
+
*/
|
162
|
+
//GLRenderer gl = new GLRenderer();
|
163
|
+
|
164
|
+
// Use this for initialization
|
165
|
+
void Start()
|
166
|
+
{
|
167
|
+
|
168
|
+
// FBを表示するときまで、 FBCanvas を無効にしておく。
|
169
|
+
if (FBCanvas != null)
|
170
|
+
{
|
171
|
+
FBCanvas.enabled = false;
|
172
|
+
}
|
173
|
+
// ダイアログを表示するときまで、 DialogCanvas を無効にしておく。
|
174
|
+
if (DialogCanvas != null)
|
175
|
+
{
|
176
|
+
DialogCanvas.enabled = false;
|
177
|
+
}
|
178
|
+
// ダイアログを表示するときまで、 DialogCanvas2 を無効にしておく。
|
179
|
+
if (DialogCanvas2 != null)
|
180
|
+
{
|
181
|
+
DialogCanvas2.enabled = false;
|
182
|
+
}
|
183
|
+
m_ObjectCollider = GetComponent<Collider>();
|
184
|
+
m_ObjectCollider.isTrigger = true;
|
185
|
+
}
|
186
|
+
/*
|
187
|
+
public void OnClick()
|
188
|
+
{
|
189
|
+
Debug.Log("Clicked");
|
190
|
+
FBCanvas.enabled = true;
|
191
|
+
Global.ObjectActiveChanger("FBCanvas", "Head1", true);
|
192
|
+
}
|
193
|
+
*/
|
194
|
+
void OnTiriggerEnter(Collider other)
|
195
|
+
{
|
196
|
+
if( other.gameObject.tag == "Head"){
|
197
|
+
is_pressing = true;
|
198
|
+
}
|
199
|
+
|
200
|
+
if (is_pressing)
|
201
|
+
{
|
202
|
+
Global.ObjectActiveChanger("FBCanvas", "Head2", true);
|
203
|
+
}
|
204
|
+
}
|
205
|
+
void Update()
|
206
|
+
{
|
207
|
+
|
208
|
+
}
|
209
|
+
}
|
136
210
|
```
|
1
誤字脱字の修正,文章の簡略化
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
実現したいことは,当たり判定のついた緑色の〇に変更することはできるでしょうか.
|
10
10
|
具体的には,透明なオブジェクトをWebカメラを映し出している領域に置いて,画像の緑色の〇に当たり判定を付け,緑色の〇がオブジェクトの範囲に入っていなかったらフィードバック提示して,オブジェクトの範囲に入っていたら,フィードバック提示しないというのはできるでしょうか.
|
11
11
|
出来るのであれば,ご教授お願い致します.
|
12
|
-
|
12
|
+
Unityもプログラミングも初心者なので,詳しく教えていただけると助かります.
|
13
13
|
```C#
|
14
14
|
using System;
|
15
15
|
using System.Collections;
|