Показать сообщение отдельно
Старый 17.07.2010, 11:11   #6
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: фиксим BodyCreateHull

спс, работает
Function BodyCreateHull%(mesh%, mass#)

    Local nsurf = CountSurfaces(mesh)
    Local nvert = 0
    For ns = 1 To nsurf
        Local surf = GetSurface(mesh,ns)
        nvert = nvert + CountVertices(surf)
    Next
         vbank = CreateBank(nvert*4*3)
    nv = 0
    For ns = 1 To nsurf
        surf = GetSurface(mesh,ns)
        nvv = CountVertices(surf)
        For nvc = 0 To nvv - 1
             PokeFloat vbank,nv*12+0,VertexX(surf,nvc)*EntityScaleX(mesh)  
             PokeFloat vbank,nv*12+4,VertexY(surf,nvc)*EntityScaleY(mesh)  
             PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)*EntityScaleZ(mesh)  
            nv = nv+1
        Next
    Next
    Local bbb%= pxBodyCreateHull(vbank, nvert, mass)
    FreeBank vbank
    Return bbb
End Function

Function EntityScaleX#(ent%)  
    row=0 
    el1# = GetMatElement(ent,row,0)  
    el2# = GetMatElement(ent,row,1)  
    el3# = GetMatElement(ent,row,2)  
    Return Sqr(el1*el1+el2*el2+el3*el3)  
End Function 
Function EntityScaleY#(ent%)  
    row=1 
    el1# = GetMatElement(ent,row,0)  
    el2# = GetMatElement(ent,row,1)  
    el3# = GetMatElement(ent,row,2)  
    Return Sqr(el1*el1+el2*el2+el3*el3)  
End Function 
Function EntityScaleZ#(ent%)  
    row=2 
    el1# = GetMatElement(ent,row,0)  
    el2# = GetMatElement(ent,row,1)  
    el3# = GetMatElement(ent,row,2)  
    Return Sqr(el1*el1+el2*el2+el3*el3)  
End Function
__________________
299 792 458
(Offline)
 
Ответить с цитированием