forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Водичка (http://forum.boolean.name/showthread.php?t=2205)

Render 26.12.2006 23:00

Водичка
 
Параллельно с работой над подвеской решил заняться водичкой на Физиксе. По ходу возникла куча проблем.
1. Просто приложить силу Архимеда не получится, ведь тогда будет нереальное поведение тел, поскольку сила Архимеда прикладывается в данном случае к центру масс. На рисунке 1 нарисовано два случая. На рис. а) показано неправильное положение тела, которое плавает. Так получается если к центру масс просто прилаживать силу. Как должно быть показано на рисунке б).


2. приложенная сила зависит от погруженного объема, а этот обьём очень сложно и будет требовать много ресурсов если это как то оптимизировать. Особенно будут проблемы, если считать для сложных тел/

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

В основе лежит быстродействие, ведь для Физикса это главное . А с реализацией уже как то справлюсь. Будет несколько алгоритмов. Каждый алгоритм будет для определенной формы тела. Покамись остановлюсь на кубике.

Беру у кубика все вершины, делю массу тела на количество вершин, получаю массу вершин. Теперь смотрим на рисунок:

К каждой вершине будет прикладываться сила в зависимости от глубины погружения, Точнее я буду считать все приложенные силы к вершинам, потом буду считать суммарную силу и относительное её положение от центра масс. После приложу эту силу в данной точке. Это должно обеспечить правильное поведение кубика в воде. К тому же будет учтена масса кубика. А самое главное, это будет очень быстро работать.

Со сферой будет всё проще. Там по радиусу можно считать погружоную часть и прикладывать в зависимости от погружения силу к центру масс, здесь как раз проблем не будет.
С капсулой расскажу в следующий раз, а покамись хочу послушать мнение насчёт этого метода. Также по алгоритму капсулы можно сделать плавание для тримешей и хуллов. Там алгоритм по вершинам не поможет.

Так же есть идеи сделать что-то типа поплавка. Поплавок – это невидимое и невлияющее на окружающую среду тело. Ему можно регулировать только плавучесть и привязать к телу. Тоесть, берём какую-то сложную форму и в контрольных точках привязываем поплавки. Получаем реалистично плавающее тело. Поскольку вода действует всего на пару точек, то будет очень быстрый просчёт, и ресурсов от проца почти не требует. Также можно создать любую модель плавающего тела, что даёт неограниченные возможности с учётом того, что каждый поплавок можно настроить на свой вкус . Да, и глючить, по идее, нечему. Как думаете, идея с поплавком стоит реализации?

jimon 27.12.2006 00:16

Re: Водичка
 
думаю в общих чертах должно прокатить

с поплавком стоит попробовать :) интересно даже
хотя для тримеша ето будет несколько грубый подсчет

ZanoZa 27.12.2006 00:31

Re: Водичка
 
вполне хорошая идея, стоит попробывать

moka 30.12.2006 01:19

Re: Водичка
 
Возможно, тут будет иметь ещё значение, дальность попловка от центра мэша, т.к. если делать првельнее то центр мэша, это и центр тяжести, либо я с физиксом не знаком, а просто, если там есть сразу определяющая центр тяжести, то нужно ещё играть с растоянием поплавка от центра тяжести, это добавит реалестичности. А так идея интерестная, но насчёт неровной вод, ну если волн большие и медленные? То тут смена направления паплавков.

Render 30.12.2006 01:42

Re: Водичка
 
Уже занялся разработкой. Да, растояние от центра масс будет влиять. например есть статуетка человека, то для реалестичного поведения нужно всего навсего разместить пару поплавков на руках, ногах в облости головы и можно в центре один-два. И будет прикольно смотрется.
Я вообщето про волны ничего не говорил :). Их вообще не в одном движке нету, а вы хочете всё сразу. Ну ладно подумаю, может что то получится ;).

moka 30.12.2006 02:34

Re: Водичка
 
Про хотение небло речи, я просто предположил возможный варриант. Попловки будут прикреплятся к костям? Или точнее и будут в основном кости? Ну я например о том, что-б утопить тело человека, оно-то всплывёт =) Но у нас есть физика человека, тоесть он то не куб.

Render 31.12.2006 23:54

Re: Водичка
 
поплавки можно прикрепить к чему угодно и куда угодно. Тоесть на каждую кость можно нацепить несколько поплавков и всёё будет класно смотрется. Думаю сделать ограничение - 50 поплавков на тело. Думаю этого хватит :)

HolyDel 01.01.2007 14:09

Re: Водичка
 
Идея с поплавками вообще руллииит.
Думаю ограничение не надо делать. Пусть прогер сам думает о быстродействии своей игры.


Часовой пояс GMT +4, время: 04:01.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot