Esempio n. 1
0
        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("Ошибка во время загрузки модели.");
                }
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 private void buttonSceneNode_Click(object sender, RoutedEventArgs e)
 {
     sceneNodeGroup.AddNode(models.GetSceneNodeRandom());
 }