public void ImportTry() { var opFile = new OpenFileDialog(); if (opFile.ShowDialog() == true) { try { var path = opFile.FileName; var loader = new Importer(); var scene = loader.Load(path); if (scene != null) { GroupModel.AddNode(scene.Root); } if (scene.HasAnimation) { foreach (var ani in scene.Animations) { Animations.Add(ani); } } MessageBox.Show("Модель была успешно добавлена на сцену."); } catch { MessageBox.Show("Ошибка во время загрузки модели."); } } }
public MainViewModel() { EffectsManager = new DefaultEffectsManager(); ModelGroup = new SceneNodeGroupModel3D(); compositeHelper.Rendering += Render; //Test importing Importer importer = new Importer(); importer.Configuration.CreateSkeletonForBoneSkinningMesh = true; importer.Configuration.SkeletonSizeScale = 0.01f; importer.Configuration.GlobalScale = 0.1f; scn = importer.Load("Gunan_animated.fbx"); //Add to model group for rendering ModelGroup.AddNode(scn.Root); //Setup each animation, this will actively play all (not always desired) animationUpdaters = new List <IAnimationUpdater>(scn.Animations.CreateAnimationUpdaters().Values); }
public static SceneNodeGroupModel3D LoadMapMGEO(MGEOFile mgeo) { List <MeshGeometryModel3D> meshGeometryModels = GenerateMeshGeometryModels(mgeo); SceneNodeGroupModel3D mainModelGroup = new SceneNodeGroupModel3D(); foreach (MeshGeometryModel3D meshGeometryModel in meshGeometryModels) { GroupNode groupNode = new GroupNode() { Name = meshGeometryModel.Name }; groupNode.AddChildNode(new MeshNode() { Name = meshGeometryModel.Name, Geometry = meshGeometryModel.Geometry, Material = meshGeometryModel.Material, }); mainModelGroup.AddNode(groupNode); } return(mainModelGroup); }
private void buttonSceneNode_Click(object sender, RoutedEventArgs e) { sceneNodeGroup.AddNode(models.GetSceneNodeRandom()); }