Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

Просмотр темы
 Распечатать тему
3d модели
D-SaN
#1 Распечатать сообщение
Опубликовано 04.03.2010 12:58:04
Специалист


Сообщений: 154
Зарегистрирован: 18.01.10

Как экспортировать модель из 3d max в fbx чтоб текстуры отображались. А то я экспортирую, отображаю в игре, а там только сама модель серая без текстур показана...
 
VAB
#2 Распечатать сообщение
Опубликовано 04.03.2010 13:04:55
Аватар пользователя

Администратор


Сообщений: 1431
Зарегистрирован: 21.07.09

D-SaN написал:
Как экспортировать модель из 3d max в fbx чтоб текстуры отображались. А то я экспортирую, отображаю в игре, а там только сама модель серая без текстур показана...


У тебя все нормально экспортируется!!! Если модель серая - не отображает (скорее не считываешь) SkinningData. Посмотри тут http://creators.x...innedmodel. Там для анимированной модели, но суть та жеSmile
 
Plyuh
#3 Распечатать сообщение
Опубликовано 04.03.2010 13:06:23
Младший специалист


Сообщений: 33
Зарегистрирован: 29.12.09

http://creators.x...innedmodel

Сюда посмотри там хорошо все показано.
 
D-SaN
#4 Распечатать сообщение
Опубликовано 04.03.2010 13:46:31
Специалист


Сообщений: 154
Зарегистрирован: 18.01.10

ну я делаю так как там..

вот как я вывожу

world = Matrix.Identity;
view = Matrix.CreateLookAt(new Vector3(0, 0, 100), Vector3.Zero, Vector3.Up);
proj = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(90), (float)screenWidth / (float)screenHeight, 1, 1000);

Matrix[] transforms = new Matrix[model.Bones.Count];
model.CopyAbsoluteBoneTransformsTo(transforms);

foreach (ModelMesh mesh in model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.LightingEnabled = true;
effect.EnableDefaultLighting();
effect.World = transforms[mesh.ParentBone.Index] * world;
effect.View = view;
effect.Projection = proj;
}
mesh.Draw();
}
 
VAB
#5 Распечатать сообщение
Опубликовано 04.03.2010 14:01:25
Аватар пользователя

Администратор


Сообщений: 1431
Зарегистрирован: 21.07.09

D-SaN написал:
ну я делаю так как там..

вот как я вывожу

world = Matrix.Identity;
view = Matrix.CreateLookAt(new Vector3(0, 0, 100), Vector3.Zero, Vector3.Up);
proj = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(90), (float)screenWidth / (float)screenHeight, 1, 1000);

Matrix[] transforms = new Matrix[model.Bones.Count];
model.CopyAbsoluteBoneTransformsTo(transforms);

foreach (ModelMesh mesh in model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.LightingEnabled = true;
effect.EnableDefaultLighting();
effect.World = transforms[mesh.ParentBone.Index] * world;
effect.View = view;
effect.Projection = proj;
}
mesh.Draw();
}


напиши так:
world = Matrix.Identity;
view = Matrix.CreateLookAt(new Vector3(0, 0, 100), Vector3.Zero, Vector3.Up);
proj = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(90), (float)screenWidth / (float)screenHeight, 1, 1000);

Matrix[] transforms = new Matrix[model.Bones.Count];
model.CopyAbsoluteBoneTransformsTo(transforms);

foreach (ModelMesh mesh in model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.LightingEnabled = true;
effect.EnableDefaultLighting();
effect.TextureEnabled = true;
effect.World = transforms[mesh.ParentBone.Index] * world;
effect.View = view;
effect.Projection = proj;
}
mesh.Draw();
}
 
D-SaN
#6 Распечатать сообщение
Опубликовано 04.03.2010 14:06:26
Специалист


Сообщений: 154
Зарегистрирован: 18.01.10

тот же самое и получается, серебренная модель...
 
VAB
#7 Распечатать сообщение
Опубликовано 04.03.2010 14:14:10
Аватар пользователя

Администратор


Сообщений: 1431
Зарегистрирован: 21.07.09

D-SaN написал:
тот же самое и получается, серебренная модель...


ну тогда посмотри ту ссылку, что я тебе кинул. и юзай такой драв
world = Matrix.Identity;
Matrix[] bones = SkinTransforms();

foreach (ModelMesh mesh in model.Meshes)
{
foreach (Effect effect in mesh.Effects)
{
effect.Parameters["Bones"].SetValue(bones);
effect.Parameters["View"].SetValue(view);
effect.Parameters["Projection"].SetValue(proj);
}

mesh.Draw();
}
 
D-SaN
#8 Распечатать сообщение
Опубликовано 04.03.2010 14:22:25
Специалист


Сообщений: 154
Зарегистрирован: 18.01.10

чет тоже не получается.. может както экспортировать надо по другому? я все стандартное делаю.
 
Plyuh
#9 Распечатать сообщение
Опубликовано 04.03.2010 14:50:22
Младший специалист


Сообщений: 33
Зарегистрирован: 29.12.09

Дело в Content Pipeline. А не в выводе.
 
VAB
#10 Распечатать сообщение
Опубликовано 04.03.2010 15:11:21
Аватар пользователя

Администратор


Сообщений: 1431
Зарегистрирован: 21.07.09

Plyuh написал:
Дело в Content Pipeline. А не в выводе.


Plyuh, ну так я же это и написал изначально! Что нужно юзать SkinnigData.
D-SaN, посмотри как там сделано!!! ты должен добавить 2 либы в свой проект (или напиши их сам). И ContentProcessor у тя должен быть SkinnedModelProcessor
Изменил(а) VAB, 04.03.2010 15:17:58
 
D-SaN
#11 Распечатать сообщение
Опубликовано 04.03.2010 15:53:42
Специалист


Сообщений: 154
Зарегистрирован: 18.01.10

я и не думал что будет так сложно... всётаки 3д не моё..
 
general
#12 Распечатать сообщение
Опубликовано 04.03.2010 16:06:03
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

SkinnigData ни какого отношения к текстурам не имеет Smile.
а для помощи D-SaN в начальном вопросе не хватает информации по ситуации.
 
D-SaN
#13 Распечатать сообщение
Опубликовано 04.03.2010 16:50:12
Специалист


Сообщений: 154
Зарегистрирован: 18.01.10

Ну вот допустим сделали вы в 3д максе модель земли, текстуру одели на шарик и всё такое, сконвертировали в fbx. И что вы пишите чтоб отобразить модель с текстурой? И как вы конвертируете модели? Если прям из макса то изменяете ли какие либо параметры там?
 
general
#14 Распечатать сообщение
Опубликовано 04.03.2010 18:20:30
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

дело вот в чем. давно так не делал в целом и пропустил этап применения BasicEffect как не перспективный.
по этому не помню точно как подхватывает текстуры модель загружаемая через контент.

рас модель рисуется серебристым, то похоже для каждого пиксела отсутствует информация о цвете текстуры, а применяется только освещение.

возникает вопрос с назначением текстуры всем BasicEffect'ам модели. поэтому можно попробовать текстуру загрузить отдельно, а далее перебрать все BasicEffect'ы соответствующих ModelMesh'ей модели и назначить нужную текстуру.
Изменил(а) general, 04.03.2010 18:21:17
 
yaz77
#15 Распечатать сообщение
Опубликовано 04.03.2010 23:09:47
Младший специалист


Сообщений: 20
Зарегистрирован: 23.12.09

D-SaN написал:
Как экспортировать модель из 3d max в fbx чтоб текстуры отображались. А то я экспортирую, отображаю в игре, а там только сама модель серая без текстур показана...


1) Текстура должна находится в той же папке куда происходит экспорт.
2) 3Dmax должен быть настроен для программистов, (НЕ ДИЗАЙНЕРСКИЙ ).
Изменил(а) yaz77, 04.03.2010 23:12:23
 
SLAVIK
#16 Распечатать сообщение
Опубликовано 05.03.2010 05:27:03
Аватар пользователя

Специалист


Сообщений: 74
Зарегистрирован: 24.12.09

yaz77 написал:
1) Текстура должна находится в той же папке куда происходит экспорт.
2) 3Dmax должен быть настроен для программистов, (НЕ ДИЗАЙНЕРСКИЙ ).

И то и другое неверно.
Информация о положении текстуры хранится в самом FBX файле, и она может лежать где угодно.
Экспортеру все-равно какой макс.

В BasicEffect только одно отвечает за текстуры - effect.TextureEnabled = true;
Изменил(а) SLAVIK, 05.03.2010 05:27:51
 
D-SaN
#17 Распечатать сообщение
Опубликовано 05.03.2010 07:39:04
Специалист


Сообщений: 154
Зарегистрирован: 18.01.10

D-SaN написал:
Ну вот допустим сделали вы в 3д максе модель земли, текстуру одели на шарик и всё такое, сконвертировали в fbx. И что вы пишите чтоб отобразить модель с текстурой? И как вы конвертируете модели? Если прям из макса то изменяете ли какие либо параметры там?


расскажите как вы делаете такую модель. Модель простая, думаю код небольшой будет
 
SLAVIK
#18 Распечатать сообщение
Опубликовано 05.03.2010 09:16:30
Аватар пользователя

Специалист


Сообщений: 74
Зарегистрирован: 24.12.09

D-SaN написал:
расскажите как вы делаете такую модель. Модель простая, думаю код небольшой будет

Что ты подразумеваешь под "делаете"?
Как рисую в МАХе шарик? :) врятли.
Про то как выводить загруженную модель уже тут показывали -
Загрузить источник  GeSHi: C#
  1. foreach (ModelMesh mesh in model.Meshes)
  2. {
  3. foreach (BasicEffect effect in mesh.Effects)
  4. {
  5. effect.LightingEnabled = true;
  6. effect.EnableDefaultLighting();
  7. effect.TextureEnabled = true; // Без этого и не будет текстур
  8. effect.World = transforms[mesh.ParentBone.Index] * world;
  9. effect.View = view;
  10. effect.Projection = proj;
  11. }
  12. mesh.Draw();
  13. }
Добавлено за 0.005 секунд, используя GeSHi 1.0.8.2


Как вариант, убери строки
effect.LightingEnabled = true;
effect.EnableDefaultLighting();

Может просто слишком яркий свет у тебя, вот текстура и засвечивается, а так ты точно увидишь есть она на объекте или нет.

А проще всего - скинь сюда свой проект, или хотябы свою модель сюда - так проще будет разобраться в чем дело.
 
general
#19 Распечатать сообщение
Опубликовано 05.03.2010 10:17:15
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

SLAVIK написал:
В BasicEffect только одно отвечает за текстуры - effect.TextureEnabled = true;


SLAVIK а с каких пор у нас в форуме модно писать ответы не заглянув в документацию?

xna sdk
BasicEffect Public Properties
Alpha - Gets or sets the alpha this effect material.
AmbientLightColor - Gets or sets the ambient light color of this effect.
Creator - (Inherited from Effect.)
CurrentTechnique - (Inherited from Effect.)
DiffuseColor - Gets or sets the diffuse color of this effect material. Value takes 0 to 1.
DirectionalLight0 - Gets the first directional light for this effect.
DirectionalLight1 - Gets the second directional light for this effect.
DirectionalLight2 - Gets the third directional light for this effect.
EffectPool - (Inherited from Effect.)
EmissiveColor - Gets or sets the emissive color of the effect material.
FogColor - Gets or sets the fog color for this effect.
FogEnabled - Enables fog for this effect.
FogEnd - Gets or sets the ending distance of fog.
FogStart - Gets or sets the fog start distance.
Functions - (Inherited from Effect.)
GraphicsDevice - (Inherited from Effect.)
IsDisposed - (Inherited from Effect.)
LightingEnabled - Enables lighting for this effect.
Parameters - (Inherited from Effect.)
PreferPerPixelLighting - Gets or sets a value indicating that per-pixel lighting should be used if it is available for the current adapter. Per-pixel lighting is available if a graphics adapter supports Pixel Shader Model 2.0.
Projection - Gets or sets the projection matrix.
SpecularColor - Gets or sets the specular color of this effect material.
SpecularPower - Gets or sets the specular power of this effect material.
Techniques - (Inherited from Effect.)
Texture - Gets or sets a texture to be applied by this effect.
TextureEnabled - Enables textures for this effect.
VertexColorEnabled - Enables use vertex colors for this effect.
View - Gets or sets the view matrix.
World - Gets or sets the world matrix.

и я настаиваю на своих подозрениях, что там null )
так же в предложенном мною способе по барабану выгрузилась текстура (путь к файлу) с моделью или нет.
Изменил(а) general, 05.03.2010 10:21:06
 
SLAVIK
#20 Распечатать сообщение
Опубликовано 05.03.2010 11:50:57
Аватар пользователя

Специалист


Сообщений: 74
Зарегистрирован: 24.12.09

general написал:SLAVIK а с каких пор у нас в форуме модно писать ответы не заглянув в документацию?

Чтож, приношу свои извинения что ответил человеку не проштудировав всю документацию, надеюсь ваш ответ ему поможет сразу решить все проблемы.
Изменил(а) SLAVIK, 05.03.2010 11:52:36
 
Перейти на форум:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

21.08.2014
Переводить его надо, хоть на ту же азуру. И двиг менять на что-то современное. Если есть веб-разрабы - можем скооперироваться. Один делать не буду.

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,17 секунд 8,709,559 уникальных посетителей