質問編集履歴
1
追加で試した事の記載とそれによる問題点の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,9 +24,31 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
+
[追記・修正]
|
28
|
+
|
27
29
|
全く動かないです
|
28
30
|
|
31
|
+
|
32
|
+
|
29
|
-
|
33
|
+
下記の試した事で追加で色々と調べてみた結果
|
34
|
+
|
35
|
+
今までInitで「Debug.Log」してたのですが
|
36
|
+
|
37
|
+
「Update」のほうでしてみると値が初期化されている事が分かりました
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
m_velocity = shotForward * Speed;
|
42
|
+
|
43
|
+
m_velocity = new Vector3(0, 0, 0)
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
という処理になってしまうようです
|
48
|
+
|
49
|
+
これらはどうすれば初期化後「m_velocity = shotForward * Speed;」を行えるように出来るのか現状わかりません
|
50
|
+
|
51
|
+
どうすればよろしいでしょうか?
|
30
52
|
|
31
53
|
|
32
54
|
|
@@ -106,6 +128,36 @@
|
|
106
128
|
|
107
129
|
|
108
130
|
|
131
|
+
追記:弾を生成しているプログラム
|
132
|
+
|
133
|
+
public void Shot(Vector3 mouseWorldPos)
|
134
|
+
|
135
|
+
{
|
136
|
+
|
137
|
+
var pos = transform.localPosition; // プレイヤーの位置
|
138
|
+
|
139
|
+
var rot = transform.localRotation; // プレイヤーの向き
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
// 向きの生成(Z成分の除去と正規化)
|
144
|
+
|
145
|
+
Vector3 shotForward = Vector3.Scale((mouseWorldPos - transform.position), new Vector3(1, 1, 0)).normalized;
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
// 発射する弾を生成する
|
150
|
+
|
151
|
+
var shot = Instantiate(bulletPrefab, pos, rot);
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
shot.GetComponent<Bullet>().Init(shotForward);
|
156
|
+
|
157
|
+
}
|
158
|
+
|
159
|
+
|
160
|
+
|
109
161
|
```
|
110
162
|
|
111
163
|
|
@@ -148,6 +200,26 @@
|
|
148
200
|
|
149
201
|
|
150
202
|
|
203
|
+
追加
|
204
|
+
|
205
|
+
4.今までInitで「Debug.Log」してたのですが
|
206
|
+
|
207
|
+
「Update」のほうでしてみると値が初期化されている事が分かりました
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
m_velocity = shotForward * Speed;
|
212
|
+
|
213
|
+
m_velocity = new Vector3(0, 0, 0)
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
という感じの処理になってしまうようです。
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
151
223
|
|
152
224
|
|
153
225
|
正直色々な所から見よう見まねでやっているのでもしかすると
|