- Home /
Question by
Daniksuper · Nov 13, 2019 at 06:21 PM ·
rotationmouselookmotion
The object attached to the player does not rotate to the mouse when the player moves,Объект, вращающийся за мышкой, не вращается при движении объекта, к которому он прикреплён
When the player moves, the object attached to it does not rotate to mouse. The object is attached in this way: Rotation code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class scrTurrMg : MonoBehaviour
{
public Rigidbody2D rb;
public Camera cam;
Vector2 mousePos;
void Update()
{
mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
Vector2 lookDir = mousePos - rb.position;
float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg;
rb.rotation = angle;
}
void FixedUpdate()
{
}
}
Motion code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class scrPlayer : MonoBehaviour
{
public float playerSpeed = 5f;
public Rigidbody2D rb;
public Camera cam;
Vector2 movement;
Vector2 mousePos;
void Start()
{
}
void Update()
{
movement.x = Input.GetAxisRaw("Horizontal");
movement.y = Input.GetAxisRaw("Vertical");
}
void FixedUpdate()
{
rb.MovePosition(rb.position + movement * playerSpeed * Time.fixedDeltaTime);
}
}
sg31nal1wo.png
(9.7 kB)
nyf4r5x7kd.gif
(106.9 kB)
Comment
Your answer
Follow this Question
Related Questions
How to disable Mouselook with the new Unity 5? 1 Answer
Problem with sending RPC to update the rotation of player's head 1 Answer
Noob: Question about standard c# mouselook script. And other probably noob questions others may ask. 3 Answers
Slowly rotating an object while pointing at mouse 0 Answers
Animation interfears Player-Movement 1 Answer