Project_TCC icon indicating copy to clipboard operation
Project_TCC copied to clipboard

Bug: LookTargetControl でうまく回転させることができない

Open nayuta-cr opened this issue 1 year ago • 0 comments

LookTargetControl で向きを変えたい場合、 Target と自身の y 座標に乖離があればあるほど、うまく角度が変わりません。 これは、 Vector3.SignedAngle() でヨーを計算する際に回転軸が傾いてしまうためです。

以下のパッチで修正することが可能です:

diff --git a/Packages/com.utj.charactercontroller/Runtime/Components/Control/LookTargetControl.cs b/Packages/com.utj.charactercontroller/Runtime/Components/Control/LookTargetControl.cs
index f81fd3f..36d456e 100644
--- a/Packages/com.utj.charactercontroller/Runtime/Components/Control/LookTargetControl.cs
+++ b/Packages/com.utj.charactercontroller/Runtime/Components/Control/LookTargetControl.cs
@@ -52,6 +52,7 @@ namespace Unity.TinyCharacterController.Control
                     return 0;

                 var delta = Target.position - transform.position;
+                delta.y = 0;

                 return (delta.sqrMagnitude > 0) ?
                         Vector3.SignedAngle(Vector3.forward, delta, Vector3.up) :

nayuta-cr avatar May 02 '24 06:05 nayuta-cr