Единство вращения между двумя трехмерными объектами - PullRequest
0 голосов
/ 24 октября 2018

Мне нужно синхронизировать преобразование между объектами Голова и Тело (оба они являются трехмерными объектами) в Unity и должно удовлетворять текущим условиям:

  • Перевод должен быть одинаковым между Головой и Телом, например, ИсправленоСоединение.
  • Вращение должно быть свободно по осям x и z, а
  • вращение по оси y между ними меньше или равно 30 градусам.Это означает, что если тело имеет угол Y, равный 0, а голова имеет угол Y, равный 31, то угол тела будет поворачиваться на 1 градус, положение не должно изменяться.

enter image description here

Я новичок в Unity.Я потратил 2 дня, чтобы прочитать о шарнирном суставе, символьном суставе и настраиваемом суставе, но не повезло.Большое спасибо за любую помощь, также приветствуются обе конфигурации в Unity Editor или C #!

1 Ответ

0 голосов
/ 24 октября 2018

не говори, что я никогда не давал тебе ничего ....:

// gobal 
 private float rotationY = 0f;
 private float sensitivityY = 2f;

 void lockedRotation()
 {
    rotationY += Input.GetAxis("Mouse X") * sensitivityY;
    rotationY = Mathf.Clamp (rotationZ, -15, 15);

     transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, -rotationY,transform.localEulerAngles.z);
 }

Теперь я поставил тебя в правильном направлении.поиграйте с этим и посмотрите, что вы можете сделать.мы не можем сделать всю работу за вас.удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...