Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение Kislorod 19 май 2011, 16:12

В общем вопрос первый такой:
Есть труба, которая как бы тоннель. Он кривой, извивается и т.д.

Есть шарик, к которому я делаю addforce и он катится по этой трубе.... пока сила направлена вперед. А перед у неё - это по мировой оси Z. Но тоннель извивается и в определенный момет ось Z уже не вперед, а в стенку. Соответственно надо бы повернуть вектор силы.... но как узнать куда? Т.е. не могу понять как мне в каждый момент времени знать, где находится перед у тоннеля и соответственно корректировать направление движения моего шарика?


Вопрос номер два - камера. КАк сделать так, что бы летящая за шариком камера не вылетала за стенки тоннеля? Вешать коллайдеры не помогает, она привязана скриптом SmoothloockAt.

Надеюсь вы мне поможете! Спасибо!
Kislorod
UNец
 
Сообщения: 3
Зарегистрирован: 19 май 2011, 16:05

Re: Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение Black_hole 19 май 2011, 19:26

Задавать направление шарику нужно по локальной системе координат.
Black_hole
UNец
 
Сообщения: 24
Зарегистрирован: 18 апр 2011, 09:28

Re: Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение Kislorod 19 май 2011, 19:55

Эээээ так он же катится!
Kislorod
UNец
 
Сообщения: 3
Зарегистрирован: 19 май 2011, 16:05

Re: Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение burlak 19 май 2011, 20:46

Труба длинная? Если ДА, стоит задавать ее просто кривой или ломаной, и по мере продвижения шарика вдоль данной кривой, кодом добавлять новые сегменты и удалять пройденные.
Если же труба уже смоделена полностью, можно посчитать ломаную, которая и будет указывать направление трубы в любой точке.
Если еще и ресурсов достаточно, можно просто на каждый сегмент трубы разместить коллайдер (триггер), который своей ориентацией покажет направление. Этот метод кстати можно совместить с первым предложением по динамическому созданию сегментов вдоль кривой - тогда и ресурсы не будут отжираться и все делается очень просто.

Чтобы камера не вылезала за коллайдер трубы, надо на нее повесить CharacterController и управлять перемещениями через его методы.
С уважением, Дмитрий Бурлаков.
skype: dmitry.burlakov
email: _dmitry.burlakov@gmail.com
Аватара пользователя
burlak
UNITрон
 
Сообщения: 326
Зарегистрирован: 28 янв 2010, 10:21
Откуда: Санкт-Петербург

Re: Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение yura415 19 май 2011, 21:51

burlak писал(а):Труба длинная? Если ДА, стоит задавать ее просто кривой или ломаной, и по мере продвижения шарика вдоль данной кривой, кодом добавлять новые сегменты и удалять пройденные.
Если же труба уже смоделена полностью, можно посчитать ломаную, которая и будет указывать направление трубы в любой точке.
Если еще и ресурсов достаточно, можно просто на каждый сегмент трубы разместить коллайдер (триггер), который своей ориентацией покажет направление. Этот метод кстати можно совместить с первым предложением по динамическому созданию сегментов вдоль кривой - тогда и ресурсы не будут отжираться и все делается очень просто.

Чтобы камера не вылезала за коллайдер трубы, надо на нее повесить CharacterController и управлять перемещениями через его методы.

есть и другие методы колизии камеры. например http://forum.unity3d.com/threads/31103- ... oth-Follow
Добавить yura4151 в Skype
Аватара пользователя
yura415
Старожил
 
Сообщения: 567
Зарегистрирован: 14 дек 2010, 08:27
  • Сайт

Re: Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение Kislorod 20 май 2011, 11:59

Труба длинная? Если ДА, стоит задавать ее просто кривой

А как в юнити создать кривую? Я могу в максе создать кривую безье, которую можно использовать как путь, но как её закинуть в юнити и как с ней работать?
Kislorod
UNец
 
Сообщения: 3
Зарегистрирован: 19 май 2011, 16:05

Re: Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение Order 20 май 2011, 12:12

http://unity3d.ru/distribution/viewtopic.php?f=18&t=4169&p=34956&hilit=%D0%B1%D0%B5%D0%B7%D1%8C%D0%B5#p34956

Выкладывал свои линии Безье. Есть еще плагин Нео Antares addon.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение burlak 20 май 2011, 12:16

Как импортнуть кривую - не знаю... Можно мешем ее сделать, но как я понимаю Юнька импорирует только плоскости, поэтому потребуется разбираться с ними.
Если тунель будет состоять из прямых сегментов, можно просто задать путь ломаной - просто последовательность пустых GameObject + OnDrawGizmo сделать чтобы линии рисовались от предыдущего к последующему.

Если же нужна безье, придется изголяться - вот тут например есть реализация http://unity3d.ru/distribution/viewtopi ... %B5#p34940
С уважением, Дмитрий Бурлаков.
skype: dmitry.burlakov
email: _dmitry.burlakov@gmail.com
Аватара пользователя
burlak
UNITрон
 
Сообщения: 326
Зарегистрирован: 28 янв 2010, 10:21
Откуда: Санкт-Петербург

Re: Привет! Можно я буду задавать тут глупые вопросы? Спасибо!

Сообщение Neodrop 20 май 2011, 15:04

В Antares Project кривые есть. Ну обидно даже, кокгда приличные люди дают такие неприличные сырые ссылки. Не путать с Universe
viewtopic.php?f=12&t=1162
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт


Вернуться в Почемучка

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

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