TorqueLをUnity Physics2Dで作れるか検証した件

結論としては今のところPhysics2Dでは作れないですね。

▶ [Test]TorqueL on Unity-Physics2D - YouTube

主な原因

  • Rigidbody2DにConstraints(特に位置固定)が無い
    • ローラー的なものとかシーソー的なものとかどうすればいいんですかね...(2DじゃないPhysicsでもJointからズレたりするからConstraintsが必須)
    • Position Iterations を上げるとある程度緩和される
    • FixedUpdateのタイミングでPositonを戻す処理を入れてもダメだった

ほか気になった点

  • 地形とキャラの間に隙間ができるのでPhysics2D にも Min Penertration For Pnenalty が欲しい(全面的にSprite Rendererで描画することである程度緩和できるけど完全ではない)
  • 挙動にまつわる基本単位が3Dの時とは違うようなので、調整が必要(Force, Friction, Bouncinessなど)
  • MeshからサクッとPolygonColider2D作れるようにして欲しい
  • Rigidbody2DにAddRelativeForceが無い(自力でWorld単位に変換すればいいけど)
  • めり込みを許容しないためかOnTriggerEnter2Dが頻発する(特に箱が伸びた時)
  • Rigidbody.maxAngulerVelocityが無い(FixUpdate内でMathf.Clampするとそれっぽくは動く)
  • RayCastとLineCastしか無い

3D -> 2Dなのでシンプルに作れるなーと思ったら必要な機能も削られてたっていう。 今後拡充されるのかな?