forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопросы по blitzbullet (http://forum.boolean.name/showthread.php?t=18866)

executer 18.01.2014 10:51

Вопросы по blitzbullet
 
Добрый день.
Не подскажете-можно ли в ней включить отображение физ тел?
Пробовал btDebugDrawWorld (int camera, int modeDraw
Оно работает-тока вот отображает стандартные блицевы тела которые я создал просто чтоб видеть что 3д работает(конусы-кубы итп)
А мне они не нужны-они по renderworld итак показываются
Мне именно физ тела надо видеть-чтоб на 2 д точно наложить на экране
Вообще цель моя-2 д платформер с физикой
Т е нужно 3 д команды юзать с 3м параметром(z) в 0 я так понимаю

executer 18.01.2014 11:01

Ответ: Вопросы по blitzbullet
 
Вот такое-как сделать?

Arton 18.01.2014 11:11

Ответ: Вопросы по blitzbullet
 
Во-первых, там есть отображение физических тел.

Во-вторых, если я правильно тебя понял, ты хочешь что бы 2D-картинки повторяли движение 3D-тел?

CameraProject camera,x#,y#,z# (команда блица, в булите скорее всего нету)
Проецирует глобальные координаты x,y,z в 2D-координаты экрана.


В-третьих, у Блица 2D вещь для динамике слабая, не лучше ли всё делать 3D но с видом с боку и "параметром(z) в 0"?

В-четвёртых, раз так приспичило 2D то используй библиотеки, например Draw3D2. Там 2D средствами 3D, библиотека бесплатна (по крайней мере ненужны ключи).

P. S. На твоём скрине Box2D, кажется он есть для блица.

executer 18.01.2014 11:27

Ответ: Вопросы по blitzbullet
 
То то и оно что бокс 2 д НЕТ
фирма загнулась которая враппр делала..и ссылок нет
Драв 3 д библа слаба..я все уже перепробовал
У них у всех точные коллизии-слабое место...и глюки разные

"там есть отображение физических тел" -где?

btDebugDrawWorld говорю же-показывает станд примитивы

executer 18.01.2014 11:34

Ответ: Вопросы по blitzbullet
 
Вот мой исходник
2 картинки использую
http://rghost.ru/51737949


Include "include\BlitzBullet.bb"
Include "include\FastImage.bb" ; <<<< Include FastImage.bb file
Graphics3D 800, 600, 0, 2

camera=CreateCamera()

light=CreateLight()
cone=CreateCone()
PositionEntity cone,0,0,5
cube=CreateCube()
PositionEntity cube,120,200,5


btCreateWorld(2)

btWorldSetGravity (0,10,0,1)
btCollisionGroupSetFlag ( 1,1,1)


btWorldSetFixedTimeStep(1.0/60)
btContactSetSolverMode(SOLVER_USE_3_FRICTION_DIREC TIONS+SOLVER_SIMD+SOLVER_RANDMIZE_ORDER)

body1=btBodyCreateSphere (110,5)
btBodySetPosition (BODY1,0,0,0)

body2=btBodyCreateSphere (90,50)
btBodySetPosition (BODY2,0,200,0)


;btBodyCreatePlane(0,400,0)

InitDraw

imgFast1 = LoadImageEx ( "..\media\1.png", 0,FI_FILTERED)
imgFast2 = LoadImageEx ( "..\media\tounge.png", 1+2, FI_FILTERED)

btCreateDebugDraw ()
btDebugDrawSetMode 1

While Not KeyHit (1)
X1=btBodyGetX (BODY1)
Y1=btBodyGetY (BODY1)

X2=btBodyGetX (BODY2)
Y2=btBodyGetY (BODY2)

;btBodySetPosition ( body2,MouseX(),MouseY(),0)

mx = MouseX() ; save mouse coords in variables
my = MouseY()
Cls

;start drawing
StartDraw

;SetRotation 10
SetScale 1, 1

DrawImageEx imgFast1, X1,Y1
DrawImageEx imgFast2, X2,Y2

;
EndDraw


Text 10, 10,X1
Text 10, 20,Y1

If KeyDown(205) Then btBodyApplyImpulse (Body1, 50,0,0)
If KeyDown(203) Then btBodyApplyImpulse (Body1, -50,0,0)
If KeyDown(200) Then btBodyApplyImpulse (Body1, 0,-50,0)
If KeyDown(208) Then btBodyApplyImpulse (Body1, 0,50,0)
If KeyDown(57) Then x1=0:y1=0:btBodySetPosition ( body1,0,0,0)

zz=y1;((x1*1024 )-1)+

If y1>400 Then btBodyApplyImpulse (Body1, 0,-50,0)
If y2>200 Then btBodyApplyImpulse (Body2, 0,-50,0)



;btDebugDrawWorld(camera,0,0)
btContactTest(body1,0)
btContactTest(body2,0)
;If btContactGetBody (body1,1) Then End


btSimulation(.1,6)

btDebugDrawWorld ( camera, 0,0)

;RenderWorld

Flip
Wend


DeinitDraw

Arton 18.01.2014 11:38

Ответ: Вопросы по blitzbullet
 
Цитата:

Сообщение от executer (Сообщение 272700)
То то и оно что бокс 2 д НЕТ
фирма загнулась которая враппр делала..и ссылок нет
Драв 3 д библа слаба..я все уже перепробовал
У них у всех точные коллизии-юольгное место...и глюки разные

"там есть отображение физических тел" -где?

btDebugDrawWorld говорю же-показывает станд примитивы

Для 2D надо BlitzMax брать, для него и 2D физика найдётся, вконец концов спросить у кого нибудь можно.

Вообще поройся по форуму, тут где-то лежит 2D физика на чистом Blitz3D.

executer 18.01.2014 11:41

Ответ: Вопросы по blitzbullet
 
Синтаксис оч неудобен для меня в нем...как и с++
Это закрытая тема для меня
Тока Б3д или например Nuclear Basic
Но у 2го нет ничего в 2д...и про либы молчек на оф сайте..да и форум и сайт похоже заброшены
Вроде с Буллетом у меня получается все-но не вижу визуализации
Да и русское коммунити-огромный плюс..на блице я уже лет 8

Arton 18.01.2014 11:52

Ответ: Вопросы по blitzbullet
 
У меня фастимидж нету, положил что нашёл, не компилируется, блиц ругается.
Как помочь тебе не знаю, плохо догоняю что конкретно тебе нужно.

executer 18.01.2014 12:06

Ответ: Вопросы по blitzbullet
 
Вот Фаст
http://rghost.ru/51738222

Вот инклуды к фасту
http://rghost.ru/51738264

Нужно включить визуализацию физ тел в Буллете

Пробовал btDebugDrawWorld (int camera, int modeDraw
Оно работает-тока вот отображает стандартные блицевы тела которые я создал просто чтоб видеть что 3д работает(конусы-кубы итп)
А мне они не нужны-они по renderworld итак показываются
Мне именно физ тела надо видеть-чтоб на 2 д точно наложить на экране
Те физ тела-которыми двиг оперирует

St_AnGer 18.01.2014 12:16

Ответ: Вопросы по blitzbullet
 
Враппер Box2d найти можно, но ничего полезного для тебя он не принесёт:
1) Враппер платный (по крайней мере был таковым), при выходе из приложения постоянно будет маячить окошко отправляющее на оф.сайт;
2) ограничение на количество тел;
3) отображения физ.тел там тоже нету. Потому что это ТВОЯ РАБОТА. Создал физическую окружность - создай для неё графическую окружность и привяжи к ней.

Ну и таки да, емнип, в буллете отображение физ.объектов есть. И оно отображает именно примитивы (со сложными объектами не пробовал). А что тебе ещё надо то от физики? Во первых, это физ.библиотека, и у её задача - построение физики и ничего больше. Во вторых, физика строится на примитивах (ну, за исключением сложных хуллов и тримешей).

Враппер box2d скинуть могу, но есть ли смысл?

executer 18.01.2014 12:34

Ответ: Вопросы по blitzbullet
 
Цитата:

Сообщение от St_AnGer (Сообщение 272707)
Враппер Box2d найти можно, но ничего полезного для тебя он не принесёт:
1) Враппер платный (по крайней мере был таковым), при выходе из приложения постоянно будет маячить окошко отправляющее на оф.сайт;
2) ограничение на количество тел;
3) отображения физ.тел там тоже нету. Потому что это ТВОЯ РАБОТА. Создал физическую окружность - создай для неё графическую окружность и привяжи к ней.

Ну и таки да, емнип, в буллете отображение физ.объектов есть. И оно отображает именно примитивы (со сложными объектами не пробовал). А что тебе ещё надо то от физики? Во первых, это физ.библиотека, и у её задача - построение физики и ничего больше. Во вторых, физика строится на примитивах (ну, за исключением сложных хуллов и тримешей).

Враппер box2d скинуть могу, но есть ли смысл?


Бокс 2 д нужно-мне интересно его поковырять-скиньте пожалуйста!
"И оно отображает именно примитивы"-так мне они и нужны
Тока почему враппр кажет тока блитцевы примитивы а своифизмодели не визуализирует?
Мне надо то всего-чтоб он свои примитивы наглядно мне показал
А то у меня не совпадают размеры 2д спрайтов на экране и физ обьектов-на глазок подгоняю

St_AnGer 18.01.2014 12:40

Ответ: Вопросы по blitzbullet
 
Вложений: 1
Цитата:

Сообщение от executer (Сообщение 272708)
Бокс 2 д нужно-мне интересно его поковырять-скиньте пожалуйста!
"И оно отображает именно примитивы"-так мне они и нужны
Тока почему враппр кажет тока блитцевы примитивы а своифизмодели не визуализирует?
Мне надо то всего-чтоб он свои примитивы наглядно мне показал
А то у меня не совпадают размеры 2д спрайтов на экране и физ обьектов-на глазок подгоняю

Ну как? Как? КАААААК он их покажет, если это ФИЗИЧЕСКАЯ БИБЛИОТЕКА? Он и эти то примитивы показывать не должен, это было запилено автором для удобства Вас, что бы понятно было что, куда и как работает. А показывает 3д примитивы блица он потому, что библа изначально расчитана на 3д мир.
А размеры спрайтов подгонять на глазок и придётся, инфа 95%.

Вот библа Box2d для блица: Вложение 20019
Что и куда закидывать, думаю, знаешь.

executer 18.01.2014 12:42

Ответ: Вопросы по blitzbullet
 
Хм
А как же бокс 2 д показывает на с++?
за библу спасибо-скоро начну и ее смотреть
А я не знал что на глазок ВСЕ подгоняют...вон оно что

executer 18.01.2014 12:48

Ответ: Вопросы по blitzbullet
 
Куда кидать знаю-что ж я совсем :-)

Кирпи4 18.01.2014 12:50

Ответ: Вопросы по blitzbullet
 
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

St_AnGer 18.01.2014 12:51

Ответ: Вопросы по blitzbullet
 
Цитата:

Сообщение от executer (Сообщение 272710)
Хм
А как же бокс 2 д показывает на с++?
за библу спасибо-скоро начну и ее смотреть
А я не знал что на глазок ВСЕ подгоняют...вон оно что

Никак не показывает он на сях, рисуется всё ручками того, кто пишет приложение.
НУ и да, я не все :) У других могут быть свои методы.

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 150 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

Coks 18.01.2014 15:53

Ответ: Вопросы по blitzbullet
 
Вложений: 1
executer, как вариант для 2д в аттаче пример.
1. Поставлена ортографическая проекция - CameraProjMode
2. Настроен зум - CameraZoom
3. Перевод из мировых координат в координаты экрана, для позиционирования имейджа - CameraProject

Алсо, btDebugDrawWorld работает только, если вызывать после RenderWorld.

ps: Квадрат - это физическое тело сферы так отображается.

executer 18.01.2014 16:11

Ответ: Вопросы по blitzbullet
 
Спасибо-сейчас посмотрю

executer 18.01.2014 16:21

Ответ: Вопросы по blitzbullet
 
Спасибо.я команд этих не знал

Черный крыс 19.01.2014 21:27

Ответ: Вопросы по blitzbullet
 
Вопрос авторам враппера...

Можете выложить статическую либу что бы без гемора можно было ее прилинковать

,,??

Платон Александрович 19.01.2014 22:40

Ответ: Вопросы по blitzbullet
 
Вложений: 1
Цитата:

Можете выложить статическую либу
Какого формата?
Т.е. если тебе под блицмакс, то он из-за GCC юзает либы unix формата, с расширением ".а"
их можно получать с длл утилитой dlltool.exe, входящей в пакет gcc
в твоем случае так "dlltool --dllname BlitzBullet.dll --def BlitzBullet.def --output-lib BlitzBullet.a"
но для начала нужен файл со списком функций ".def"
для него какая-то утила есть, забыл как называется
можно быстро набросать на пурике что-то вроде:

OpenLibrary(0, "BlitzBullet.dll")
ExamineLibraryFunctions(0)
CreateFile(0, "BlitzBullet.def")
WriteStringN(0, "LIBRARY BlitzBullet.dll")
WriteStringN(0, "EXPORTS")
While NextLibraryFunction()
WriteStringN(0, LibraryFunctionName())
Wend
CloseFile(0)
CloseLibrary(0)

а для MSVC, ICC, Пурика и т.п. надо ".lib", для этого можно заюзать утилу implib

на всякий случай скинул в аттач оба формата

Черный крыс 19.01.2014 23:33

Ответ: Вопросы по blitzbullet
 
Спасибо!

Да, нужен для BlitzMax'а.

Работают оба варианта.


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

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