回答編集履歴

1

追記

2019/08/04 06:22

投稿

YAmaGNZ
YAmaGNZ

スコア10268

test CHANGED
@@ -1,3 +1,33 @@
1
1
  球体に力を加えた瞬間で球体が動き出していないから速度を表示しても0なんじゃないですか?
2
2
 
3
3
  Debug.Logをifの外に出して、毎回表示してみてはどうでしょうか?
4
+
5
+
6
+
7
+ 追記
8
+
9
+ Debug.Logを外に出すだけじゃダメですね
10
+
11
+ ```C#
12
+
13
+ Rigidbody rb = this.GetComponent<Rigidbody>(); // rigidbodyを取得
14
+
15
+ // 一回だけ呼ばれる
16
+
17
+ if (isFirst)
18
+
19
+ {
20
+
21
+ isFirst = false; // 一回はすぎた
22
+
23
+ rb.AddForce(transform.forward * shotSpeed , ForceMode.Impulse); // 力を加える
24
+
25
+ }
26
+
27
+ // 速度を表示
28
+
29
+ Debug.Log("速度: " + rb.velocity.magnitude);
30
+
31
+ ```
32
+
33
+ という感じで、力を加える部分だけifで判断すればどうでしょう?