Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > Полезные функции

Полезные функции Выкладываем полезные функции, чтоб не изобретать велосипед заново...

Ответ
 
Опции темы
Старый 26.09.2005, 00:00   #1
jimon
 
Сообщений: n/a
так как оригинальная либа глючная и неудобная то я начинаю разрабатывать свою версию .. так сказать jimon modification )


вообщем в большинстве глюков ode я разобрался

первый и главный глюк - нельзя в ode зделать нормальную колозию между обектами создаными с помощью trimesh

вторые числятся к глюкам с соотнощению размеров

также есть глюки с определением векторов отражения и др

выкладываю первую версию... для разминки
если чтото непонятно - спрашивайте
 
Ответить с цитированием
Старый 29.09.2005, 23:40   #2
jimon
 
Сообщений: n/a
продолжая тему оптимизации и изучения ode :

теперь моя модификация ode будет называтся jimon ODE - jODE

вообщем я немного модифицировал blitzode.bb
добавил (пока примитивную) функцию подгрузки физических моделей своего формата
и зделал пример смотрите атач ... файл там всевото 4 килобайта

вообщем уже сейчас существует редактор физических моделей
но пока он примитивный
несоблюдает некоторых правил стандарта
и глючит иногда )
(я редактор взял от проекта Xblitz2 - моего шутера)

ps. теперь глюк - никак немогу понять какой формы делается цылиндр в ode
я пришол к выводу что ето вытянутый шар

ps2. в будущем (после того как совсем разберусь и доведу игру до играбельной стадии) думаю написать пару статей на тему "работа ode в тандеме с blitz3d"
)
 
Ответить с цитированием
Старый 30.09.2005, 21:11   #3
jimon
 
Сообщений: n/a
новая версия jode
более мение разобрался с модулем загрузки моделей

теперь можно просто делать так :
mesh=LoadMesh("car\audi_body.b3d")
MoveEntity mesh,0,100,0
car_jode=jode_load("car\audi_body.ode",mesh,car_mass#,0.05,0.05,0.05)
(последние 3 числа - ето scale)

вообщем jode прогресирует как и мой проект
 
Ответить с цитированием
Старый 30.09.2005, 21:20   #4
jimon
 
Сообщений: n/a
выкладываю скрин редактора
правда он еще не готов
 
Ответить с цитированием
Старый 30.09.2005, 21:44   #5
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Originally posted by jimon+Sep 29 2005, 09:40 PM--><div class='quotetop'>ЦИТАТА(jimon @ Sep 29 2005, 09:40 PM)</div><div class='quotemain'>ps. теперь глюк - никак немогу понять какой формы делается цылиндр в ode
я пришол к выводу что ето вытянутый шар [/b]
я с этим тоже еще не разбирался, там помоему в примере были такие фигуры типа капсул... мож такая фигня...

<!--QuoteBegin-jimon
@Sep 29 2005, 09:40 PM
ps2. в будущем (после того как совсем разберусь и доведу игру до играбельной стадии) думаю написать пару статей на тему "работа ode в тандеме с blitz3d"
)
[/quote]Тебе тогда вообще цены не будет!
__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 05.10.2005, 20:25   #6
jimon
 
Сообщений: n/a
и так у меня получилось совместить несколько геометрий в одном обекте ode !

вот код: (также смотрите скрин как ето выглядеть будет ) )

test_space=ODE_dSimpleSpaceCreate(space)

space2%=space%
space%=0

j1=ODE_dJointCreateFixed%()

g.TODEGeom = New TODEGeom
g\mesh=CreateCube()
MoveEntity g\mesh,0,51,0
EntityColor g\mesh,0,255,0
g\body = ODE_dBodyCreate()
g\geom = ODE_create_object("cube",g\body,g\mesh,1,1,1,1)
tode1=Handle(g)
body1=g\body

ODE_dSpaceAdd(test_space,g\geom)


g.TODEGeom = New TODEGeom
g\mesh=CreateCube()
MoveEntity g\mesh,0,54,0
EntityColor g\mesh,0,255,0
g\body = ODE_dBodyCreate()
g\geom = ODE_create_object("cube",g\body,g\mesh,1,1,1,1)
tode2=Handle(g)
body2=g\body

ODE_dSpaceAdd(test_space,g\geom)

ODE_dJointAttach(j1,body1%,body2%)

ODE_dJointSetFixed(j1)

space%=space2%
попорядку что к чему:
1) делаем кучу TODEGeom обектов (но все геометрии присваюваются space = 0 ! ето обязательно)
2) создаем space для нашего 'обекта'
3) присойденяем к нашему space все обекты
4) создаем joint'ы типа fixed
5) присойденяем все обекты вот так : 1->2,2->3,3->4,4->5,5->...
6) фиксируем все joint'ы командой ODE_dJointSetFixed(joint)
7) радуемся )

вообщем описание немного геморно... можно сразу создать свой space для обекта
и присваивать все геометрии нему, но ето уже потом зделаю... в jode

ps. мысли в слух : "а как ето было долго, пол часа времени и чашка кофе и песня 'я еду домой' океан ельзи "
ps2. все гениальное - просто ... сам уже к етому пришол раз пять
ps3. Final Fantasy 5 класная игра )
 
Ответить с цитированием
Старый 06.10.2005, 10:32   #7
jimon
 
Сообщений: n/a
вот создаем обект посложнее )
test_space=ODE_dSimpleSpaceCreate(space)

space2%=space%
space%=0


g.TODEGeom = New TODEGeom
g\mesh=CreateCube()
MoveEntity g\mesh,0,51,0
EntityColor g\mesh,0,255,0
g\body = ODE_dBodyCreate()
g\geom = ODE_create_object("cube",g\body,g\mesh,1,1,1,1)
ODE_dSpaceAdd(test_space,g\geom)
tode1=Handle(g)
body1=g\body

g.TODEGeom = New TODEGeom
g\mesh=CreateCube()
MoveEntity g\mesh,0,54,0
EntityColor g\mesh,0,255,0
g\body = ODE_dBodyCreate()
g\geom = ODE_create_object("cube",g\body,g\mesh,1,1,1,1)
ODE_dSpaceAdd(test_space,g\geom)
tode2=Handle(g)
body2=g\body

g.TODEGeom = New TODEGeom
g\mesh=CreateCube()
MoveEntity g\mesh,0,51,3
EntityColor g\mesh,0,255,0
g\body = ODE_dBodyCreate()
g\geom = ODE_create_object("cube",g\body,g\mesh,1,1,1,1)
ODE_dSpaceAdd(test_space,g\geom)
tode3=Handle(g)
body3=g\body

g.TODEGeom = New TODEGeom
g\mesh=CreateCube()
MoveEntity g\mesh,3,51,0
EntityColor g\mesh,0,255,0
g\body = ODE_dBodyCreate()
g\geom = ODE_create_object("cube",g\body,g\mesh,1,1,1,1)
ODE_dSpaceAdd(test_space,g\geom)
tode4=Handle(g)
body4=g\body

j1=ODE_dJointCreateFixed%()
ODE_dJointAttach(j1,body1%,body2%)
ODE_dJointSetFixed(j1)

j2=ODE_dJointCreateFixed%()
ODE_dJointAttach(j2,body2%,body3%)
ODE_dJointSetFixed(j2)

j3=ODE_dJointCreateFixed%()
ODE_dJointAttach(j3,body3%,body4%)
ODE_dJointSetFixed(j3)

space%=space2%
 
Ответить с цитированием
Старый 06.10.2005, 12:32   #8
jimon
 
Сообщений: n/a
предлагаю вам свежеиспеченый jode )
(наверно заметели как я его часто обновляю - работа кипит)

и так что я зделал:
теперь есть полная потдержка много геометрических обектов

тоесть в файл-модель можно записать сколько угодно обектов ode
но раньше грузился только первый обект
но теперь все обекты грузятся! и сойденяются jointами...
короче я реализовал способ который описал раньше

представляю вам демку етого метода )

управление - стрелочки,мыша,esc,(W)ireframe и левая кнопка мыши - показать\скрыть обекты debug'а

ps. там есть readme_jode.txt с описанием формата ode )
 
Ответить с цитированием
Старый 06.10.2005, 12:33   #9
jimon
 
Сообщений: n/a
теперь опишу как метод работает:
в test.ode обекты расположены так сначала кубики 1 и 2 а потом сфера
поетому получается что кубики 1 и 2 сойденяются jointом и к кубику 2 присойденяется сфера
 
Ответить с цитированием
Старый 06.10.2005, 19:24   #10
jimon
 
Сообщений: n/a
вот и редактор подспел )

пока только альфа
обясняю только то что делает кнопка 'a' - ето переключение на управление камерой

если что... спрашивайте

ps. а редактор всевото 30 кб получился... тест и то больше занимает
 
Ответить с цитированием
Старый 06.10.2005, 23:37   #11
jimon
 
Сообщений: n/a
и так... первая версия протокола окончена
как респект себе - выпил пЫва )

ps. я заметил баг в либе
но потомучто пока ее толком никто неиспользует
и проект быстро развивается - то исправления как такового небудет
вообщем потом зделаем
(баг в том что временые обекты не удаляются - забыл ето зделать)


todo :
вообщем то что я собираюсь реализовывать во второй версии протокола
1) надо зделать карту jointов
2) будем теперь применять разные jointы
3) зделаем редактор заново - а то етот уже в ацтое
 
Ответить с цитированием
Старый 18.10.2006, 21:48   #12
reskator
AnyKey`щик
 
Регистрация: 04.09.2006
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Re: BlitzODE.bb

Сообщение от jimon
выкладываю первую версию... для разминки
если чтото непонятно - спрашивайте
а где выкладываешь? что-то не нашел
(Offline)
 
Ответить с цитированием
Старый 18.10.2006, 23:13   #13
jimon
 
Сообщений: n/a
Re: BlitzODE.bb

проект давно закрыт
если хоч могу тебе выложить то что осталось
 
Ответить с цитированием
Старый 19.10.2006, 18:10   #14
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: BlitzODE.bb

Я тоже Хочу, Хочу, Хочу.
Если можно с мелким описанием каманд .
И примерчик.

(Offline)
 
Ответить с цитированием
Старый 19.10.2006, 19:00   #15
jimon
 
Сообщений: n/a
Re: BlitzODE.bb

да не много осталось
собсно незнаю под какую ето BlitzODE
но либу вам надо качать в другом месте (у себя где то есть
но не нашол)

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


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com