forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=28)
-   -   .Newton Wrapper for Blitz3D (http://forum.boolean.name/showthread.php?t=2099)

ЛысыЙ_Чук-Иванчук 14.12.2006 17:39

Re: .Newton Wrapper for Blitz3D
 
Цитата:

model = LoadMesh("c:\01.3ds")
PositionEntity model,0,30,0
HideEntity Model
body = BodyCreateHull(Model,0)
mesh = CopyEntity(Model)
p.phx = New phx:p\body = body:p\mesh = mesh
phBodySetPos(body,40,0,0)
;phBodySetRot(body,180,0,0)

1-А есть ли какиенибудь исходники( гоночек, ну или еще чегонибудь ) кроме тех что в идут с ним--
2-Как можно заставить объект крутится типа TurnEntity.
;================================================= =====
3-Там есть функций для проверки на столкновение которые мне несовсем понятны, пожалуйста могогите объясните какие использовать и для чего( обящяю вручить мега благодарность).

Цитата:

phxCreateNull.phx(mass#)
CompoundAddHull(mesh%)
BodyCreateHull%(mesh%,mass#)
BodyCreateMesh%(mesh%,mass#)
LevelAddMesh(mesh%)
LevelAddTerrain(terrain%)



itmbin 14.12.2006 18:37

Re: .Newton Wrapper for Blitz3D
 
когда ты делаешь объект как хулл, то он становится выпуклым. Если это тело у тебя неподвижно, то создавай его как level.
Код:

model = LoadMesh("c:\01.3ds")
 
phLevelBuildBegin()
LevelAddMesh(Model)
body = phLevelBuildEnd()
 
p.phx = New phx:p\body = body:p\mesh = model
phBodySetPos(body,40,0,0)

Чтобы именно крутиться как TurnEntity - phBodySetOmega, но мб тебе все таки нужен phBodyAddRelTorque?

Команды работы с контактами вроде все описаны в хелпе :-)

phxCreateNull.phx(mass#) - создает ни с чем не сталкивающееся тело
CompoundAddHull(mesh%) - созадет банк вершин и передает его в phCompoundAddHull
BodyCreateHull%(mesh%,mass#) - создает банк всех вершин и передает его в phBodyCreateHull для создания геометрии хулла.
BodyCreateMesh%(mesh%,mass#) - то же самое, но для невыпуклых тел. Очень тормозит (ибо написана мной, а не ньютоном:) ) и использовать ее лучсше только для отладки, если что, пользоваться компаундами.

LevelAddMesh(mesh%) - ну см пример выше... Добавляет все треугольники меша к level через phLevelAddFace

LevelAddTerrain() - лучше вообще не трогать от греха подальше... забыл ее удалить ))))

ЛысыЙ_Чук-Иванчук 14.12.2006 20:44

Re: .Newton Wrapper for Blitz3D
 
model=LoadMesh("c:\01.3ds")

phLevelBuildBegin
();Зачем эта команды
LevelAddmesh(model)
phLevelBuildEnd();и эта

;phBodySetMat(levelbody,matStatic) а без этой работает и зачем она тагда нужна


itmbin 15.12.2006 11:47

Re: .Newton Wrapper for Blitz3D
 
уровень создается несколькими командами!

Сначала вызываем phLevelBuildBegin - эта команда говорит, что мвы хотим начать построение уровня.
Затем надо доабвить все треугольники геометрии через несколько вызовов phLevelAddFace (по одному для каждого треугольника)
И наконец, phLevelBuildEnd указывет врапперу, что пострение завершено, все треугольники которые мы хотели, мы добавили, и что можно сделать по этим треуголникам тело. Эта функция и возвращает созданное тело..

Ну и как бы не стесняемся смотреть в хелп :)

ЛысыЙ_Чук-Иванчук 02.01.2007 20:50

Re: .Newton Wrapper for Blitz3D
 
Вот вопрос: В примерах гоночек используется команда создания цилиндра как колеса:4to: . В хелпе я нашел команду для создания колеса
phJointVehicleAddTire%(veh%,dx#,dy#,dz#,nx#,ny#,nz #,mass#,width#,radius#,shock#,spring#,lenght#)
Но когда я захотел её использовать у меня начались ошибочки, короче есть пример использование этой команды, и вообще реал. поведение машины. Моно даже кусок кода.:)

itmbin 03.01.2007 23:35

Re: .Newton Wrapper for Blitz3D
 
семпл даже есть :)
NewtonVehicle.bb

ЛысыЙ_Чук-Иванчук 05.01.2007 19:52

Re: .Newton Wrapper for Blitz3D
 
:4to: Есть непонятная проблема, именно колесо не хочет поворачиватся:dontknow:
Цитата:

phJointVehicleSetTireSteer(veh,tireBR,MouseX()/3)B)

Если у кого была такая проблемма Скажите в чем дело:)

ЛысыЙ_Чук-Иванчук 06.01.2007 18:11

Re: .Newton Wrapper for Blitz3D
 
Разобрался в чем проблема и окуел... всмысле почему так:
phWorldStep(100)- вот так у мяня было(в принцепи правельно), но колеса не будут поворачиватся если значение больше 0. Почему ху его знает.... порылся в примере(и с этой дребеденью работает):
Цитата:


phWorldStep(0)
time=MilliSecs()

Steps = Steps+1

If Steps>StepsMax
RenderWorld

oldtime=time
Steps=0
rtime2=rtime1
rtime1=time
StepsMax=(rtime1-rtime2)/slowtime#
If Stepsmax>200 Then Stepsmax=200
Flip

EndIf
Wend
End



ЛысыЙ_Чук-Иванчук 07.01.2007 09:56

Re: .Newton Wrapper for Blitz3D
 
itmbin- Може есть какойнебуть другой способ сделать чтобы колеса поворачивались? Там в примере все вроде как норм. но это только на первый взгляд- У меня есть тачка промерно 25 000 поликов. Так вот если просто phWorldStep(100(Без заморочек с кодом)) и в кадре будет горка машин 30 штук 25 фпс СТАБИЛЬНО.... А когда с замудреным кодом 10 машин и примерно 7-13 ФПС:4to: :''(( :''(( :''(( :''((

БЛИН МОЖЕТ ЕСТЬ КАКОЙНЕБУТЬ ВЫХОД???????????
P.S. Вообще странно что колесо не поворачивается(какаято недоработка:( ).....

Motorboy 07.01.2007 14:39

Re: .Newton Wrapper for Blitz3D
 
можно мне ключик
[email protected]

tormoz 07.01.2007 17:31

Re: .Newton Wrapper for Blitz3D
 
For i=1 To 2
phWorldStep(0.005)
For c.car=Each car
phJointVehicleSetTireSteer(c\veh,c\tireFL,c\steer)
phJointVehicleSetTireSteer(c\veh,c\tireFR,c\steer)
Next
Next

ЛысыЙ_Чук-Иванчук 07.01.2007 20:07

Re: .Newton Wrapper for Blitz3D
 
tormoz- Огромное пасибо:super: :super: :super: , пришлось попарится что-бы работало нормально, но теперь рулез просто летает:-)
ПАСИБ...

johnk 07.01.2007 20:58

Re: .Newton Wrapper for Blitz3D
 
если можно киньте ключик ---> [email protected]

BOPOH 18.01.2007 01:52

Re: .Newton Wrapper for Blitz3D
 
да. . .весч хороша. . .тормозная децл канечна. . .но прелесть в том что в отличии от ODE мона своцства материалов разнообразить . . .
приятно . . .ток вот без ключа беда. . .((((
скинте ключик хто нить . . . .плиииииззззз. . . .
[email protected]

BAK$$$ 28.01.2007 02:35

Re: .Newton Wrapper for Blitz3D
 
Скиньте кто-нибудь ключик...Пожалуйста...
[email protected]


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

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