実現したいこと
UnityでUFOキャッチャーのように、2つの箱を操作してもう1つの箱を挟み込み、物理演算だけで持ち上げたい。
発生している問題・分からないこと
2つの箱で1つの箱を挟むことはできるが、持ち上げようとすると必ず滑り落ちてしまう
Rigidbody の Physic Material で摩擦を上げても、摩擦が効いていないようで保持できない
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ネットのサンプル実装では「掴んだ瞬間に位置を固定する」や「強制的にベクトルを与える」といった処理がある。しかしこれでは挟んだ時の力加減や重さによって持てないという動きが実現できない。そのため物理挙動だけで再現したい
補足
特になし
※Unityのことは知らないので微塵も役に立たない話になりますが…
物理シミュ的なのを作った経験があるのだけど,すごく難しそうな話だな,と思いました.
というのは「摩擦」っていつ効くの? っていう.
「衝突している(=めり込んでいる)」際の計算で考慮しているだけだと「接している(めり込んではいない)」時には働かないってことになるので,衝突が「解消」されてしまうとすっぽ抜けてしまいそう.
(常に「掴む」方向に力を加え続けていれば落ちないのか? というのはエンジン次第になりそうな予感??)
「摩擦力は垂直抗力に比例」という話のとき,「そしたら垂直抗力って具体的に何なの?(どうやって求められているの?)」っていう.(こっちが微小になっちゃうような世界だと摩擦係数を上げても摩擦が効かなくなる可能性とか?? 無いか)
> 強制的にベクトルを与える
……というのは,エンジン任せだとどうしても摩擦がうまく表現できない的な状況では有りなんじゃないでしょうか?
「挟んだ時の力加減」に応じて「働いてほしい摩擦力」相当の力を追加で与えてやるっていう(あくまでも力を加えてやるだけなので,挟む力が弱いと持てないみたいな動きは実現できると思う).

あなたの回答
tips
プレビュー