How to Rotate like b.transform.rotation = Quaternion.Euler(x, y, z); ?

Hi. I assigned a Vector3 to a gameobject’s position:

            player2.transform.position = new Vector3(x1, y1, z1);

And player translated perfectly. But I can’t do it for rotation:

            player2.transform.rotation = Quaternion.Euler(x2, y2, z2);

It actually rotates. The value changes. And if I turn right and move, it goes to right. There is no problem. But player doesn’t rotate in scene. It turns right but it still looking forward.

EDIT: I found that it actually works. It was not rotating because my values were wrong.

Quaternion’s are different because you have to find rotation speed and angle you are rotating to, it requires a lot of code that personally I have no idea what it means, but I know how to copy an paste and then plug in my values where it needs them.

To find rotation, you need this:

 using UnityEngine;
 public class SlerpToLookAt: MonoBehaviour
     //values that will be set in the Inspector
     public Transform Target;
     public float RotationSpeed;
     //values for internal use
     private Quaternion _lookRotation;
     private Vector3 _direction;
     // Update is called once per frame
     void Update()
         //find the vector pointing from our position to the target
         _direction = (Target.position - transform.position).normalized;
         //create the rotation we need to be in to look at the target
         _lookRotation = Quaternion.LookRotation(_direction);
         //rotate us over time according to speed until we are in the required rotation
         transform.rotation = Quaternion.Slerp(transform.rotation, _lookRotation, Time.deltaTime * RotationSpeed);

This was actually directly copied from this post on Unity: