Dash player to mouse position
I wanna make skill which is similar to teleport. But i don't know how to exactly change player position for making teleport effect. Now i have this script
public override void Cast() { playerRef = FindObjectOfType<PlayerController>(); playerRef.GetComponent<Animator>().SetBool("isDashing", true); playerPos = playerRef.transform.position; playerDirection = playerRef.lastMove; mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); castPosition = new Vector3(playerPos.x + playerDirection.x * 0.3f, playerPos.y, playerPos.z); difference = mousePos - castPosition; difference.Normalize(); //line below is for changing player position playerRef.playerRigidbody.transform.position = Vector3.MoveTowards(playerPos, difference , 1) ;// += new Vector3(difference.x * 500 * Time.deltaTime, difference.y * 500 * Time.deltaTime, 0.0f); playerRef.lastMove.x = difference.x; playerRef.lastMove.y = difference.y; Instantiate(this, FindObjectOfType<PlayerController>().transform.position, Quaternion.Euler(0.0f, 0.0f, 0.0f)); }
Your answer
Follow this Question
Related Questions
Player teleport not working 0 Answers
How to teleport a specific object to an empty? 1 Answer
Character Can't Move After Position Change 0 Answers
How to teleport game object to another scene at the exact position from previous scene? 0 Answers
OnCollisionEnter/OnControllerColliderHit/onTriggerEnter Won't work as teleporter? 0 Answers