- Home /
how do i set the eular angles of a parent object to the same thing as the child object, without changing the rotation of the child object.
i am currently making camera controls, and I don't want to have the game strafe constantly.
I need some sort of walking code so that the player will turn based on what direction they are walking (as opposed to only looking the direction like they would if they were strafing.)
and I also need the controls to be affected by the way the camera is facing, (for example, W would always make you go the way the camera is facing, even if you change the rotation of the camera)
what i specifically need this for, is that when the player stops moving, and then the camera moves, the player is still facing the original direction. however, when they start moving again, they will turn face the direction
this is what i currently have for my walking script (i know its inefficient, don't sass me about that, unless that is the cause of my problems,)
{
//not strafing
if (rightHeld) {
transform.eulerAngles = new Vector3 (0, strafeEnd , 0);
if (leftHeld)
xMovement = 0.0f;
else
xMovement = 5.0f;
} else {
if (leftHeld){
transform.eulerAngles = new Vector3 (0, strafeEnd , 0);
xMovement = -5.0f;}
else
xMovement = 0.0f;
}
if (downHeld) {
transform.eulerAngles = new Vector3 (0, strafeEnd , 0);
if (upHeld)
zMovement = 0.0f;
else
zMovement = -5.0f;
} else {
if (upHeld)
{
transform.eulerAngles = new Vector3 (0, strafeEnd , 0);
zMovement = 5.0f;
}
else
zMovement = 0.0f;
}
}
and here is part of my camera code
{
Controller playerScript = transform.parent.GetComponent ();
if (playerScript != null) {
playerScript.strafeEnd = transform.localEulerAngles.y ;
if ((Input.GetButton ("Right")) || (Input.GetButton ("Left")) || (Input.GetButton ("Up")) || (Input.GetButton ("Down")))
// if any directional button is pushed
{
playerScript.strafeEnd = transform.localEulerAngles.y ;
transform.localEulerAngles = new Vector3 (0, 0 , 0);
}
}
with the code i have now, (lets say i am pressing "UP" ad turning the camera) it doesnt set the player to the direction the camera is facing at all, and instead, it slowly turns the player in a seemingly random direction
i have been trying this for days, please help me if you can.
Your answer
Follow this Question
Related Questions
How to rotate camera on sine wave. 0 Answers
Keep track of rotations beyond 360 degrees, and under 0 degrees 1 Answer
How do you make a Tps cam with RotateAround around the X and Y axis without rotating on the Z axis? 1 Answer
How to prevent transform.Rotate from oddly flipping other axis... 1 Answer
Store initial rotation in JavaScript 2 Answers