Skip to content

Skeletal Mesh LODs #2

Description

@narknon

Current any LOD beyond 0 likely will cause crashes.

Requires this data added to bulkdata metadata to work (reversed by LongerWarrior)

                            var PositionBufferSize = metaAr.Read<int>();

                            var TangentsBufferOffset = metaAr.Read<int>();
                            var TangentsBufferSize = metaAr.Read<int>();

                            var UVBufferOffset = metaAr.Read<int>();
                            var UVBufferSize = metaAr.Read<int>();

                            // weights Lookup???
                            var idkOffset = metaAr.Read<int>(); // -1
                            var idkSize = metaAr.Read<int>();
                            if (idkOffset != -1) throw new ParserException("idkOffset != -1");

                            var skinWeightVertexBufferOffset = metaAr.Read<int>();
                            var skinWeightVertexBufferSize = metaAr.Read<int>();

                            var ColorVertexBufferOffset = metaAr.Read<int>(); // -1
                            var ColorVertexBufferSize = metaAr.Read<int>();
                            if (ColorVertexBufferOffset != -1) throw new ParserException("ColorVertexBufferOffset != -1");

                            // similar structure with skinWeightVertexBuffer
                            var ClothVertexBufferOffset = metaAr.Read<int>();
                            var ClothVertexBufferSize = metaAr.Read<int>();

                            // looks like some indices into the buffer before
                            // indexsize*vertexcount
                            var SomeBufferOffset = metaAr.Read<int>();
                            var SomeBufferSize = metaAr.Read<int>();

                            // maybe this is clothbuffer? or maybe it's hidden under a flag
                            var AdjacencyIndexBufferffset = metaAr.Read<int>(); //-1
                            var AdjacencyIndexBufferSize = metaAr.Read<int>();
                            if (AdjacencyIndexBufferffset != -1) throw new ParserException("AdjacencyIndexBufferffset != -1");

                            var IndicesBufferOffset = metaAr.Read<int>();
                            var IndicesBufferSize = metaAr.Read<int>();

                            // for other mesh it was all zeroes
                            var somecount = metaAr.Read<int>(); //10318
                            var somestride = metaAr.Read<int>(); //16
                            var vertscount = metaAr.Read<int>();
                            var idk = metaAr.Read<int>(); // 4
                            Log.Information("Metadata end ints {0} {1} {2} {3}", somecount, somestride, vertscount, idk);```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions