Question by
Jack_Veritac · Mar 26 at 06:33 PM ·
rotationmousepositionclampclamped rotation
Clamp a 2D object controlled by the mouse
I want to clamp a gun that is conrtolled by the player's mouse position. I have the aim script already:
public Camera cam;
public enum Axis { x, y }
public Axis axis = Axis.y;
public bool inverted;
private Vector3 mousePosition;
private Vector3 lookAtPosition;
public float rotat;
private void Update()
{
if (cam == null)
{
Debug.LogError(gameObject.name + " target missing!");
return;
}
// store mouse pixel coordinates
mousePosition = Input.mousePosition;
// distance in z between this object and the camera
// so it always align with the object
mousePosition.z = -cam.transform.position.z + transform.position.z;
// transform mousePosition from screen pixels to world position
lookAtPosition = cam.ScreenToWorldPoint(mousePosition);
// Calculate normalized direction
Vector2 direction = (lookAtPosition - transform.position).normalized;
Debug.DrawRay(transform.position, direction * 30F, Color.blue);
switch (axis)
{
case Axis.x:
if (!inverted)
transform.right = direction; // Point x axis towards direction
else
transform.right = -direction; // Point x axis towards inverted direction
break;
case Axis.y:
if (!inverted)
transform.up = direction; // Point y axis towards direction
else
transform.up = -direction; // Point y axis towards inverted direction
break;
default:
break;
}
}
private void OnDrawGizmos()
{
Gizmos.color = Color.yellow;
Gizmos.DrawWireSphere(lookAtPosition, 0.2f);
}
Now all I need is the clamp part. I tried this simple method, and nothing happened.
public float clamp = 45F;
private void FixedUpdate()
{
if (transform.rotation.z > clamp)
{
transform.rotation = Quaternion.Euler(transform.rotation.x, transform.rotation.y, 45);
}
Any help would be greatly appreciated, thanks!
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613054644im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Object don't rotate correctly 1 Answer
MathF clamp look toward mouse pointer not working correctly 0 Answers
How to Clamp a 3rd Person Camera's x-axis Rotation? 0 Answers
Euler angles clamping issue 0 Answers
Is this a good way to Clamp a Rotation? 2 Answers