-180
public Vector3 playerRotation; // x = 0 ; y = 27 ; z = 0
public Transform playerTransform;
void update(){
playerRotation = new Vector3(playerTransform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, 0); // x = 0 ; y = 27 ; z = 0);
playerTransform.rotation = new Quaternion(playerRotation.x, playerRotation.y, 0,0); //выдаёт 0,180,0 почему?
}
что за безумие ты выложил? Опиши задачу, зачем надо отгадывать что это ДОЛЖНО было делать? Код бессмысленен
playerTransform должен вращаться по данным из переменной playerRotation, но выдаёт playerTransform.rotation.y = 180
ты сохраняешь в переменную плеер ротейшн свой же ротейшн и хочешь что б что-то вращалось?.. Задачу опиши, как оно ДОЛЖНО работать, по твоему мнению
Полагаю нужен Quaternion.AngleAxis, потому что Vector3 и Quaternion это вообще не одно и тоже
Есть объект playerTransform без скриптов и отдельный объект со скриптом, который должен вращать ось "Y" у playerTransform по параметрам из переменной playerRotation playerRotation задаётся так = new Vector3(playerTransform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, 0); и применяется так playerTransform.rotation = new Quaternion(playerRotation.x, playerRotation.y, 0,0); Выдаёт: playerRotation.y = 300f а вот playerTransform.rotation.y остаётся 180 или -180 —————————————————————————— Использовал Vector3, тк Quaternion ломает GUI в Unity и данных не видно, поэтому использую его.
Обсуждают сегодня