Благодарю за скрипт, я попробовал его приспособить под себя, но так и не вышло, зато заметил что он будет работать и в таком случае:
Используется javascript
#pragma strict
var angle: float;
function Update () {
transform.Rotate(Vector3.up * Time.deltaTime*90, Space.World);
angle++;
}
function OnGUI() {
GUI.Label (Rect(10,10,50,20), angle.ToString());
}
Это говорит о том, что в данном случае при постоянном вращении (rotation) мы можем параллельно инкрементить значение "угла" каждый Update() в моем случае это не подходит!
У меня на прямую нужно получать значение отклонения угла, а так как я вращаю свой объект только при определенном событии, в момент которого я даю
Используется javascript
rigidbody.AddRelativeTorque( Vector3( 0.4, 0, 0 ), ForceMode.VelocityChange );
со временем это значение затухает после того как я в любой момент могу прекратить событие (отпустить клавишу).
Так что задача пока не решена, и я нахожусь в активных поисках решения! Если будут идеи, подкидывайте, я буду очень благодарен!
Кстати, я нашел вот такой метод :
Используется javascript
transform.rotation.ToAngleAxis(angle, axis);
тут значение angle возвращает на какой угол был повернут объект вокруг одной из осей вот как работает: первый рисунок - делаю первый оборот, начиная движение с нуля по часовой стрелке и возвращаюсь в 360, а на втором рисунке я продолжаю двигаться в том же направлении, делая второй оборот
.jpg
.jpg
Мне в голову пока что адекватные решения не приходят, просто при текущем положении вещей нужно чтоб при втором повороте опять все начиналось с тех же значений угла как и при первом повороте.
Может кто-то знает что с такой штукой можно сделать?
У вас нет доступа для просмотра вложений в этом сообщении.