回答編集履歴
2
RayCastの代わりにCircleCastを用いる
test
CHANGED
@@ -71,3 +71,17 @@
|
|
71
71
|
進行方向上へ放射したRayのぶつかった先と実際の衝突位置は異なる問題がありました。
|
72
72
|
|
73
73
|
これの根本的解決方法は今のところ思いつきませんが、少なくとも半径長さのRayでは角度がついた衝突でRayの衝突先を見失う可能性があるため、これより多少長さを伸ばす必要性はあります。
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
---
|
78
|
+
|
79
|
+
追記(2020.09.04 19:00)
|
80
|
+
|
81
|
+
ボールの大きさが無視できるならRayCastで問題ないはずですが、実際は大きさを持っているのでRayCastの代わりにCircleCastを使うとよさそうです。
|
82
|
+
|
83
|
+
Circleの半径をボールの半径と同じにしてCastすれば理論上は問題ないように思われます。
|
84
|
+
|
85
|
+
しかし実際に動かしてみると、処理速度の関係なのか、たまに壁をすり抜けてしまうことがありました。
|
86
|
+
|
87
|
+
その不具合を抜きにしても、結局やっていることは(デメリットを含めて)Dynamicでやっていることと同様なので、全てキネマティックだと全てTriggerにできるというメリット以外は素直にDynamicで動かすことに諦めた方がいいかもしれません。
|
1
RayCast衝突位置について修正
test
CHANGED
@@ -59,3 +59,15 @@
|
|
59
59
|
|
60
60
|
|
61
61
|
BallやCircle Colliderでなくても、放射するRayの長さを上手く設定すれば問題ないと思います。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
---
|
66
|
+
|
67
|
+
追記(2020.09.02 21:50)
|
68
|
+
|
69
|
+
正面衝突であればこれで問題ないものの、角度がついた状態でぶつかることを考えると、
|
70
|
+
|
71
|
+
進行方向上へ放射したRayのぶつかった先と実際の衝突位置は異なる問題がありました。
|
72
|
+
|
73
|
+
これの根本的解決方法は今のところ思いつきませんが、少なくとも半径長さのRayでは角度がついた衝突でRayの衝突先を見失う可能性があるため、これより多少長さを伸ばす必要性はあります。
|