Пример #1
0
        public void Export(object sender, EventArgs args)
        {
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter = "Supported Formats|*.bfobj;*.fbx;*.dae; *.obj;|" +
                         "Bfres Object (shape/vertices) |*.bfobj|" +
                         "FBX |*.fbx|" +
                         "DAE |*.dae|" +
                         "OBJ |*.obj|" +
                         "All files(*.*)|*.*";
            sfd.DefaultExt = ".bfobj";
            sfd.FileName   = Text;

            if (sfd.ShowDialog() == DialogResult.OK)
            {
                string ext = System.IO.Path.GetExtension(sfd.FileName);
                ext = ext.ToLower();

                switch (ext)
                {
                case ".bfobj":
                    ExportBinaryObject(sfd.FileName);
                    break;

                default:
                    AssimpSaver assimp = new AssimpSaver();
                    assimp.SaveFromObject(vertices, lodMeshes[DisplayLODIndex].faces, Text, sfd.FileName);
                    break;
                }
            }
        }
Пример #2
0
        private void ExportModel(string FileName)
        {
            AssimpSaver         assimp   = new AssimpSaver();
            ExportModelSettings settings = new ExportModelSettings();

            var model = new STGenericModel();

            model.Materials = new List <STGenericMaterial>();
            model.Objects   = Renderer.Meshes;

            assimp.SaveFromModel(model, FileName, new List <STGenericTexture>(), new STSkeleton());
        }
Пример #3
0
        public override void Export(string FileName)
        {
            AssimpSaver         assimp   = new AssimpSaver();
            ExportModelSettings settings = new ExportModelSettings();

            var model = new STGenericModel();

            model.Materials = Materials;
            model.Objects   = Shapes;


            assimp.SaveFromModel(model, FileName, BcresParent.GetTextures(), Skeleton.Renderable);
        }
Пример #4
0
        public override void Export(string FileName)
        {
            string ext = System.IO.Path.GetExtension(FileName);

            ext = ext.ToLower();

            switch (ext)
            {
            case ".bfmdl":
                if (GetResFileU() != null)
                {
                    ModelU.Export(FileName, GetResFileU());
                }
                else
                {
                    Model.Export(FileName, GetResFile());
                }
                break;

            default:

                List <STGenericTexture> textures = new List <STGenericTexture>();
                foreach (var mat in materials)
                {
                    foreach (var texref in mat.Value.TextureMaps)
                    {
                        foreach (var bntx in PluginRuntime.bntxContainers)
                        {
                            if (bntx.Textures.ContainsKey(texref.Name))
                            {
                                textures.Add(bntx.Textures[texref.Name]);
                            }
                        }
                        foreach (var ftexCont in PluginRuntime.ftexContainers)
                        {
                            if (ftexCont.ResourceNodes.ContainsKey(texref.Name))
                            {
                                textures.Add((FTEX)ftexCont.ResourceNodes[texref.Name]);
                            }
                        }
                    }
                }

                AssimpSaver assimp = new AssimpSaver();
                assimp.SaveFromModel(this, FileName, textures, Skeleton, Skeleton.Node_Array.ToList());
                break;
            }
        }
Пример #5
0
        private void ExportModel(string FileName)
        {
            AssimpSaver         assimp   = new AssimpSaver();
            ExportModelSettings settings = new ExportModelSettings();

            List <STGenericMaterial> Materials = new List <STGenericMaterial>();
            //  foreach (var msh in DataDictionary.Renderer.Meshes)
            //    Materials.Add(msh.GetMaterial());

            var model = new STGenericModel();

            model.Materials = Materials;
            model.Objects   = DataDictionary.Renderer.Meshes;

            assimp.SaveFromModel(model, FileName, new List <STGenericTexture>(), new STSkeleton());
        }
Пример #6
0
            public void BatchExportCombined(object sender, EventArgs args)
            {
                OpenFileDialog ofd = new OpenFileDialog();

                ofd.Multiselect = true;
                ofd.Filter      = "Supported Formats|*.bin";
                if (ofd.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                SaveFileDialog sfd = new SaveFileDialog();

                sfd.Filter = "Supported Formats|*.dae";
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    List <STGenericObject>   Objects   = new List <STGenericObject>();
                    STSkeleton               Skeleton  = new STSkeleton();
                    List <STGenericMaterial> Materials = new List <STGenericMaterial>();

                    int MatIndex = 0;
                    foreach (var file in ofd.FileNames)
                    {
                        MKAGPDX_Model model  = new MKAGPDX_Model();
                        var           stream = File.Open(file, FileMode.Open);
                        model.Load(stream);
                        stream.Dispose();

                        foreach (STGenericMaterial mat in model.Nodes[0].Nodes)
                        {
                            mat.Text = $"Material {MatIndex++}";
                            Materials.Add(mat);
                        }

                        Skeleton.bones.AddRange(((STSkeleton)model.DrawableContainer.Drawables[0]).bones);
                        Objects.AddRange(((GenericModelRenderer)model.DrawableContainer.Drawables[1]).Meshes);

                        model.Unload();
                    }

                    AssimpSaver         assimp   = new AssimpSaver();
                    ExportModelSettings settings = new ExportModelSettings();
                    assimp.SaveFromModel(Objects, Materials, sfd.FileName, new List <STGenericTexture>(), Skeleton);
                }
            }
Пример #7
0
        private void ExportModel(string FileName)
        {
            AssimpSaver         assimp   = new AssimpSaver();
            ExportModelSettings settings = new ExportModelSettings();

            List <STGenericMaterial> Materials = new List <STGenericMaterial>();

            foreach (STGenericMaterial mat in Nodes[0].Nodes)
            {
                Materials.Add(mat);
            }

            var model = new STGenericModel();

            model.Materials = Materials;
            model.Objects   = ((GenericModelRenderer)DrawableContainer.Drawables[1]).Meshes;

            assimp.SaveFromModel(model, FileName, new List <STGenericTexture>(), ((STSkeleton)DrawableContainer.Drawables[0]));
        }