質問編集履歴

4

内容の更新

2020/08/06 15:38

投稿

Asagiri
Asagiri

スコア9

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,14 @@
1
+ 少し状況が変わったので内容を少し変えさせています。動かないことは変わっていません。
2
+
3
+
4
+
1
5
  現在ARCoreを用いて振り子を設置して、パラメータを動かすというものを作成しています。
2
6
 
3
7
  その前提で最初にボールを停止させて、ボタンで動かすというのを作っています。
4
8
 
5
9
  ![イメージ説明](bfae5b6a095e435cfa8a68ed2e6d258a.jpeg)
6
10
 
7
- しかし、シーンにして動いたのを確認したプログラムをAR仕様変更して試したのですが動きませんでした。
11
+ しかし、シーンでエディタ上に置いたときは動いたのですが、ARに実装して試したのですが動きませんでした。
8
12
 
9
13
  FurikoはAssets内にありそれを設定しています。
10
14
 
@@ -12,13 +16,13 @@
12
16
 
13
17
  そのFurikoの子オブジェクトのBallのIs kinematicをオンにしてStartボタンを押すとオフになってボールが揺れるというものを作りたいのです。スクリプトは親オブジェクトのFurikoにつけています。
14
18
 
15
- また、ボタンには上で述べたAssets内にある同じオブジェクトを入れ、下記のプログラムのmove()を設定しています。
19
+ また、ボタンには上で述べたAssets内にある同じオブジェクトを入れ、下記のプログラムのBall()を設定しています。
16
20
 
17
- ![イメージ説明](fecf46aa21b010c4961146b4774bc497.png)
21
+ ![![イメージ説明](5b8adb559db49a4bb326fbf42d01c496.png)]
18
22
 
19
23
 
20
24
 
21
- Furikoにつけているスクリプトは以下のようになります。
25
+ 親オブジェクトFurikoの子オブジェクトBall下記のスクリプトをつけています。
22
26
 
23
27
  ```C#
24
28
 
@@ -30,13 +34,11 @@
30
34
 
31
35
 
32
36
 
33
- public class All : MonoBehaviour
37
+ public class ball_script : MonoBehaviour
34
38
 
35
39
  {
36
40
 
37
- GameObject ball;
38
-
39
- Rigidbody rb;
41
+ public Rigidbody rb;
40
42
 
41
43
 
42
44
 
@@ -46,9 +48,11 @@
46
48
 
47
49
  {
48
50
 
49
- ball = transform.Find("Ball").gameObject;
51
+ //Rigidbodyを取得
50
52
 
51
- rb = ball.GetComponentInChildren<Rigidbody>();
53
+ rb = GetComponent<Rigidbody>();
54
+
55
+
52
56
 
53
57
  //Rigidbodyを停止
54
58
 
@@ -62,59 +66,27 @@
62
66
 
63
67
  void Update()
64
68
 
65
- {
69
+ {
66
-
67
-
68
-
69
- }
70
-
71
-
72
-
73
- public void move()
74
-
75
- {
76
-
77
- //動かす
78
-
79
- rb.isKinematic = false;
80
70
 
81
71
  }
82
72
 
83
73
 
84
74
 
75
+ public void Ballmove()
76
+
77
+ {
78
+
79
+ //動かす
80
+
81
+ rb.isKinematic = false;
82
+
83
+ }
84
+
85
85
  }
86
86
 
87
87
  ```
88
88
 
89
-
90
-
91
- 現在思いつく限りで言える情報です。
92
-
93
- 他に必要な情報がありましたら追加します。
94
-
95
- 助言をいただけるとありがたいです。お願いします。
96
-
97
-
98
-
99
- 使用しているのは
100
-
101
- ARCore(オブジェクト設置する部分はサンプルのHalloARを用いた)
102
-
103
- ZenfoneAR
104
-
105
- Unity2018.4.19f1(過去verの方が使いやすかったためこれで開発している)
106
-
107
-
108
-
109
- 追記
110
-
111
- エディタ上で確認してみると動かなかったです。
112
-
113
- 最初に子オブジェクトBallに下記のスクリプトをつけていた時動きした
89
+ また、親オブジェクトでは上記のスクリプトを呼び出すスクリプトをつけています。ボタンにこれのBall()を呼び出そうとしてい
114
-
115
- ARで実装する際に親オブジェクトFurikoに付け替えたときの変更がうまくいってなかったようです。
116
-
117
- どう書き換えればよいか見当がつきません。
118
90
 
119
91
  ```C#
120
92
 
@@ -126,13 +98,13 @@
126
98
 
127
99
 
128
100
 
129
- public class All : MonoBehaviour
101
+ public class Furiko_controller : MonoBehaviour
130
102
 
131
103
  {
132
104
 
133
105
  GameObject ball;
134
106
 
135
- Rigidbody rb;
107
+ ball_script script;
136
108
 
137
109
 
138
110
 
@@ -142,13 +114,9 @@
142
114
 
143
115
  {
144
116
 
145
- ball = this.transform.Find("Ball").gameObject;
117
+ ball = GameObject.Find("Ball");
146
118
 
147
- rb = ball.GetComponent<Rigidbody>();
119
+ script = ball.GetComponent<ball_script>();
148
-
149
- //Rigidbodyを停止
150
-
151
- rb.isKinematic = true;
152
120
 
153
121
  }
154
122
 
@@ -160,9 +128,15 @@
160
128
 
161
129
  {
162
130
 
163
- if (Input.GetKey(KeyCode.Space))
131
+ }
164
132
 
133
+
134
+
165
- rb.isKinematic = false;
135
+ public void Ball()
136
+
137
+ {
138
+
139
+     script.Ballmove();
166
140
 
167
141
  }
168
142
 
@@ -170,10 +144,20 @@
170
144
 
171
145
  ```
172
146
 
147
+
148
+
173
- zenfoneで動かしきのボタンは反応していました
149
+ エディタ上動かすことができ、Android端末にARとて設置するとボタンは反応していますがボールは動かないです
150
+
151
+ もしかしたら、ボタンにつけたFurikoとAR上に設置したFurikoは違うオブジェクトになってしまっているのではないかと思いましたがどうすればいいかわかりません。
152
+
153
+ 助言お願いいたします。
174
154
 
175
155
 
176
156
 
177
- ボタンには設定しています。
157
+ 使用しているもの
178
158
 
159
+ Unity2018.4.19f
160
+
161
+ ARCore
162
+
179
- ![イメージ説明](db3f1b70e6a4e2f460ee9a4faafca4b4.png)
163
+ ZenfoneAR(Android7.0)

3

追記

2020/08/06 15:38

投稿

Asagiri
Asagiri

スコア9

test CHANGED
File without changes
test CHANGED
@@ -171,3 +171,9 @@
171
171
  ```
172
172
 
173
173
  zenfoneで動かしたときのボタンは反応していました。
174
+
175
+
176
+
177
+ ボタンには設定しています。
178
+
179
+ ![イメージ説明](db3f1b70e6a4e2f460ee9a4faafca4b4.png)

2

追記

2020/08/06 10:16

投稿

Asagiri
Asagiri

スコア9

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,71 @@
103
103
  ZenfoneAR
104
104
 
105
105
  Unity2018.4.19f1(過去verの方が使いやすかったためこれで開発している)
106
+
107
+
108
+
109
+ 追記
110
+
111
+ エディタ上で確認してみると動かなかったです。
112
+
113
+ 最初に子オブジェクトBallに下記のスクリプトをつけていた時は動きました。
114
+
115
+ ARで実装する際に親オブジェクトFurikoに付け替えたときの変更がうまくいってなかったようです。
116
+
117
+ どう書き換えればよいか見当がつきません。
118
+
119
+ ```C#
120
+
121
+ using System.Collections;
122
+
123
+ using System.Collections.Generic;
124
+
125
+ using UnityEngine;
126
+
127
+
128
+
129
+ public class All : MonoBehaviour
130
+
131
+ {
132
+
133
+ GameObject ball;
134
+
135
+ Rigidbody rb;
136
+
137
+
138
+
139
+ // Start is called before the first frame update
140
+
141
+ void Start()
142
+
143
+ {
144
+
145
+ ball = this.transform.Find("Ball").gameObject;
146
+
147
+ rb = ball.GetComponent<Rigidbody>();
148
+
149
+ //Rigidbodyを停止
150
+
151
+ rb.isKinematic = true;
152
+
153
+ }
154
+
155
+
156
+
157
+ // Update is called once per frame
158
+
159
+ void Update()
160
+
161
+ {
162
+
163
+ if (Input.GetKey(KeyCode.Space))
164
+
165
+ rb.isKinematic = false;
166
+
167
+ }
168
+
169
+ }
170
+
171
+ ```
172
+
173
+ zenfoneで動かしたときのボタンは反応していました。

1

追加

2020/08/06 08:50

投稿

Asagiri
Asagiri

スコア9

test CHANGED
File without changes
test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
  使用しているのは
100
100
 
101
- ARCore
101
+ ARCore(オブジェクト設置する部分はサンプルのHalloARを用いた)
102
102
 
103
103
  ZenfoneAR
104
104