Форум программистов, компьютерный форум, киберфорум
Игровые движки
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
231 / 62 / 0
Регистрация: 08.01.2019
Сообщений: 377
Записей в блоге: 18
1

Материал для меша отображается только после второго клонирования меша (в игре). NeoAxis Engine 3.5. С#

28.10.2019, 15:04. Показов 739. Ответов 1

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
MeshObject meshObject = SceneManager.Instance.CreateMeshObject("Mesh");
 
ShaderBaseMaterial sourceMaterial = HighLevelMaterialManager.Instance.GetMaterialByName(meshObject.Mesh.SubMeshes[0].MaterialName) as ShaderBaseMaterial;
 
string objMaterialName = MaterialManager.Instance.GetUniqueName("");
 
ShaderBaseMaterial sbm = (ShaderBaseMaterial) HighLevelMaterialManager.Instance.Clone(sourceMaterial, objMaterialName);
 
sbm.UpdateBaseMaterial();
 
MeshObject mo = (AttachedObjects[0] as MapObjectAttachedMesh).MeshObject;
 
mo.SubObjects[0].MaterialName = objMaterialName;
так вот, что где когда и как?

Добавлено через 13 минут
В 7 строке создаётся копия материала sourceMaterial с именем objMaterialName
в 13 - новый материал накладывается на меш 3Д модели, а отображается только после создания второго и следующих мешей.
какого эра?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2019, 15:04
Ответы с готовыми решениями:

Генерация меша
Доброго времени суток, подскажите пожалуйста, каким алгоритмом производится генерация меша?...

Координаты меша
Помогите вспомнить как изменить координаты меша, насколько я помню через мировую матрицу? Вот как я...

Анимация Меша из Х файла
Не смог по этому поводу найти совсем ничего путнего, то какието неверочтных размеров исходники...

Координаты дочернего объекта (меша) в three JS
Объект состоит из двух геометрических фигур, основной и дочерних, следующим образом (цилиндр...

1
231 / 62 / 0
Регистрация: 08.01.2019
Сообщений: 377
Записей в блоге: 18
02.11.2019, 22:34  [ТС] 2
удовлетворил
кому надо, обращайтесь, решение обнаружено

C#
1
2
if (sourceMaterial != null)
    foreach ( MeshObject.SubObject moso in meshObject_back.SubObjects ) moso.MaterialName = objMaterialName;
но как то оно тупонепонятно получается почему же эти свойства в 13 строке не применяются с первого раза, или, почему они применяются только со второго раза
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2019, 22:34

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Проблема визуализации меша из .X файла
Задача следующая: есть max файл, который был конвертирован в Х и загружен в приложение d3d, те...

Не могу редактировать материалы меша
На днях установил Lightweight render pipeline что бы пользоваться Shader Graph'ом, но все материалы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.