3ds Max SDKЖурнал

Я только учусь

Автор:

Такс, видимо сообществу жить. Ок.
Во-первых я не гуру Max SDK, я многого не знаю. Я просто хотел как-то объединить усилия по изучению Max SDK, и делится полученным опытом.
Во- вторых.  Советы по архитектуре плагина экспорта геометрии, или как оно должно быть.
http://www.gamedev.ru/community/toolcorner/articles/?id=6
Тоже стоит прочитать Создание плагина экспорта анимации для 3dsMax
http://www.gamedev.ru/community/toolcorner/articles/?id=8

5 февраля 2007

Комментарии [4]

#1
14:13, 6 фев 2007

Ну вот совсем другое дело...

#2
15:53, 6 мар 2007

А можно с помощью етого SDK написать рендер для МАК-са, в котором можно было бы отлаживать свой графический движок? В МАК-се ведь есть вся сцена. Можно написать свой движок в DLL которую присоединить к плагину, а потом, после отладки, в своей игре.

Прошло более 6 лет
#3
16:30, 2 янв 2014

Возник затык. Решил переделать логику плагина. Ранее я просто хреначил EnumTree и внутри калбэка получал указатель на материал нода.
Сегодня я хочу не обходить все ноды через калбэк, а получаю GetRootNode (вроде так именуюется). Но это все не о моей загвоздке :)

Вобщем теперь я сперва хочу получать список всех материалов используемых в сцене. Вот так

MtlBaseLib* Interface::GetSceneMtls()

Все ок. Я имею указатель на некую библиотеку. Могу получить кол-во материалов MtlBaseLib::Count().

Но, как мне получить i-ый материал? Функция MtlBaseLib::GetMaterial(int i) протектед! Вижу пока выход унаследоваться. Но имхо это грабли.

Прошу вашего совета.

#4
16:45, 2 янв 2014

А усе решил задачку.

MtlBaseLib это потомок Tab<MtlBase*>

и имеет перегруженный оператор []

Когда юзается указатель на MtlBaseLib то компилер думает, что это массив MtlBaseLib-ов.

Запилил вот так:

MtlBaseLib& usedMtls = *mif->GetSceneMtls();

int matCount = usedMtls.Count();

MtlBase* mtl = usedMtls[0];

Кушать подано!

3ds Max SDKЖурнал

Тема в архиве.