Tag: assimp

镜像网格和错误的UV贴图运行时导出

编辑:所以在与Assimp dev进行短暂接触之后,我被指向了导入过程。 当我从其他人手中接过代码时,我认为没有看到那部分: using (var importer = new AssimpContext()) { scene = importer.ImportFile(file, PostProcessSteps.Triangulate | PostProcessSteps.FlipUVs | PostProcessSteps.JoinIdenticalVertices); } FlipUV完全按照它所说的做,它在y轴上翻转,因此原点现在是左上角。 所以现在我能够获得具有适当UV但仍然是镜像网格的模型。 设置具有缩放x = -1的父对象将其翻转回正常并使其看起来很好,但我想这并不意味着。 所以我一直在寻找。 看图,有两种起重机型号。 左边的那个通过序列化和重建在运行时加载,而右边的那个是原始的只是拖动到场景。 序列化发生在Assimp库中。 地板碰巧首先被创建,似乎得到了正确的紫外线地图。 而其他项目出错了uv map。 虽然我正在打印uv地图的值,但它们似乎与原始地图相匹配。 这是序列化的方法,这是来自Assimp的Mesh类,而不是Unity Mesh类,应用程序序列化是在UWP中构建的Windows应用程序: private static void SerializeMeshes(BinaryWriter writer, IEnumerable meshes) { foreach (Mesh mesh in meshes) { ICollection triangles = MeshLoadTriangles(mesh); MeshSerializeHeader(writer, mesh.Name, mesh.VertexCount, […]