• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Unity】オブジェクトが跳ね返らない)

【Unity】オブジェクトが跳ね返らないのはなぜ?

このQ&Aのポイント
  • Unityでオブジェクトが壁に当たるたびに跳ね返らない問題が発生しています。なぜなのか原因がわかりません。
  • スクリプトを使用して跳ね返りを実装しているが、一部の場合には跳ね返らない現象が発生します。
  • スクリプトの衝突判定の処理に問題がある可能性があります。どのような部分を見直すべきでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

Unityで物体を跳ね返らせたいのならUpdate+transformは使うべきではない。 変わりにRigidbody+Collider+FixUpdate+Torqueを使ってください。 Unityは物理法則にしたがって物体が動く物理エンジンというものを持っていて、GameObjectにRigidbodyをつけるとそのGameObjectがUnity内臓物理エンジンによって勝手にtransformやrotateされるようになる。物理エンジンとtransformの手動変更は混ぜるな危険なのでどちらかを使うようにしましょう。 跳ね返らないときがあるのは、物体の移動のタイミングによって衝突する前にCollider同士がすり抜けているのでしょう。 自前でtransformを行うというのは、物理エンジンを自作するという事に他ならないので、 よほどのことがない限りはUnityにまかせた方が良いでしょう。

fujioranggge
質問者

お礼

なるほど!どこかのサイトで調べた際にそういった事が載せられていましたが、その時はあまりピンと来なくて… こういう形で問題が発生するんですね! 解りやすく説明していただきありがとうございました!

関連するQ&A

専門家に質問してみよう