Skip to content

Commit f72c2ab

Browse files
authored
prevent breaking OrientTowardUserAndKeepUpright
prevent breaking OrientTowardUserAndKeepUpright, as thebanjomatic mentioned
1 parent ef9e82f commit f72c2ab

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Assets/HoloToolkit/Input/Scripts/Interactions/HandDraggable.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public enum RotationModeEnum
3737
Default,
3838
LockObjectRotation,
3939
OrientTowardUser,
40-
KeepUpright
40+
OrientTowardUserAndKeepUpright
4141
}
4242

4343
public RotationModeEnum RotationMode = RotationModeEnum.Default;
@@ -198,20 +198,15 @@ private void UpdateDragging()
198198

199199
draggingPosition = pivotPosition + (targetDirection * targetDistance);
200200

201-
if (RotationMode == RotationModeEnum.OrientTowardUser)
201+
if (RotationMode == RotationModeEnum.OrientTowardUser || RotationMode == RotationModeEnum.OrientTowardUserAndKeepUpright)
202202
{
203203
draggingRotation = Quaternion.LookRotation(HostTransform.position - pivotPosition);
204204
}
205-
else if (RotationMode == RotationModeEnum.KeepUpright)
206-
{
207-
Quaternion upRotation = Quaternion.FromToRotation(HostTransform.up, Vector3.up);
208-
draggingRotation = upRotation * HostTransform.rotation;
209-
}
210205
else if (RotationMode == RotationModeEnum.LockObjectRotation)
211206
{
212207
draggingRotation = HostTransform.rotation;
213208
}
214-
else
209+
else // RotationModeEnum.Default
215210
{
216211
Vector3 objForward = mainCamera.transform.TransformDirection(objRefForward); // in world space
217212
Vector3 objUp = mainCamera.transform.TransformDirection(objRefUp); // in world space
@@ -222,6 +217,11 @@ private void UpdateDragging()
222217
HostTransform.position = draggingPosition + mainCamera.transform.TransformDirection(objRefGrabPoint);
223218
// Apply Final Rotation
224219
HostTransform.rotation = draggingRotation;
220+
if (RotationMode == RotationModeEnum.OrientTowardUserAndKeepUpright)
221+
{
222+
Quaternion upRotation = Quaternion.FromToRotation(HostTransform.up, Vector3.up);
223+
HostTransform.rotation = upRotation * HostTransform.rotation;
224+
}
225225
}
226226

227227
/// <summary>

0 commit comments

Comments
 (0)