- Home /
drag to move object in perspective camera
So I have working code for moving a player on mouse drag and it works fine in orthographic projection of camera but when I switch to perspective it doesn't work. Here is my code:
void Move() {
if (hasGameStarted && !Input.GetMouseButton(0)) {
dragCurrPosition = transform.position;
dragStartPosition = transform.position;
}
if (hasLostGame) {
anim.SetBool("die", true);
DeathParticles.SetActive(true);
AudioManager.instance.PlaySound("Death");
}
if (Input.GetMouseButtonDown(0)) {
//set dragStartPosition vector to where the click happened.
dragStartPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
//get the distance between the player position and click position.
distance = transform.position - dragStartPosition;
}
if (Input.GetMouseButton(0)) {
//get the dragging position on the screen.
Vector3 currentDraggingPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
//set player position to current dragging position + distance (offset).
dragCurrPosition = currentDraggingPos + distance;
}
//setting new position
Vector3 newPos = transform.position;
newPos.x = dragCurrPosition.x;
newPos.y = dragCurrPosition.y;
newPos.z = 0;
transform.position = newPos;
Tried using direct Input.mousePosition but It doesn't work like it should, also my camera is tilted on X rotation.
Comment
Your answer
Follow this Question
Related Questions
Simple Object Dragging 0 Answers
Gradually decrease camera pan speed when touch has ended? (Touch input) 0 Answers
Restricting Camera movement along the x axis 1 Answer
Object moving faster when camera moves with it than without camera movement 0 Answers
Input System Can't Catch Event on Update 0 Answers