![]() |
Водичка
Параллельно с работой над подвеской решил заняться водичкой на Физиксе. По ходу возникла куча проблем.
1. Просто приложить силу Архимеда не получится, ведь тогда будет нереальное поведение тел, поскольку сила Архимеда прикладывается в данном случае к центру масс. На рисунке 1 нарисовано два случая. На рис. а) показано неправильное положение тела, которое плавает. Так получается если к центру масс просто прилаживать силу. Как должно быть показано на рисунке б). ![]() 2. приложенная сила зависит от погруженного объема, а этот обьём очень сложно и будет требовать много ресурсов если это как то оптимизировать. Особенно будут проблемы, если считать для сложных тел/ Поэтому у меня возникло пару идей, хочу посоветоваться перед тем как приступить к реализации. Ведь идея то может оказаться и бредовской, а может быть и наоборот. Может посоветуете, что то полезное. В основе лежит быстродействие, ведь для Физикса это главное . А с реализацией уже как то справлюсь. Будет несколько алгоритмов. Каждый алгоритм будет для определенной формы тела. Покамись остановлюсь на кубике. Беру у кубика все вершины, делю массу тела на количество вершин, получаю массу вершин. Теперь смотрим на рисунок: ![]() К каждой вершине будет прикладываться сила в зависимости от глубины погружения, Точнее я буду считать все приложенные силы к вершинам, потом буду считать суммарную силу и относительное её положение от центра масс. После приложу эту силу в данной точке. Это должно обеспечить правильное поведение кубика в воде. К тому же будет учтена масса кубика. А самое главное, это будет очень быстро работать. Со сферой будет всё проще. Там по радиусу можно считать погружоную часть и прикладывать в зависимости от погружения силу к центру масс, здесь как раз проблем не будет. С капсулой расскажу в следующий раз, а покамись хочу послушать мнение насчёт этого метода. Также по алгоритму капсулы можно сделать плавание для тримешей и хуллов. Там алгоритм по вершинам не поможет. Так же есть идеи сделать что-то типа поплавка. Поплавок – это невидимое и невлияющее на окружающую среду тело. Ему можно регулировать только плавучесть и привязать к телу. Тоесть, берём какую-то сложную форму и в контрольных точках привязываем поплавки. Получаем реалистично плавающее тело. Поскольку вода действует всего на пару точек, то будет очень быстрый просчёт, и ресурсов от проца почти не требует. Также можно создать любую модель плавающего тела, что даёт неограниченные возможности с учётом того, что каждый поплавок можно настроить на свой вкус . Да, и глючить, по идее, нечему. Как думаете, идея с поплавком стоит реализации? |
Re: Водичка
думаю в общих чертах должно прокатить
с поплавком стоит попробовать :) интересно даже хотя для тримеша ето будет несколько грубый подсчет |
Re: Водичка
вполне хорошая идея, стоит попробывать
|
Re: Водичка
Возможно, тут будет иметь ещё значение, дальность попловка от центра мэша, т.к. если делать првельнее то центр мэша, это и центр тяжести, либо я с физиксом не знаком, а просто, если там есть сразу определяющая центр тяжести, то нужно ещё играть с растоянием поплавка от центра тяжести, это добавит реалестичности. А так идея интерестная, но насчёт неровной вод, ну если волн большие и медленные? То тут смена направления паплавков.
|
Re: Водичка
Уже занялся разработкой. Да, растояние от центра масс будет влиять. например есть статуетка человека, то для реалестичного поведения нужно всего навсего разместить пару поплавков на руках, ногах в облости головы и можно в центре один-два. И будет прикольно смотрется.
Я вообщето про волны ничего не говорил :). Их вообще не в одном движке нету, а вы хочете всё сразу. Ну ладно подумаю, может что то получится ;). |
Re: Водичка
Про хотение небло речи, я просто предположил возможный варриант. Попловки будут прикреплятся к костям? Или точнее и будут в основном кости? Ну я например о том, что-б утопить тело человека, оно-то всплывёт =) Но у нас есть физика человека, тоесть он то не куб.
|
Re: Водичка
поплавки можно прикрепить к чему угодно и куда угодно. Тоесть на каждую кость можно нацепить несколько поплавков и всёё будет класно смотрется. Думаю сделать ограничение - 50 поплавков на тело. Думаю этого хватит :)
|
Re: Водичка
Идея с поплавками вообще руллииит.
Думаю ограничение не надо делать. Пусть прогер сам думает о быстродействии своей игры. |
Часовой пояс GMT +4, время: 04:01. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot