[Android][IOS]Touge Project: Race and Drift[UPD]released

Проекты в стадии разработки.

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение faqmoroz 25 сен 2014, 20:30

Может кто знает, при просто коллайдерах все работает, если навесить на объект риджитбоди, то все он становится не повреждаемым. Расчет происходит в OnCollisionStay. Мне кажется я упускаю что-то очень важное, но не могу понять что.
[UPD]
Выяснил что такое происходит только если меш - дочерний к риджитбоди объект.
[UPD2]
С этим разобрался
faqmoroz
UNец
 
Сообщения: 34
Зарегистрирован: 01 апр 2014, 17:17

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение faqmoroz 27 сен 2014, 21:20

Очень насущный вопрос, пока отдельную тему не задаю, тут спрошу.
Как удалить и заново создать бокс коллайдер, с меш коллайдером проблем нет - делается
Синтаксис:
Используется csharp
mymesh.gameObject.GetComponent<MeshCollider>().sharedMesh =null;
                                                        mymesh.gameObject.GetComponent<MeshCollider>().sharedMesh =mesh;

А с боксом я пробовал так
Синтаксис:
Используется csharp
DestroyObject(mymesh.gameObject.GetComponent<BoxCollider>());
                                                        mymesh.gameObject.AddComponent<BoxCollider>();

Но не всегда юнити отрабатывает данный код и бокс коллайдеры плодятся, из за этого глючит просчет повреждений :(
На бокс коллайдеры пришлось перейти т.к. меш коллайдер с меш коллайдером не взаимодействует. Есть какие-нибудь идеи?
faqmoroz
UNец
 
Сообщения: 34
Зарегистрирован: 01 апр 2014, 17:17

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение faqmoroz 28 сен 2014, 02:41


Вообщем офигеть как урезал повреждения и потестил на андроиде, полет нормальный, немного поднастрою и добавлю в игру думаю.
Кому-нибудь будут интересны подводные камни, выводы и прочее по повреждениям, писать длиннопост или нет?
faqmoroz
UNец
 
Сообщения: 34
Зарегистрирован: 01 апр 2014, 17:17

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение bwolf88 28 сен 2014, 12:24

Фара в конце ништяк вылезла на чем держалась ? :D
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение faqmoroz 28 сен 2014, 13:13

Halo эффект почему-то не двигается вместе с мешем 0_0
faqmoroz
UNец
 
Сообщения: 34
Зарегистрирован: 01 апр 2014, 17:17

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение GeoGraf 29 сен 2014, 10:58

faqmoroz писал(а):Вообщем офигеть как урезал повреждения и потестил на андроиде, полет нормальный, немного поднастрою и добавлю в игру думаю.
Кому-нибудь будут интересны подводные камни, выводы и прочее по повреждениям, писать длиннопост или нет?

Да, было бы интересно почитать.
А так проект классный!
(3A4OT)
Аватара пользователя
GeoGraf
UNITрон
 
Сообщения: 341
Зарегистрирован: 10 сен 2014, 16:53
Откуда: Тверь, Россия

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение faqmoroz 29 сен 2014, 13:14

Залил апдейт с повреждениями в гугл плей.
faqmoroz
UNец
 
Сообщения: 34
Зарегистрирован: 01 апр 2014, 17:17

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение faqmoroz 29 сен 2014, 23:16

Вообщем попробую рассказать о подводных камнях.
Вообще изначально, не буду скрывать, идею скрипта я подглядел в unity answers. Скрипт был рабочий, но делал не совсем то, что нужно. В скрипте определялись сила столкновения и направление, затем с помощью "магии" изменялось положение вершин, причем при столкновении наш "меш" выгибался наружу. Магия заключалась в том - что коэффициент смещения точек рассчитывалось как 1-(расстояние от вершины до удара)/("сила удара") и это неплохо работало, после того, как подставил где-то минус вместо плюса, уже не помню где. Но замятия были слишком резкими, пришлось итоговое смещение домножать на Time.deltaTime. Так же добавил "силу сопротивления удару" и дополнительный коэффициент разрушения. Сила сопротивления удара нужна для оптимизации: твердые материалы не всегда разрушаются от легкого прикосновения, и чтобы не гонять скрипт после каждой легкой коллизии и рассчитывать мини-смещения. Все просто:
Синтаксис:
Используется csharp
if (collision.relativeVelocity.magnitude>resist_force)
. Коэффициент разрушения - что бы варьировать степень разрушения. И все бы было хорошо, если бы не коллайдер меша, который то тоже надо изменять. Сначала я использовал меш коллайдеры. С ними кстати связан подводный камень, о котором чуть дальше. На них можно получить самый красивый результат. Первый же подводный камень меш коллайдеры не взаимодействуют друг с другом, если они не Convex. Проблема в том, что Convex коллайдер ограничен как я понял 255 треугольниками и Unity не всегда может создать его на сложных формах. Я нашел инструмент за 60$, который может создавать вроде продвинутые convex коллайдеры, но он только для Pro версии и не для реалтайма, собственно если бы я его использовал, то пришлось бы просчитывать повреждения и коллайдера тоже, но т.к. геометрия может в итоге не много не совпасть, возможно данный путь чреват багами. Так же дописал скрипт, чтобы при превышении определённой силы объект разрушался. И ещё один подводный камень: разрушение делал просто: из исходного меша просто создавал новые объекты по одному треугольнику. И все бы было не чего, но процедура присваивания материала занимает очень много времени, и юнити дико фризилась в момент разрушения, причем если убрать присвоение материала, то все было нормально, поэтому данную функциональность пришлось "заморозить". Так же пришлось столкнуться с ещё одним подводным "камнем": некоторые меши не могут быть с меш коллайдером если они маленькие и плоские. Пока все хорошо, но как только к гейм объекту добавляем риджидбоди так не чего не работает. А все потому, что поведение риджидбоди таково, что всю информацию с дочерних коллайдеров он забирает себе, ничего в них не оставляя. И пришлось вытягивать из объекта с риджидбоди инфу о том, какой из коллайдеров принял удар и соответственно именно связанную с ним меш повреждать, а не все объекты. Далее т.к. OnCollider и Ontigger функции не хранят в отличии от OnCollision точки соприкосновения, а как ее найти что бы создать простейший коллайдер и поставить его туда я не придумал, с меш коллайдеров я перешёл на бокс коллайдеры.Проблемы бокс коллайдеров: первая не такие реалистичные повреждения, вторая их нормально не пересоздать - Destroy может не успеть отработать и коллайдеров наплодится. И вроде все хорошо, но теперь ставим скрипт Combine Cildren, чтобы уменьшить дравколсы и наши повреждения выглядят очень не красиво, т.к теперь бокс коллайдеров пара штук и они перекрывают друг друга, допустим бьёмся мы мордой авто, повреждается основной остов, а например фары и поворотники остаются висеть на месте. Поэтому принял решения обойтись одним общим боксколлайдером на модель, информацию с которого применять ко всем объектам.
Вот такие дела.
faqmoroz
UNец
 
Сообщения: 34
Зарегистрирован: 01 апр 2014, 17:17

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение bwolf88 30 сен 2014, 00:38

"некоторые меши не могут быть с меш коллайдером если они маленькие и плоские" - любые меши могут быть с меш коллайдером. Я меши строю и из одного и из двух треугольников и им прекрасно присваивается меш коллайдер, вот только сами меш коллайдеры весьма тормознутые на обработку коллизий.
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение GeoGraf 30 сен 2014, 09:15

faqmoroz писал(а):Вообщем попробую рассказать о подводных камнях.

Спасибо! Очень интересно!
faqmoroz писал(а):Я нашел инструмент за 60$, который может создавать вроде продвинутые convex коллайдеры, но он только для Pro версии и не для реалтайма.

А что за инструмент? Не поделитесь ссылочкой?
Аватара пользователя
GeoGraf
UNITрон
 
Сообщения: 341
Зарегистрирован: 10 сен 2014, 16:53
Откуда: Тверь, Россия

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение faqmoroz 30 сен 2014, 09:55

bwolf88 писал(а):"некоторые меши не могут быть с меш коллайдером если они маленькие и плоские" - любые меши могут быть с меш коллайдером. Я меши строю и из одного и из двух треугольников и им прекрасно присваивается меш коллайдер, вот только сами меш коллайдеры весьма тормознутые на обработку коллизий.

Actor::updateMassFromShapes: Compute mesh inertia tensor failed for one of the actor's mesh shapes! Please change mesh geometry or supply a tensor manually!
UnityEditor.HostView:OnGUI()
При наличии риджидбоди может вылезти такая ошибка на некоторых мешах.
GeoGraf писал(а):А что за инструмент? Не поделитесь ссылочкой?

Вот ссылочка https://www.assetstore.unity3d.com/en/#!/content/4596
faqmoroz
UNец
 
Сообщения: 34
Зарегистрирован: 01 апр 2014, 17:17

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение GeoGraf 30 сен 2014, 10:49

faqmoroz писал(а):Вот ссылочка https://www.assetstore.unity3d.com/en/#!/content/4596

А, спасибо! Этот видел. Просто этот 45$ стоит. Думал может есть альтернатива за 60...
Я делал подобную вещь сам, но вот быстродействие этого оставляло желать лучшего. А тут слишком большая детализация, хотя может для кого-то это и оправдано. Но в общем все как всегда: хочешь сделать что-то хорошо, сделай это сам :)
Готовые решения стараюсь использовать только в крайних случаях.
Аватара пользователя
GeoGraf
UNITрон
 
Сообщения: 341
Зарегистрирован: 10 сен 2014, 16:53
Откуда: Тверь, Россия

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение GeoGraf 30 сен 2014, 11:01

GeoGraf писал(а):
faqmoroz писал(а):Вот ссылочка https://www.assetstore.unity3d.com/en/#!/content/4596

А, спасибо! Этот видел. Просто этот 45$ стоит. Думал может есть альтернатива за 60...
Я делал подобную вещь сам, но вот быстродействие этого оставляло желать лучшего. А где написано, что он не для реалтайма?
Ну в общем все как всегда: хочешь сделать что-то хорошо, сделай это сам :)
Готовые решения стараюсь использовать только в крайних случаях.
Аватара пользователя
GeoGraf
UNITрон
 
Сообщения: 341
Зарегистрирован: 10 сен 2014, 16:53
Откуда: Тверь, Россия

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение faqmoroz 30 сен 2014, 15:11

GeoGraf писал(а):
GeoGraf писал(а):
faqmoroz писал(а):Вот ссылочка https://www.assetstore.unity3d.com/en/#!/content/4596

А, спасибо! Этот видел. Просто этот 45$ стоит. Думал может есть альтернатива за 60...
Я делал подобную вещь сам, но вот быстродействие этого оставляло желать лучшего. А где написано, что он не для реалтайма?
Ну в общем все как всегда: хочешь сделать что-то хорошо, сделай это сам :)
Готовые решения стараюсь использовать только в крайних случаях.

Честно не нашёл где видел, но они сами пишут, что процесс создания коллайдеров занимает несколько секунд, на лету не создашь.
faqmoroz
UNец
 
Сообщения: 34
Зарегистрирован: 01 апр 2014, 17:17

Re: [Android] Touge Project: Race and Drift [UPD] released

Сообщение GeoGraf 30 сен 2014, 17:06

faqmoroz писал(а):Честно не нашёл где видел, но они сами пишут, что процесс создания коллайдеров занимает несколько секунд, на лету не создашь.

Ну если объект из 30 полигонов, то создасться должно довольно быстро.
К тому же порой необязательно создавать мгновенно. Бросил параллельным потоком при подходе к объекту, а когда подошел, то коллайдер уже надет)
Аватара пользователя
GeoGraf
UNITрон
 
Сообщения: 341
Зарегистрирован: 10 сен 2014, 16:53
Откуда: Тверь, Россия

Пред.След.

Вернуться в Кузня

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

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