Хотелось бы узнать, создаю мир в Ксорсе и тут же физический
Имеется тачка и мирок маленький, все удачно грузится.
С помощью сэмпла создаю им ригид боди, ставлю гравитацию но ничего не меняется, посмотрите, откомментироуйте, плиз
Самое главное во всем этом. выдает ошибку Memory access violation - на строке присвоения позиции меша к ригид боди pxDX9BodySetEntity (city,city_body)
Include "b3d_dx9.bb"
xgraphics3d 1024,768,32,0
pxCreateWorld(0,"key")
pxSetGravity 0,-70,0
cam = xcreatecamera()
light = xcreatelight(spot)
xpositionentity cam,90,50,-90
car = xloadmesh("lamb.b3d")
car_phys = xloadmesh("lamb_phys.b3d")
car_body = bodycreatehull(car_phys,100)
xEntityAlpha car_phys,0.5
city = xloadmesh("plane.b3d")
city_phys = xloadmesh("plane.b3d")
city_body = bodycreatehull(city_phys,0)
pxDX9BodySetEntity (city,city_body)
While Not xKeyHit(key_escape)
xPointEntity cam,car
pxRenderPhysic 60,0
pxDX9BodySetEntity(car, car_body)
xupdateworld
xrenderworld
xtext 10,10,xGetFPS
xFlip
Wend
End
Function BodyCreateHull%(mesh%, mass)
Local nsurf = xCountSurfaces(mesh)
Local nvert = 0
For ns = 1 To nsurf
Local surf = xGetSurface(mesh,ns)
nvert = nvert + xCountVertices(surf)
Next
vbank = CreateBank(nvert*4*3)
nv = 0
For ns = 1 To nsurf
surf = xGetSurface(mesh,ns)
nvv = xCountVertices(surf)
For nvc = 0 To nvv - 1
PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
nv = nv+1
Next
Next
Local bbb%= pxBodyCreateHull(vbank, nvert, mass)
FreeBank vbank
Return bbb
End Function