SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje klienta
  3. getPedBoneMatrix

Funkcja

getPedBoneMatrix

KlientPostacieTylko Trilogy Hub

Zwraca macierz 4x4 kości postaci w tej klatce, w takim samym układzie jak getElementMatrix: wiersz 1 = oś X kości, 2 = oś Y, 3 = oś Z, 4 = pozycja. To te same osie, w których attachElementToBone liczy przesunięcie i obrót, więc punkt przyczepienia to pozycja + X*dx + Y*dy + Z*dz. Liczona prosto z obrotu kości w silniku, bez kątów Eulera, więc nie gubi dokładności przy obrotach o 90°.

Składnia

table getPedBoneMatrix(ped thePed, int bone)

Argumenty

thePedped
Postać (w zasięgu).
boneint
Numer kości (getBoneIDs).

Zwraca

Macierz { {xx,xy,xz,0}, {yx,yy,yz,0}, {zx,zy,zz,0}, {x,y,z,1} } albo false.

Przykład

addEventHandler("onClientPedsProcessed", root, function()
    local m = getPedBoneMatrix(localPlayer, 25) -- prawa dłoń
    if not m then return end
    -- punkt 20 cm wzdłuż osi X dłoni
    local x, y, z = m[4][1] + m[1][1] * 0.2, m[4][2] + m[1][2] * 0.2, m[4][3] + m[1][3] * 0.2
    dxDrawLine3D(m[4][1], m[4][2], m[4][3], x, y, z, tocolor(255, 0, 0), 2)
end)

Uwagi

Najświeższe pozycje kości są w onClientPedsProcessed (po przeliczeniu animacji w tej klatce).

Zobacz też