forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на Blitz3D (http://forum.boolean.name/forumdisplay.php?f=14)
-   -   2D физический движок на чистом Blitz3d (http://forum.boolean.name/showthread.php?t=12485)

rr333 09.05.2010 11:06

2D физический движок на чистом Blitz3d
 
Вложений: 1
Пробую написать свой физический движок, и вот что пока вышло.

Arles 09.05.2010 11:38

Ответ: 2D физический движок на чистом Blitz3d
 
Качественно, но, имхо, пустая трата времени, т.к. есть "Draw3d":)

St_AnGer 09.05.2010 12:25

Ответ: 2D физический движок на чистом Blitz3d
 
Соглашусь с Arles. Качественно. Понравилось. Но есть некоторые баги. Например, если быстро нажимать на вторую кнопку мыши, то объекты проваливаются друг в друга и начинают жестоко колбаситься. Так же иногда просто падая объекты проваливаются друг в друга.

ABTOMAT 09.05.2010 17:24

Ответ: 2D физический движок на чистом Blitz3d
 
Шляпа какая-то с центрами тяжести, а так качественно.
Но - изобретение велосипеда

FireOwl 09.05.2010 18:30

Ответ: 2D физический движок на чистом Blitz3d
 
Хорошо! Велосипед, не велосипед, а опыт полезный.
Умение собирать велосипед своими руками еще никому не повредило.
З.Ы. Мне удалось запихать маленькую синюю рожицу в ящик, и она там каталась :-D

rr333 09.05.2010 19:16

Ответ: 2D физический движок на чистом Blitz3d
 
Баги есть, буду исправлять.
Цитата:

З.Ы. Мне удалось запихать маленькую синюю рожицу в ящик, и она там каталась
Уже исправил.
Цитата:

Шляпа какая-то с центрами тяжести, а так качественно.
Что за шляпа? Центры тяжести в центрах объектов.
Цитата:

...пустая трата времени, т.к. есть "Draw3d"
Физика там хорошая, но я в примерах видел только сцену только с одним динамическим объектом.

Nex 10.05.2010 07:14

Ответ: 2D физический движок на чистом Blitz3d
 
Цитата:

Шляпа какая-то с центрами тяжести, а так качественно.
Ящики при падении друг на друга какое то время "качаются" как будто центр тяжести плавает. :)

rr333 10.05.2010 10:52

Ответ: 2D физический движок на чистом Blitz3d
 
Это не центр тяжести плавает, а точка контакта.

Reizel 10.05.2010 12:50

Ответ: 2D физический движок на чистом Blitz3d
 
Чувак!! Респект!! Хорошую штуку написал!! Но по ходу тока два типа обэктов :( Ис но гуд :( Если б ты добавил поддержку любых форм обэктов...

rr333 10.05.2010 19:05

Ответ: 2D физический движок на чистом Blitz3d
 
Вложений: 1
Исправил баги, добавил статичные объекты.
Цитата:

Если б ты добавил поддержку любых форм обэктов...
Вообще-то можно добавить любые выпуклые многоугольники, это в демке только прямоуголькники.

Randomize 10.05.2010 19:34

Ответ: 2D физический движок на чистом Blitz3d
 
Вкусно! Спасибо!

Reizel 11.05.2010 09:15

Ответ: 2D физический движок на чистом Blitz3d
 
Гм... а Можно ли сделать физику вообще без 3д графы и с абсолютно любой формой обэкта? Хоть дырявые даж)
ЗЫЖ и вообще ты же 3Д физику написал, а нужно 2Д как бэ на Фастимейдж (или том же Draw3Д хотя я муть какую то несу..:
В общем, круто, чувак!!

rr333 11.05.2010 12:07

Ответ: 2D физический движок на чистом Blitz3d
 
Цитата:

Можно ли сделать физику вообще без 3д графы
Можно конечно, но появятся тормоза. Да и мне удобнее хранить данные о вершинах многоугольников, создавая mesh'ы, А в 2d уже такое не сделаешь.
Цитата:

сделать ... абсолютно любой формой обэкта? Хоть дырявые даж)
В планах написать статичные невыпуклые многоугольники, а динамичных невыпуклых многоугольников наверно не будет, так как я не знаю как реализовать их столкновения.
Цитата:

и вообще ты же 3Д физику написал
Да вроде бы 2d...

tormoz 11.05.2010 16:54

Ответ: 2D физический движок на чистом Blitz3d
 
На быструю физику 3д тоже спрос будет
Например для айфонов.
Туда виндозную длл не втулишь, а блитцеподобный двиг есть

rr333 11.05.2010 18:38

Ответ: 2D физический движок на чистом Blitz3d
 
Делать 3д физику на blitz, по-моему бессмысленно, так как есть Physx, newton, ode. А вот попробовать сделать на iphone, думаю смысл есть. Есть ли на него физические 3д движки, да может тогда действительно попробовать?
P.S. Имел бы айфон, вопроса бы и не стояло.

ABTOMAT 11.05.2010 18:49

Ответ: 2D физический движок на чистом Blitz3d
 
Есть же движки тупо на С++ в виде исходников (ОДЕ тот же). Почему бы не использовать их для яфона?

Randomize 11.05.2010 20:58

Ответ: 2D физический движок на чистом Blitz3d
 
Box2D тож.

rr333 18.05.2010 16:41

Ответ: 2D физический движок на чистом Blitz3d
 
Вложений: 1
Вернулся к работе над движком. Добавил компоуды, статичные невыпуклые многоугольники, правда в острых углах выпуклые многоугольники могут немного проникать в них.
Цитата:

Box2D тож.
Я плохо читаю чужой код, да и С++ не знаю. Кстати я там не видел невыпуклых многоугольников, а у меня они теперь есть ;) Но правда там трение нормально сделано, и многоугольники не качаются как у меня.:(
Осталось сделать дополнительные функции управления физикой, и буду писать редактор. В нем можно будеть создать сцену, и в блитце загрузить готовую сцену.

rr333 26.06.2010 17:15

Ответ: 2D физический движок на чистом Blitz3d
 
Вложений: 1
Вот иправил движок (теперь почти нет качения, тела устаканиваются), но производительность уменьшилась (40 прямоугольников и фпс <30 у меня). И остались некоторые баги. Есть уже начало редактора.
Круги и прямоугольники думаю понятно как там делать, а при создании выпуклого мн-ка вершины надо обходить против часовой(!). Невыпуклых тел нет.
А вообще не знаю буду ли я продолжать работать над ним дальше.

DeadElf 29.07.2010 16:49

Ответ: 2D физический движок на чистом Blitz3d
 
редактор не понял) но посмотрел все версии)) прогресс очевиден)));)

а почему, если быстро нажимать клавишу мыши, то, когда картинок набирается целый экран, вдруг исчезают кружочки?

так просто, любопытно...

rr333 01.08.2010 20:31

Ответ: 2D физический движок на чистом Blitz3d
 
Цитата:

а почему, если быстро нажимать клавишу мыши, то, когда картинок набирается целый экран, вдруг исчезают кружочки?
Не знаю... Наверно гдето идет деление на ноль и блитцу это не нравится, вот он и удаляет все объекты в типе.

baton4ik 01.08.2010 21:46

Ответ: 2D физический движок на чистом Blitz3d
 
Цитата:

Сообщение от rr333 (Сообщение 156965)
Не знаю... Наверно гдето идет деление на ноль и блитцу это не нравится, вот он и удаляет все объекты в типе.

Нет, при делении на ноль вылетела бы ошибка!

den 01.08.2010 21:54

Ответ: 2D физический движок на чистом Blitz3d
 
Цитата:

Сообщение от baton4ik (Сообщение 156968)
Нет, при делении на ноль вылетела бы ошибка!

Невсегда! Если на ноль делется число с плавающе точкой то получается : 1.#INF - это в С++.
Короче получается что делим не на ноль а на 0.00000000000000000000000000000000000000000000001
это связано с неточными расчётами чисел с плавающей точкой

rr333 01.08.2010 22:37

Ответ: 2D физический движок на чистом Blitz3d
 
У меня при делении на ноль в дебуг лог выдавало infinity, и все связное с этой переменной удалялось, в частности перменные, объекты в типах.

namel 06.08.2010 02:18

Ответ: 2D физический движок на чистом Blitz3d
 
Цитата:

Сообщение от rr333 (Сообщение 151554)
Вот иправил движок (теперь почти нет качения, тела устаканиваются), но производительность уменьшилась

Когда открываешь меню выбора текстур и т.д курсор еле тащится...это лаги, или так и задумано?

rr333 06.08.2010 13:27

Ответ: 2D физический движок на чистом Blitz3d
 
Вложений: 1
Цитата:

это лаги, или так и задумано?
Так получилось. Вот вроде скорость отрегулировал.

rr333 07.06.2011 19:18

Ответ: 2D физический движок на чистом Blitz3d
 
Вложений: 1
Спустя столько времени все же решил закончить движок. Перевел в дллку, оптимизировал, вследствии чего заметно увеличилась скорость, 900 боксов без тормозов!
В архиве две сцены:
1) Рисуем объекты левой кнопкой мыши, а-ля карандашная физика, только тела - не проволочные. Правой кнопкой перемещаем тела, средней - удаляем (тут есть баги).
2) Пирамида боксов. Тут используется ShockPropagation, поэтому стек плохо разваливается.

HolyDel 07.06.2011 19:36

Ответ: 2D физический движок на чистом Blitz3d
 
rr333
на базе 1.exe можно сделать какую нибудь нестандартную игрушку. довольно здорово. респект в общем!

baton4ik 07.06.2011 20:38

Ответ: 2D физический движок на чистом Blitz3d
 
1.exe зависает при рисовании фигуры.

rr333 07.06.2011 20:57

Ответ: 2D физический движок на чистом Blitz3d
 
Цитата:

1.exe зависает при рисовании фигуры.
Забыл предупредить, рисовать надо только по часовой стрелке и без пересечений

pax 08.06.2011 01:30

Ответ: 2D физический движок на чистом Blitz3d
 
Цитата:

Сообщение от HolyDel (Сообщение 190622)
на базе 1.exe можно сделать какую нибудь нестандартную игрушку.

Crayon Physics Deluxe?


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

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