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()); }
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); }
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; } }
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()); }
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); } }
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])); }