@@ -111,7 +111,7 @@ public override void SolverUpdate()
111111
112112 private Quaternion SnapToTetherAngleSteps ( Quaternion rotationToSnap )
113113 {
114- if ( ! UseAngleSteppingForWorldOffset )
114+ if ( ! UseAngleSteppingForWorldOffset || SolverHandler . TransformTarget == null )
115115 {
116116 return rotationToSnap ;
117117 }
@@ -131,7 +131,7 @@ private Quaternion CalculateDesiredRotation(Vector3 desiredPos)
131131 switch ( orientationType )
132132 {
133133 case SolverOrientationType . YawOnly :
134- float targetYRotation = SolverHandler . TransformTarget != null ? SolverHandler . TransformTarget . eulerAngles . y : 1 ;
134+ float targetYRotation = SolverHandler . TransformTarget != null ? SolverHandler . TransformTarget . eulerAngles . y : 0.0f ;
135135 desiredRot = Quaternion . Euler ( 0f , targetYRotation , 0f ) ;
136136 break ;
137137 case SolverOrientationType . Unmodified :
@@ -141,10 +141,10 @@ private Quaternion CalculateDesiredRotation(Vector3 desiredPos)
141141 desiredRot = CameraCache . Main . transform . rotation ;
142142 break ;
143143 case SolverOrientationType . FaceTrackedObject :
144- desiredRot = Quaternion . LookRotation ( SolverHandler . TransformTarget . position - desiredPos ) ;
144+ desiredRot = SolverHandler . TransformTarget != null ? Quaternion . LookRotation ( SolverHandler . TransformTarget . position - desiredPos ) : Quaternion . identity ;
145145 break ;
146146 case SolverOrientationType . CameraFacing :
147- desiredRot = Quaternion . LookRotation ( CameraCache . Main . transform . position - desiredPos ) ;
147+ desiredRot = SolverHandler . TransformTarget != null ? Quaternion . LookRotation ( CameraCache . Main . transform . position - desiredPos ) : Quaternion . identity ;
148148 break ;
149149 case SolverOrientationType . FollowTrackedObject :
150150 desiredRot = SolverHandler . TransformTarget != null ? SolverHandler . TransformTarget . rotation : Quaternion . identity ;
0 commit comments