Как сделать нормальное вращения? (РЕШЕНО)

Программирование на Юнити.

Как сделать нормальное вращения? (РЕШЕНО)

Сообщение IIIVSIII 24 июн 2010, 07:50

Здраствуйте...
Сразу прошу извинения если подобная теа есть в каком либо уроке или уже есть на форуме (я искал ненашол) :)
Вообщем у меня такая проблема я загружаю модель обьекта с 3Dmax фармат файла FBX в 3Dmax модель вращается так как мне нужно, в Unity онаже вращается подругому...
Делаю простую пушку которая следит за игроком при старте скрипта пушка разваливается на куски )))) деформируеся в непонятную форму)))
Вообщем вот видео


Как сделать так, чтобы вращения было такимже как и в 3d max? как заблокировать вращения по оси Х например? зараннее спасибо.
Этот скрипт я использую для наведения на игрока...[curved_hands]

Код: Выделить всё
var target : Transform;
function Update ()
   {
   var targetPoint = target.position;
if (Input.GetKey(KeyCode.R))
         {
            var targetRotation = Quaternion.LookRotation (targetPoint - transform.position);
            transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 1);
         }
   }
Последний раз редактировалось IIIVSIII 02 июл 2010, 00:24, всего редактировалось 4 раз(а).
Аватара пользователя
IIIVSIII
UNIт
 
Сообщения: 61
Зарегистрирован: 24 июн 2010, 07:41
Откуда: Кременчуг
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение Serge 24 июн 2010, 08:21

Вы хотите научиться делать игры самостоятельно, или хотите чтобы их делали вместо вас? Если первый вариант, то начните с простого, сделайте в максе простой кубик, экспортните в Юнити и отработайте на нем свой скрипт. После этого можно переходить к более сложным моделям. Это правильный стиль разработки, начинать с элементарных вещей и переходить к более сложным.
При таком подходе вы сами разберетесь в своих ошибках.

p.s. Вы разместили свой вопрос совсем не в том месте. :)
О, сколько нам открытий чудных Готовят просвещенья дух И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель.
Аватара пользователя
Serge
UNIверсал
 
Сообщения: 476
Зарегистрирован: 20 мар 2009, 15:53
Откуда: Сибирь г. Омск
  • Сайт
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение toni_3d 24 июн 2010, 09:05

нужный скрипт, жду когда будет правильный
мой кубик не вращается
toni_3d
UNIт
 
Сообщения: 126
Зарегистрирован: 09 апр 2009, 06:48

Re: Как сделать нормальное вращения?

Сообщение Pchelovod 24 июн 2010, 13:31

1. viewtopic.php?f=13&t=1949 читаем-смотрим.
2. По видео, на вскидку что то не то с коллайдером и для разнообразия и ознакомления стоит заглянуть в уроки от gnoblin`a. Там как раз рассказывалось о вращении и наводке на таргет. Там правда слежение за грызуном, но переделать думаю несложно будет.
Ломает турельку от того, что не задано в какой плоскости ее вращать (ну это я так думаю). Пусть меня более знающие люди поправят, если что.
Pchelovod
UNIт
 
Сообщения: 73
Зарегистрирован: 13 окт 2009, 08:13
Откуда: Украина (Донецк)

Re: Как сделать нормальное вращения?

Сообщение warr11r 24 июн 2010, 20:24

Положите вашу пушку в пустой ГО и скрипт применяйте к нему.
Мудрость - это когда начинаешь понимать, что все время занимаешься какой-то х...ней.
Изображение
Аватара пользователя
warr11r
UNITрон
 
Сообщения: 310
Зарегистрирован: 06 июн 2009, 03:21
Откуда: Украина, Ровно
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение IIIVSIII 25 июн 2010, 00:07

Serge
С простым кубиком всё норм и такой проблемы невозникает.. проблема какраз получаются с более сложными объектами у которых при привязке других объектов меняется центр вращения .... Кстати я построил подобную штуку с кубиков то она норм работает )) и это пример взят с урока я иду по урокам в уроке автор расматривает пишет скрипт у меня с ним происходит тоже самое ) :-B

toni_3d
Кубик вращается .. просто нада нанести этот скрипт на тот кубик который будет следить за перемещениям другого объекта и сам объект нанести в скрипте на Transform ... :)

warr11r
Я извиняюсь, но что вы имеете введу под ГО, я изучаю Unity токо шесть днней [curved_hands] такчто в жаргоне неочень смыслю :( мне если нетрудно то подробно да и если нетрудно то со скринами буду очень признателен :) ....
Аватара пользователя
IIIVSIII
UNIт
 
Сообщения: 61
Зарегистрирован: 24 июн 2010, 07:41
Откуда: Кременчуг
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение IIIVSIII 25 июн 2010, 00:15

Pchelovod писал(а):1. viewtopic.php?f=13&t=1949 читаем-смотрим.
2. По видео, на вскидку что то не то с коллайдером и для разнообразия и ознакомления стоит заглянуть в уроки от gnoblin`a. Там как раз рассказывалось о вращении и наводке на таргет. Там правда слежение за грызуном, но переделать думаю несложно будет.
Ломает турельку от того, что не задано в какой плоскости ее вращать (ну это я так думаю). Пусть меня более знающие люди поправят, если что.

С этим примером у меня неочень получилось разобраться у меня возникает таже ошибка что и человека который пытался повторить.. Ктомуже мне чтото подсказует что это мне наврятли поможет ...
У меня действительно не задано в какой плоскости ее вращать, турель она просто следит за Pleyer в даном случае и её крутит как попало я на этом застрял и никак неразберусь .... (я просто незнаю как задавать плоскость в которой она должна вращяться) Я кстати в начале еще спросил как заблокировать вращения скажем например по оси Х ...........
Последний раз редактировалось IIIVSIII 25 июн 2010, 01:19, всего редактировалось 1 раз.
Аватара пользователя
IIIVSIII
UNIт
 
Сообщения: 61
Зарегистрирован: 24 июн 2010, 07:41
Откуда: Кременчуг
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение IIIVSIII 25 июн 2010, 01:09

Вообщем я завтра сделаю всё проще, удалю лишнее и выложу проект ... [curved_hands]
Аватара пользователя
IIIVSIII
UNIт
 
Сообщения: 61
Зарегистрирован: 24 июн 2010, 07:41
Откуда: Кременчуг
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение IIIVSIII 25 июн 2010, 12:29

Вообщем я создал простой проэкт, в нём два абсолютно одинаковых обьекта собраных с кубиков, только один из них сложен в 3D max а другой сложен в самому Unity.
Скрипт на них одинаковый .... При нажатии "E" Они ничинают наводится на плеера ... и тот что сложен в 3Дмаксе поварачивается неверное ) еще я всунул в этот же проэкт свою старую турель,она при этом же скрипте розваливается ))))
Я теоретически догадуюсь как можно решить проблему, но напрактике незнаю как это сделать потомучто еще очень слабо знаю Unity... ~o)
Если будет нетрудно то пожалуйста исправте.....буду очень признателен )

http://letitbit.net/download/18226.18a19b865b7cf537a1ad74726/turel.rar.html
Аватара пользователя
IIIVSIII
UNIт
 
Сообщения: 61
Зарегистрирован: 24 июн 2010, 07:41
Откуда: Кременчуг
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение Avatarchik 25 июн 2010, 15:05

Нагибается у тебя пушка из-за того что оси в (max_sm) и [unity 3D] не совпадают!Можно пойти двумя способами создаем пустой обжект и туда засовываем модель или настроить в самом (max_sm) вот тема как настроить в (max_sm) :http://unity3d.ru/distribution/viewtopic.php?f=5&t=550&p=4509&hilit=%D0%BE%D1%81%D0%B8+3dmax#p4509
И вот исправленный твой проект по первому пути(создание пустого обжекта):
help.rar
У вас нет доступа для просмотра вложений в этом сообщении.
Добавить ava-karaban в Skype
Аватара пользователя
Avatarchik
UNITрон
 
Сообщения: 274
Зарегистрирован: 04 апр 2009, 15:36
Откуда: Украина(Донецк)
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение IIIVSIII 25 июн 2010, 15:40

Avatarchik писал(а):Нагибается у тебя пушка из-за того что оси в (max_sm) и [unity 3D] не совпадают!Можно пойти двумя способами создаем пустой обжект и туда засовываем модель или настроить в самом (max_sm) вот тема как настроить в (max_sm) :http://unity3d.ru/distribution/viewtopic.php?f=5&t=550&p=4509&hilit=%D0%BE%D1%81%D0%B8+3dmax#p4509
И вот исправленный твой проект по первому пути(создание пустого обжекта):
help.rar


Огромное Спасибо ^:)^ ^:)^ ^:)^ ^:)^
Аватара пользователя
IIIVSIII
UNIт
 
Сообщения: 61
Зарегистрирован: 24 июн 2010, 07:41
Откуда: Кременчуг
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение 3Dragon 26 июн 2010, 09:32

Правим pivot вращающегося элемента пушки и не любим людям мозг.
Глаза боятся, а руки - крюки.
3Dragon
UNIт
 
Сообщения: 61
Зарегистрирован: 25 ноя 2009, 21:50
Откуда: Санкт-Петербург
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение IIIVSIII 26 июн 2010, 16:30

3Dragon писал(а):Правим pivot вращающегося элемента пушки и не любим людям мозг.

:-ss А можно Скрин как его править ))))
Аватара пользователя
IIIVSIII
UNIт
 
Сообщения: 61
Зарегистрирован: 24 июн 2010, 07:41
Откуда: Кременчуг
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение 3Dragon 26 июн 2010, 17:56

3ds Max:
Изображение
При экспорте в юнити не забываем, что вращающийся элемент конструкции должен быть отдельным объектом.
Ну или не заморачиваться с пивотами и экспортнуть детальки по отдельности, но в таком случае у каждой детали пивот будет находиться в центре координат (в максе).
Глаза боятся, а руки - крюки.
3Dragon
UNIт
 
Сообщения: 61
Зарегистрирован: 25 ноя 2009, 21:50
Откуда: Санкт-Петербург
  • ICQ

Re: Как сделать нормальное вращения?

Сообщение IIIVSIII 26 июн 2010, 23:40

3Dragon писал(а):3ds Max:
Изображение
При экспорте в юнити не забываем, что вращающийся элемент конструкции должен быть отдельным объектом.
Ну или не заморачиваться с пивотами и экспортнуть детальки по отдельности, но в таком случае у каждой детали пивот будет находиться в центре координат (в максе).

Спасибо ваш совет очень помог ... только вот теперь возникла новая проблема или я неполностю может понял или чтото нетак сделал, Всё работает нормально но до тех пор пока я не попытался сделать так как хотел, у меня на этой пушке в планах чтобы часть вращалась только побокам а вторая часть вращалась бы вверх вниз ... Проблема в том что когда я вращаю вверх вниз дотех пор пока не повернул вбок то всё нормально но как токо я поварачиваю в бок и пытаюсь вращать сново вверх в низ то она вращается уже какимто непонятным образом .... Впринципе понять то можно но как от этого исбавится ?
Вообщем вот видео



Незнаю зачем, но вот исходник. вдруг я даж тут чёт намутил)))..
Исходник поворота вверх в низ
Код: Выделить всё
function Update () {
if (Input.GetKey(KeyCode.R))
         {
            transform.rotation.z=transform.rotation.z+0.01;
            
            }
            if (Input.GetKey(KeyCode.F))
         {
            transform.rotation.z=transform.rotation.z-0.01;
            
            }
}


Исходник наведения на объект (игрока в даном случае)
Код: Выделить всё
var target : Transform;
function Update () {
   var targetPoint = target.position;
if (Input.GetKey(KeyCode.E))
         {
            var targetRotation = Quaternion.LookRotation (targetPoint - transform.position);
            transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 1);
            
         }
}

И ссылка на исходник проэкта вдруг пригодится кому

http://letitbit.net/download/50808.50c2bceb7c34936fba4802776/tureld.rar.html
Аватара пользователя
IIIVSIII
UNIт
 
Сообщения: 61
Зарегистрирован: 24 июн 2010, 07:41
Откуда: Кременчуг
  • ICQ

След.

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10