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