Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2025, 20:26   #1
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 179
По умолчанию Ошибка при загрузке 3-d модели в XNA Game Studio.

Запускаю программу по загрузке модели ,выдается сообщение об ошибке чтения .fbx файла.Не могу понять , что делать?Программа написана на C# 2008 под XNA Game Studio.
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace P14_2
{
    /// <summary>
    /// This is the main type for your game
    /// </summary>
    public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        Model myModel;

        Matrix WorldMatrix;

        float aspectRatio;

        float angle;

        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
        }

        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here

            base.Initialize();
        }

        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            myModel = Content.Load<Model>("shield");

            aspectRatio = (float)graphics.GraphicsDevice.Viewport.Width / (float)graphics.GraphicsDevice.Viewport.Height;
            // TODO: use this.Content to load your game content here
        }

        /// <summary>
        /// UnloadContent will be called once per game and is the place to unload
        /// all content.
        /// </summary>
        protected override void UnloadContent()
        {
            // TODO: Unload any non ContentManager content here
        }

        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();
            angle++;

            WorldMatrix = Matrix.CreateRotationY(MathHelper.ToRadians(angle)) * Matrix.CreateRotationX(MathHelper.ToRadians(angle / 5.0f));

            foreach (ModelMesh mesh in myModel.Meshes)
            {
                foreach (BasicEffect effect in mesh.Effects)
                {
                    effect.LightingEnabled = true;
                    effect.EnableDefaultLighting();

                    effect.World = WorldMatrix;
                    effect.View = Matrix.CreateLookAt(new Vector3(0.0f, 0.0f, 119.0f), Vector3.Zero, Vector3.Up);
                    effect.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f), aspectRatio, 1.0f, 1000.0f);
                }
            }

            // TODO: Add your update logic here

            base.Update(gameTime);
        }

        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);

            foreach (ModelMesh mesh in myModel.Meshes)
            {
                mesh.Draw();
            }
            // TODO: Add your drawing code here

            base.Draw(gameTime);
        }
    }
}
Вложения
Тип файла: rar P14_2.rar (179.7 Кб, 1 просмотров)
Timurkh77 вне форума Ответить с цитированием
Старый 24.02.2025, 18:36   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,892
По умолчанию

Я думаю, Вам стоит взять последователя XNA - MonoGame(MonoGame Extended при желании), если Вам нужно именно это направление (хотя для C# есть и множество других хороших движков). Поскольку, есть высокий шанс, что Вы используете FBX-модель более новой версии этого формата, чем поддерживался версией XNA.
phomm вне форума Ответить с цитированием
Старый 25.02.2025, 19:07   #3
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 179
По умолчанию

Я не знаю , что это за программа MonoGame.Я использую XNA Game Studio.Что делать?
Timurkh77 вне форума Ответить с цитированием
Старый 27.02.2025, 21:07   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,892
По умолчанию

https://docs.monogame.net/articles/m...grate_xna.html
phomm вне форума Ответить с цитированием
Старый 04.03.2025, 18:56   #5
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 179
По умолчанию

Прочитал про MonoGame,пишут , что она не поддерживает fbx файлы.В моей программе fbx файл вообще не открывается,может быть файл поврежден?Если так ,то как загрузить нормальный файл.Желательно бы посмотреть программу по коду.Как она работает.
Timurkh77 вне форума Ответить с цитированием
Старый 06.03.2025, 19:31   #6
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 179
По умолчанию

Пробовал использовать Blender.Та же ошибка.Не распознает его файл.У меня создается файл с расширением .blender.
Бывает ли ,что в blender -е используется другое расширение?
Timurkh77 вне форума Ответить с цитированием
Старый 10.03.2025, 19:47   #7
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,892
По умолчанию

Надо посмотреть что поддерживает XNA/Monogame и найти конвертеры/экспортеры для вашей среды моделирования (обычно это плагины более или менее официальные) в те форматы, которые нужны.
Альтернативно - попробовать другие движки, которые имеют более широкий выбор использования разных форматов.

а блендер-файл думаю вообще не будет принят никаким движком, т.к. это избыточный формат именно для моделирования, а для использования в играх надо экспортировать в форматы которые более подходят для работы в играх
phomm вне форума Ответить с цитированием
Старый 13.03.2025, 18:28   #8
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 179
По умолчанию

Там где я брал программу во второй программе использовался Blender.У них воспринимались файлы сделанные в блендере.Может быть у них Blender поддерживал другие форматы.Может тогда мне надо установить другой блендер и где его взять?
Timurkh77 вне форума Ответить с цитированием
Старый 13.03.2025, 20:51   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,815
По умолчанию

Так и экспортируйте в fbx, а не в blender. На сколько я помню, у MonoGame был прикол, что старые версии поддерживали только старые версии fbx, а новые - новые.
p51x вне форума Ответить с цитированием
Старый 18.03.2025, 14:56   #10
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 179
По умолчанию

Не понял , как в блендере использовать fbx файлы?Пытался сохранить не под расширением .blender, все равно добавляется в конце расширение .blender.Что делать?
Timurkh77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при загрузке меню Microsoft SQL Server Management Studio BLek2 SQL, базы данных 0 20.01.2017 21:07
C# и XNA Game Studio 4.0 Загрузка спрайтов Renat21 Помощь студентам 5 27.06.2011 13:46
XNA Game Studio или VC++? VintProg Свободное общение 6 02.09.2010 17:50
Вопрос по 3d game studio Goblin Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 10.05.2010 19:51
Знакомы вы с 3d game studio ? House Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 30.07.2008 12:56