美文网首页
五.转换为glTF格式

五.转换为glTF格式

作者: dududuwei | 来源:发表于2019-11-27 22:20 被阅读0次

    五.转换为glTF格式

    SolidWorks插件-将SolidWorks文件转换为gltf格式

    5.1.转换为gltf

    • 在完成信息提取后,我们只需要用SharpglTF库来实现对gltf格式的操作即可
            public List<string>  SaveAs(SWglTFModel Model, string Path, string Name)
            {
                var scene = new SharpGLTF.Scenes.SceneBuilder();
                
                foreach (var Body in Model.BodyList)
                {
    
                    //创建一个网格
                    var Mesh = new MeshBuilder<VERTEX>("mesh");
    
    
                    var material = (Body.MaterialBuilder == null ? Model.MaterialBuilder : Body.MaterialBuilder);
                    if (material == null)
                    {
                        material = new MaterialBuilder()
                .WithDoubleSide(true)
                .WithMetallicRoughnessShader()
                .WithChannelParam("BaseColor", new Vector4(1, 0, 0, 1));
                    }
                    //确定材质属性
                    var prim = Mesh.UsePrimitive(material
                        );
    
                    foreach (var face in Body.FaceList)
                    {
                        
                        foreach (var tri in face.FaceTri)
                        {
                            prim.AddTriangle(tri.a, tri.b, tri.c);
                        }
                    }
    
                    scene.AddMesh(Mesh, Body.BodyTransform);
    
                }
    
    
                var model = scene.ToSchema2();
                model.SaveAsWavefront(Path + "\\" + Name + ".obj");
                model.SaveGLB(Path + "\\" + Name + ".glb");
                model.SaveGLTF(Path + "\\" + Name + ".gltf");
                return new List<string>()
                {
                    Path + "\\" + Name + ".obj",
                    Path + "\\" + Name + ".glb",
                    Path + "\\" + Name + ".gltf"
                };
            }
    
    •   SharpglTF帮我们完成了对gltf中JSON格式的序列化,这使我们无需过多关注gltf格式的内部信息。但我们仍然需要理解一下gltf格式的各个节点。

    • 转换完成Win10可以用自带的3D浏览器打开,也可以使用Visual Studio Code的gltf插件浏览,查看生成的Json文件。

    相关文章

      网友评论

          本文标题:五.转换为glTF格式

          本文链接:https://www.haomeiwen.com/subject/xmgmwctx.html