質問編集履歴
3
回答による追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -126,4 +126,12 @@
|
|
126
126
|
|
127
127
|
|
128
128
|
}
|
129
|
-
```
|
129
|
+
```
|
130
|
+
|
131
|
+
### 追記_2021/07/11_22:43
|
132
|
+
Bongoさんのコードを実装してみた結果です。
|
133
|
+
白立方体のRigitbody>抗力を45にしたところ、マウスの早い動きでも貫通しなくなって想定した動きにかなり近いものになりました。
|
134
|
+
(抗力が低いと反対方向に跳ねすぎて飛んでいった)
|
135
|
+
しかし、以下Gifを見てもらうと分かるかと思いますが、ビョンビョンビョンとかなり高速にバウンドしてしまいます。
|
136
|
+
できればもう少し跳ねないのが理想ですが、悩ましい所。
|
137
|
+

|
2
記入漏れを加筆
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,21 +1,22 @@
|
|
1
|
-
表題の通りではありますが、オブジェクト(
|
1
|
+
表題の通りではありますが、オブジェクト(白立方体)をドラッグ&ドロップした時に、壁(青立方体)を通り抜けしないようにしたいです。
|
2
2
|
現在のコードでは、カーソル操作と違い、マウスポジションにオブジェクトが瞬間移動するので、通り抜けしてしまう原因自体は理解しているのですが、ここから改善策が思い浮かばずに行き詰っています。
|
3
3
|
|
4
4
|
なので、なにか別のやり方やアルゴリズム、もしくはアセットなど、表題の目的を解決できる方法を教えていただきたいです。
|
5
5
|
|
6
6
|
---
|
7
7
|
**目的**
|
8
|
-
・オブジェクト(
|
8
|
+
・オブジェクト(白立方体)をドラッグ&ドロップした時に、壁(青立方体)を通り抜けしないようにしたい
|
9
|
-
・最終的には、この壁(
|
9
|
+
・最終的には、この壁(青立方体)で四方を囲ったり、通路を作りたい。
|
10
10
|
|
11
11
|
**困ってる事**
|
12
|
-
・オブジェクト(
|
12
|
+
・オブジェクト(白立方体)をドラッグ&ドロップした時に、壁(青立方体)を通り抜ける(埋まる)。
|
13
13
|
|
14
14
|
**気になってる事**
|
15
15
|
・通り抜けする時に抵抗感が若干あるので、この反発力?を増やせば実現できる?(但しそれが何のパラメータなのかは不明)
|
16
16
|
・下記ソースコードによるマウスによるドラッグ&ドロップでは、現在位置に瞬間移動しているので、このやり方がそもそもダメなのでは?
|
17
|
-
・壁(
|
17
|
+
・壁(青立方体)にスクリプトを適用し、オブジェクト(白立方体)のMathf.Clampを反転してやればできるかもしれないが、範囲の反転方法が分からない。
|
18
18
|
|
19
|
+
|
19
20
|
**実施した事**
|
20
21
|
・類似の質問で、「使うとしたらrigidbody.velocity~」とあったので、試しに"壁に触れたらrigidbody.velocityを0にする"としたが、その後に移動できなくなる。
|
21
22
|
→なんらかのアルゴリズムで実現できそうだけど、アルゴリズムの案が浮かばない。
|
1
誤記修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
・壁(画像中の青立方体)でMathf.Clamp
|
18
18
|
|
19
19
|
**実施した事**
|
20
|
-
・
|
20
|
+
・類似の質問で、「使うとしたらrigidbody.velocity~」とあったので、試しに"壁に触れたらrigidbody.velocityを0にする"としたが、その後に移動できなくなる。
|
21
21
|
→なんらかのアルゴリズムで実現できそうだけど、アルゴリズムの案が浮かばない。
|
22
22
|
・Collision Detection」の項目を「Continuous」に設定
|
23
23
|
→マウスによる移動が指定座標への瞬間移動なので意味がないと理解。
|
@@ -35,7 +35,7 @@
|
|
35
35
|
・Unity 2021.1.12f1
|
36
36
|
・Visual Studio 2019
|
37
37
|
|
38
|
-
|
38
|
+
類似質問:[https://teratail.com/questions/139884](https://teratail.com/questions/139884)
|
39
39
|
参考サイト:[https://www.ame-name.com/archives/4631](https://www.ame-name.com/archives/4631)
|
40
40
|
```C#
|
41
41
|
|