Вопрос по Spring Joint - Форум - Все для Unity3d

Все для Unity3d> Вопрос по Spring Joint - Форум>
Страница 1 из 11
Форум » Unity » Вопросы » Вопрос по Spring Joint
Вопрос по Spring Joint
astatДата: Среда, 11.06.2014, 19:57 | Сообщение # 1
Новый писатель
Группа: Пользователи
Сообщений: 33
Статус: Offline
Решил, перед использованием, протестировать Spring Joint чтобы понять в каких величинах задается Spring.
Первым делом создал куб, прикрутил пружину и решил убрать все действующие на
тело и пружину силы сопротивления: в Rigidbody - Drag и AngularDrag, в
Spring Joint - Damper.
После такого маневра каждая "порядочная" пружина будет колебаться не затухая, не тут то было - затухает и очень быстро.

Может кто сталкивался, подскажите какие еще силы сопротивления могут действовать и где их искать?



Сообщение отредактировал astat - Среда, 11.06.2014, 20:01
 
devpilgrimДата: Среда, 11.06.2014, 21:30 | Сообщение # 2
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
astat, Spring Joint только эмулирует поведение пружины. На самом деле его поведение больше соответствует поведению не идеальной, а среднестатистической пружины. То есть не стоит ждать от нее реалистичного поведения.
Когда я писал собственную подвеску - полностью переделывал всю физику. Математика оказалась лучше физики... Советую поступить аналогично.


Готов работать за деньги, или за очень большие деньги.
 
astatДата: Среда, 11.06.2014, 22:01 | Сообщение # 3
Новый писатель
Группа: Пользователи
Сообщений: 33
Статус: Offline
... ? ... Очень жаль, как по мне странно, в своей основе у пружины не сложная мат. модель.
Ладно, подумаю как доработать напильником  happy .


Сообщение отредактировал astat - Среда, 11.06.2014, 22:39
 
devpilgrimДата: Среда, 11.06.2014, 22:56 | Сообщение # 4
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
Цитата astat ()
Очень жаль, как по мне странно, в своей основе у пружины не сложная мат. модель.
Модель не сложная, но в Unity используется 100 лет назад устаревшая версия Nvidia Physix, в которой очень много недочетов...
ИМХО: На данный момент 90% физики проще менять на математику...


Готов работать за деньги, или за очень большие деньги.
 
astatДата: Вторник, 17.06.2014, 01:08 | Сообщение # 5
Новый писатель
Группа: Пользователи
Сообщений: 33
Статус: Offline

Цитата
в которой очень много недочетов...

Знач. придется писать свои недочеты biggrin .

Добавлено (17.06.2014, 02:08)
---------------------------------------------
Провели, все таки, несколько экспериментов с Spring Joint. Записали в *.csv фаил значения координаты объекта и построили график процесса в Excel. Заключение одно - параметры Spring (это точно не жесткость описанная в механике) и Damper не похожи на какие нибудь параметры пружины классической механики, да и плюс к этому в модель Spring Joint введено затухание.
Это ни коем образом не говорит о ошибках разрабов ( и что PhisX какой то недоношенный ) - просто они сделали, как заметил devpilgrim такую среднестатистическую, имитационную модель пружины (чтоб колебала чего нибудь как пружина).
Но, что бы иметь предсказуемое поведение пружины, будем описывать её как гласит нам механика.
Что получиться - обязательно покажу и расскажу процесс. А в процессе обязательно будем использовать возможности PhysX-а, предварительно их проверив.

 
devpilgrimДата: Вторник, 17.06.2014, 02:08 | Сообщение # 6
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
Цитата astat ()
Это ни коем образом не говорит о ошибках разрабов ( и что PhisX какой то недоношенный )
на самом деле, наоборот, это говорить о том, что на момент когда писалась физика, ресурсы компьютеров позволяли обрабатывать намного меньше математических операций чем сейчас. Новая физика там намного лучше, но опять-же, так как Unity рассчитан на разные платформы, то интегрируется та версия, которую потянут все платформы.
У меня только одна мечта, может когда нибудь дадут возможность интегрировать различные версии физикса для разных платформ...


Готов работать за деньги, или за очень большие деньги.
 
astatДата: Вторник, 17.06.2014, 15:14 | Сообщение # 7
Новый писатель
Группа: Пользователи
Сообщений: 33
Статус: Offline
Цитата devpilgrim ()
ресурсы компьютеров позволяли обрабатывать намного меньше математических операций чем сейчас.

С некоторой стороны да, ресурсы компьютера теперь позволяют вносить больше параметров в мат .модели физ. процессов (не для всех процессов необходимо много шагов интегрирования, а необходимо много параметров), отсюда то и
Цитата devpilgrim ()
Новая физика там намного лучше

да и функция FixedUpdate(){} введена как раз для того, чтоб был одинаковый шаг интегрирования, и не зря он меняется в настройках т.к. при моделировании высокочастотных процессов необходимо больше шагов интегрирования иначе вся система пойдет в разнос ("отлетающие" колеса у танков при оч. высоких скоростях). Опять таки, такие процессы зачастую вызваны абсурдными параметрами системы.

А так как основой физ. движка можно считать solver (решатель), а solver по нашим тестам, мало сказать, хороший - то использовать PhysX для написания недостающих(неподходящих) решений видится оправданным, даже на теперешней версии. При этом, для подробного моделирования сложных систем (на пример ткани), его может и не хватить, по крайней мере в PhysX 3 используют отдельный solver для ткани.

Для разных платформ тесты не делали, интересно как ведет себя библиотека на железе не НВидии, и не под Виндой, судя из цетаты ниже - так же. Про мобильные платформы и физику пока молчу.

Цитата devpilgrim ()
так как Unity рассчитан на разные платформы, то интегрируется та версия, которую потянут все платформы.
  Вот это действительно грустно.

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

Добавлено (17.06.2014, 16:14)
---------------------------------------------
Тему о создании пружины открою отдельную. Кроме пружины планируется сделать к ней, как минимум, демпферы сухого трения и упруго вязкой системы.

Сообщение отредактировал astat - Вторник, 17.06.2014, 15:12
 
devpilgrimДата: Вторник, 17.06.2014, 15:19 | Сообщение # 8
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
Цитата astat ()
Я к чему все это наваял, чтоб те кто будут читать эту тему, перед тем как поставить крест на использовании определенной технологии, в первую очередь для себя понимали какой конечный результат хотят получить и почему именно не подходит данная технология.

Совсем ставить крест на технологиях нет смысла. Например в той-же физике автомобиля отказываться от WheelCollider пока просто нет смысла, так как все остальные решения (сторонние) показывают себя хорошо только в лабораторных условиях, а вот в реальных игровых - просто жутко...
Цитата astat ()
Для разных платформ тесты не делали, интересно как ведет себя библиотека на железе не НВидии, и не под Виндой, судя из цетаты ниже - так же.
Да, именно так. С одной стороны это + UNity, с другой минус...
Но тут уж ничего не поделаешь. Универсальные решения - всегда несколько консервативнее...


Готов работать за деньги, или за очень большие деньги.
 
Форум » Unity » Вопросы » Вопрос по Spring Joint
Страница 1 из 11
Поиск:
Свернуть
Развернуть
Необходима авторизация
0
ТОП-5 САЙТА
НОВЫЕ ИГРЫ
ГОРЯЧИЕ ТЕМЫ
СЛУЧАЙНЫЕ ФАЙЛЫ