Unity3d Tank Tutorial

Научился сам? Помоги начинающему.

Re: Unity3d Tank Tutorial

Сообщение IDoNotExist 25 мар 2011, 18:26

AlwaysWar писал(а):Скажите, как вы гусеницы сделали? а то у меня не получается сделать по нормальному привязку боней к гусеницам

Лентой делал, скриншоты же есть http://habreffect.ru/bec/1b440cae6/l2_track_line.jpg http://habreffect.ru/827/a43101b68/l2_s ... bone_1.jpg . Мою модель скачивали? Там же все уже смоделено и прикреплено. Лучше расскажите как вы делаете, либо прикрепите свои скриншоты, я скажу что не правильно.
Последний раз редактировалось IDoNotExist 25 мар 2011, 19:12, всего редактировалось 1 раз.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Unity3d Tank Tutorial

Сообщение mentors 25 мар 2011, 18:34

Отличный урок. Очень понравился.
Только для улучшения читаемости кода, вместо цифр и сносок - проще писать коменты в коде... А то сбивает... Хотя там и так все понятно, но все-же...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Unity3d Tank Tutorial

Сообщение IDoNotExist 25 мар 2011, 19:10

mentors писал(а):Отличный урок. Очень понравился.
Только для улучшения читаемости кода, вместо цифр и сносок - проще писать коменты в коде... А то сбивает... Хотя там и так все понятно, но все-же...

Пробовал, длинные коменты получаются, читаемость кода становится только хуже.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Unity3d Tank Tutorial

Сообщение mentors 25 мар 2011, 19:37

IDoNotExist писал(а):Пробовал, длинные коменты получаются, читаемость кода становится только хуже.
Этим публикации на хабре и плохи - очень узкая полоса под текст... Коменты должным образом поставить проблематично...
ИМХО: Оформить статейку и перегнать в pdf, выложить на unity3d.ru - нет нарушений правил хабра (хотя давно там не тусуюсь, может и изменились...), и пользователи всегда будут иметь качественное руководство - даже в офлайне...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Unity3d Tank Tutorial

Сообщение jabrailus 28 мар 2011, 19:14

Всем привет, столкнулся с одной проблемой (немогу никак решить).
У меня при запуске (Play) у машины колеса встают на 90 градусов и крутятся, но в окне редактора расположены правильно.
И ещё у меня машина едет вперёд буквой "S" а назад "W", в общем всё наоборот.
Помогите пожалуйста!

Изображение
jabrailus
UNец
 
Сообщения: 4
Зарегистрирован: 28 мар 2011, 19:05

Re: Unity3d Tank Tutorial

Сообщение mentors 28 мар 2011, 21:00

jabrailus писал(а):Всем привет, столкнулся с одной проблемой (немогу никак решить).
У меня при запуске (Play) у машины колеса встают на 90 градусов и крутятся, но в окне редактора расположены правильно.
И ещё у меня машина едет вперёд буквой "S" а назад "W", в общем всё наоборот.
Помогите пожалуйста!

По поводу поворота колес на 90 градусов:
найди строку с комментарием 21 и отредактируй последнее значение (обозначено синим)...
whel.CarWheelTransform.localRotation = Quaternion.Euler(whel.CarWheelRotation, whel.CarWheelCollider.steerAngle, 0f); //21

Насчет переназначения клавиш управления.
Проверь, чтобы совпадало с этим исходником:
Синтаксис:
Используется csharp
    private void CarMove(float accel, float steer)
    {

        foreach (WheelCollider col in WhelsColliderForward)
        {
            col.steerAngle = steer * MaxSteer;
        }

        if (accel == 0)
        {
            foreach (WheelCollider col in WhelsColliderBack)
            {
                col.brakeTorque = MaxBrake;
            }

        }
        else
        {

            foreach (WheelCollider col in WhelsColliderBack)
            {
                col.brakeTorque = 0;
                col.motorTorque = accel * MaxAccel;
            }

        }
 

Если все одинаково - значит ты просто неправильно назначил передние или задние коллайдеры...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Unity3d Tank Tutorial

Сообщение jabrailus 29 мар 2011, 04:36

Непомогло, менял значения на 0,180,-90 со всеми значениями ведёт себя также...
jabrailus
UNец
 
Сообщения: 4
Зарегистрирован: 28 мар 2011, 19:05

Re: Unity3d Tank Tutorial

Сообщение IDoNotExist 30 мар 2011, 05:02

jabrailus писал(а):Непомогло, менял значения на 0,180,-90 со всеми значениями ведёт себя также...

Все правильно изменение последнего аргумента вам ничем не поможет, вы что не видите чтоли что у вас колеса поворачиваются вокруг оси Y а вы меняете значение на оси Z, я же написал в уроке чтобы вы внимательно следили за теми углами поворота колес, тоесть вам надо скорей всего сделать так:
whel.CarWheelTransform.localRotation = Quaternion.Euler(whel.CarWheelRotation, whel.CarWheelCollider.steerAngle+90.0f, 0f); //21
или так:
whel.CarWheelTransform.localRotation = Quaternion.Euler(whel.CarWheelRotation, whel.CarWheelCollider.steerAngle-90.0f, 0f); //21

Другое дело если они вдобавок у вас еще и крутятся вокруг оси Y, тоесть на самом деле они крутятся вокруг оси Х, но видимо вы чтото там намудрили с углами поворота, что теперь у вас ось X смотрит вверх, тогда вам надо сделать так:
whel.CarWheelTransform.localRotation = Quaternion.Euler( whel.CarWheelCollider.steerAngle, whel.CarWheelRotation, 0f); //21
или так:
whel.CarWheelTransform.localRotation = Quaternion.Euler( whel.CarWheelCollider.steerAngle, 0f, whel.CarWheelRotation); //21

не знаю вообщем, экспериментируйте. А по поводу того что автомобиль задом наперед ездит, передавайте отрицательный accel в функцию просто напросто.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Unity3d Tank Tutorial

Сообщение jabrailus 30 мар 2011, 12:29

спасибо за ответы, начал урок заново =)




Блин снова такая же проблема, только колеса теперь смотрят вперёд как и надо, но крутятся не вперед а в бок=(

когда я пытаюсь запустить проект с этим скриптом:

w.rotation = Mathf.Repeat(w.rotation + delta * w.col.rpm * 360.0f / 60.0f, 360.0f); //20
w.wheelTransform.localRotation = Quaternion.Euler(w.rotation, w.col.steerAngle, 90.0f, 0f); //21


то Unity выдает:
All compiler errors have to be fixed before you can enter playmod
jabrailus
UNец
 
Сообщения: 4
Зарегистрирован: 28 мар 2011, 19:05

Re: Unity3d Tank Tutorial

Сообщение IDoNotExist 31 мар 2011, 07:09

jabrailus писал(а):Блин снова такая же проблема, только колеса теперь смотрят вперёд как и надо, но крутятся не вперед а в бок=(

Если бы они у вас смотрели вперед, таких проблем бы не было, скриншоты чтоли хоть прикрепите где выделено ваше колесо и показано куда оно смотрит, а так же скриншот его Transform'а и Rotation'а

jabrailus писал(а):когда я пытаюсь запустить проект с этим скриптом:

w.rotation = Mathf.Repeat(w.rotation + delta * w.col.rpm * 360.0f / 60.0f, 360.0f); //20
w.wheelTransform.localRotation = Quaternion.Euler(w.rotation, w.col.steerAngle, 90.0f, 0f); //21


то Unity выдает:
All compiler errors have to be fixed before you can enter playmod


Это естественно, функция Quaternion.Euler(); принимает всего 3 аргумента, а вы в неё пытаетесь впихнуть 4. Почаще смотрите на что именно у вас ругается компилятор.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Unity3d Tank Tutorial

Сообщение mentors 31 мар 2011, 09:27

jabrailus писал(а):Блин снова такая же проблема, только колеса теперь смотрят вперёд как и надо, но крутятся не вперед а в бок=(
[/color]

Сделай несколько скриншотов:
При активном коллайдере.
При активном колесе.
При выделении у тебя должен быть активным инструмент перетаскивания (так чтобы были видны стрелочки за которые ты тягаешь объекты).
Вполне возможно, у тебя косяки именно с ориентацией самих мешей относительно осей координат, а так это будет видно...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Unity3d Tank Tutorial

Сообщение jabrailus 31 мар 2011, 10:55

Всё сделал скрины.

Изображение

Изображение

Изображение

Изображение
jabrailus
UNец
 
Сообщения: 4
Зарегистрирован: 28 мар 2011, 19:05

Re: Unity3d Tank Tutorial

Сообщение mentors 31 мар 2011, 12:15

Блин, не могу открыть ссылки на увеличенное изображение в радикале, но судя по положению колес(верхний скрин), и частично видимой сетки и направляющих (на нижнем)- проблема именно с ориентацией.
Эта проблема и способы ее решения описаны здесь и здесь
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Unity3d Tank Tutorial

Сообщение OrelImperia 16 июл 2011, 10:31

Есть ли у кого работающий проект данного танка, потому как у меня он не совсем работает.
OrelImperia
UNец
 
Сообщения: 3
Зарегистрирован: 16 июл 2011, 10:20

Re: Unity3d Tank Tutorial

Сообщение zameran 16 июл 2011, 15:53

DELETED
Последний раз редактировалось zameran 08 апр 2016, 22:03, всего редактировалось 1 раз.
"Не уходи смиренно, в сумрак вечной тьмы..."
Аватара пользователя
zameran
UNIт
 
Сообщения: 58
Зарегистрирован: 16 июл 2011, 15:09
Откуда: Крым, Евпатория
Skype: zameran9

Пред.След.

Вернуться в Уроки

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

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