/* Скрипт вращения 3D педалей */ using System.Collections; using System.Collections.Generic; using UnityEngine; public class rotate3DPedals : MonoBehaviour { [SerializeField] float eulerAngX; [SerializeField] float eulerAngY; [SerializeField] float eulerAngZ; bool isStarted = false; Manager man; void Start() { man = GameObject.Find("Manager").GetComponent(); eulerAngX = transform.localEulerAngles.x; eulerAngY = transform.localEulerAngles.y; eulerAngZ = transform.localEulerAngles.z; isStarted = true; } public void RotatePedals(float angle) { if (!isStarted) return; this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY , eulerAngZ - angle); } // Функция связки с 3D ручками, поворот по горизонтали public void RotateLeverHorizontal(float angle) { if (!isStarted) return; //Debug.Log("при повороте по горизонтали " + angle ); /*this.transform.localRotation = Quaternion.Euler(transform.localRotation.eulerAngles.x, eulerAngY - angle, transform.localRotation.eulerAngles.z);*/ this.transform.localRotation = Quaternion.Euler(eulerAngX + angle, transform.localRotation.eulerAngles.y, transform.localRotation.eulerAngles.z); } // Функция связки с 3D ручками, поворот по вертикали public void RotateLeverVertical(float angle) { if (!isStarted) return; //Debug.Log("при повороте по вертикали " + angle); this.transform.localRotation = Quaternion.Euler(transform.localRotation.eulerAngles.x, transform.localRotation.eulerAngles.y, eulerAngZ - angle ); } // Функция связки с 3D одинарными ручками, поворот по вертикали public void RotateLeverOneVertical(float angle)// используется только для РОШ 0701, 0702 { if (!isStarted) return; //Debug.Log("при повороте по вертикали " + angle); this.transform.localRotation = Quaternion.Euler(transform.localRotation.eulerAngles.x, eulerAngY - angle, eulerAngZ); } }