{"name":"P3D Lod Frames","title":"P3D Lod Frames","type":"topic","url":"https://community.bistudio.com/wiki/P3D_Lod_Frames","revid":373421,"updated":"2025-05-08T11:27:12Z","aliases":[],"markdown":"> **Disclaimer: This page describes internal undocumented structures of Bohemia Interactive software.**\n>\n> This page contains unofficial information.\n>\n> Some usage of this information may constitute a violation of the rights of Bohemia Interactive and is in no way endorsed or recommended by Bohemia Interactive.\n> Bohemia Interactive is not willing to tolerate use of such tools if it contravenes any general licenses granted to end users of this community wiki or BI products.\n\nFrames are Animation times. They are similar in nature to RTM files.\n\nOnly specific models have them, and, they are found only in certain Lod Types of that P3D.\n\n- In MLOD the structure is contained in the #Animation# TaggSet of the lod\n- In ODOL the structure is contained in the Lod itself.\n\n**Animated Frames are NOT to be confused with ODOLV4x (ARMA) Animation structures. Animation structures are used with skeletons.**\n\nVery few models in the official addons for arma1 and arma2 have these frames. Only RacekT.p3d eg\n\n## ODOLFrames\n\n```\nstruct\n{\n  ulong      nFrames;\n  LodFrame   LodFrames[nFrames];\n}\n```\n\n### LodFrame\n\n```\nstruct\n{\n float      FrameTime;\n ulong      nBones;\n XYZTriplet BonePositions[nBones];\n}\n```\n\n### MLODTaggFrame\n\n```\nstruct\n{\n ulong      nBytes;\n float      FrameTime;\n XYZTriplet BonePositions[nBones];\n}\n```\n\n- MLOD: nBones = (nBytes-sizeof(float)) / sizeof(XYZTriplet)\n- MLOD: nFrames = as many #Animation#s as are in the TaggStruct\n\n---\n\nFor any lod that has them, there are a contiguous series of Frames making up the total. Each one has an identical number of bones (triplets).\n\nFor ODOL7 and both types of MLOD, the nLodPoints in the VertexTable is also the same as the nBones.\n\nFor Arma, there are no Vertexes in this lod, hence no LodPoints\n\nNB: There will be 1 'Animation' chunk per Frame. This can result in VERY large p3dm mlod models. A model with three thousand (3,000) odd frames (eg. ActsPercMstpSnonWnonDnon_DancingStefan.rtm) will be approx. 200 Megabytes on disk.\n\nThis type of data format for Animation is commonly known as a 'Point Cache' or an 'MDD Point Cache'. It describes the exact location of every point in the LOD in 3D 'Model Space' for each frame.","sections":[{"heading":null,"level":1,"markdown":"> **Disclaimer: This page describes internal undocumented structures of Bohemia Interactive software.**\n>\n> This page contains unofficial information.\n>\n> Some usage of this information may constitute a violation of the rights of Bohemia Interactive and is in no way endorsed or recommended by Bohemia Interactive.\n> Bohemia Interactive is not willing to tolerate use of such tools if it contravenes any general licenses granted to end users of this community wiki or BI products.\n\nFrames are Animation times. They are similar in nature to RTM files.\n\nOnly specific models have them, and, they are found only in certain Lod Types of that P3D.\n\n- In MLOD the structure is contained in the #Animation# TaggSet of the lod\n- In ODOL the structure is contained in the Lod itself.\n\n**Animated Frames are NOT to be confused with ODOLV4x (ARMA) Animation structures. Animation structures are used with skeletons.**\n\nVery few models in the official addons for arma1 and arma2 have these frames. Only RacekT.p3d eg"},{"heading":"ODOLFrames","level":2,"markdown":"```\nstruct\n{\n  ulong      nFrames;\n  LodFrame   LodFrames[nFrames];\n}\n```"},{"heading":"LodFrame","level":3,"markdown":"```\nstruct\n{\n float      FrameTime;\n ulong      nBones;\n XYZTriplet BonePositions[nBones];\n}\n```"},{"heading":"MLODTaggFrame","level":3,"markdown":"```\nstruct\n{\n ulong      nBytes;\n float      FrameTime;\n XYZTriplet BonePositions[nBones];\n}\n```\n\n- MLOD: nBones = (nBytes-sizeof(float)) / sizeof(XYZTriplet)\n- MLOD: nFrames = as many #Animation#s as are in the TaggStruct\n\n---\n\nFor any lod that has them, there are a contiguous series of Frames making up the total. Each one has an identical number of bones (triplets).\n\nFor ODOL7 and both types of MLOD, the nLodPoints in the VertexTable is also the same as the nBones.\n\nFor Arma, there are no Vertexes in this lod, hence no LodPoints\n\nNB: There will be 1 'Animation' chunk per Frame. This can result in VERY large p3dm mlod models. A model with three thousand (3,000) odd frames (eg. ActsPercMstpSnonWnonDnon_DancingStefan.rtm) will be approx. 200 Megabytes on disk.\n\nThis type of data format for Animation is commonly known as a 'Point Cache' or an 'MDD Point Cache'. It describes the exact location of every point in the LOD in 3D 'Model Space' for each frame."}],"categories":["Real Virtuality File Formats"],"groups":["Tools and File Formats"]}