Guest User

Untitled

a guest
May 23rd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. private void OnMouseDrag()
  2. {
  3. var distanceToObject = Camera.main.WorldToScreenPoint(transform.position).z;
  4.  
  5. var screenSpaceTouch = new Vector3(Input.mousePosition.x, Input.mousePosition.y, distanceToObject);
  6.  
  7. var positionInWorldSpace = Camera.main.ScreenToWorldPoint(screenSpaceTouch);
  8.  
  9. ModelInstance.transform.position = new Vector3(positionInWorldSpace.x, transform.position.y, positionInWorldSpace.z);
  10. }
  11.  
  12. private void OnMouseDown()
  13. {
  14. var pos = Camera.main.WorldToScreenPoint(transform.position);
  15. pos = Input.mousePosition - pos;
  16. _baseAngle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
  17. _baseAngle -= Mathf.Atan2(transform.right.y, transform.right.x) * Mathf.Rad2Deg;
  18. }
  19.  
  20. private void OnMouseDrag()
  21. {
  22. var pos = Camera.main.WorldToScreenPoint(transform.position);
  23. pos = Input.mousePosition - pos;
  24. var ang = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg - _baseAngle;
  25. ObjectToRotate.transform.rotation = Quaternion.AngleAxis(ang, Vector3.down);
  26. }
Add Comment
Please, Sign In to add comment