По мне так проще использовать maxscript, и никакой возни с максовским sdk, если кому-то интересно могу статью на тему написать =)
Mr T-Rex
Конечно напиши )), и спрашивать не надо.
вообщем попробовал компилить проекты которые идут с макс сдк(maxsdk\samples\),при запуске макса все таже ошибка,попробовал компилить в VS 2005,но это не помогло!! либо я как то проект не правильно настроил (хотя сэмплы в макссдк уже настроины,так что этот вариант отпадает) , либо студия почему то создает "кривые" dll-ки.
в чем вы создаете плагины для макса?
Mr T-Rex
обязательно пиши,давно хотел почитать про макс скрипт!
На сегодня статья несколько совершенно устарела. Через IGame экспортировать гораздо удобнее.
destrator
> Через IGame экспортировать гораздо удобнее.
+100500
Loxx45
посмотри здесь - http://sites.google.com/site/orangegraphix/home/article_exportanim
тут правда экспорт анимации, но можно использовать только класс ExportMesh для экспорта статики.
а кто нибудь пробовал создавать плагины под вистой или семеркой?
0r@ngE
спс,видел,хороший сайт,пиши еще!))
блин неделю не мог понять в чем проблема,а оказалось что у меня студия создавала dll-ки для 32 битного макса
Всем привет!
Думаю это единственое место, где могут подсказать, как решить мою проблемку.
Надумал освоить плагиностроение для МАХа, но вот только я плохо разбираюсь в С++,не професионал я :(,
Поэтому все делаю в ASM-е. На основе исходников из MAXSDK, статей на этом сайте, вроди разобрался
с утилитными и экспорными плагинами, и работают вроди без проблем (экспортирую данные из макса в вертексный
буффер direct3d).
Но решил написать object- плагин и что то жопа! А именно у меня постоянно вылетает функция CreateCPParamMap,
В ассемблерном виде она выглядит так:
extrn:?CreateCPParamMap@@YAPAVIParam/ .... /AVIParamArray@@PAVInterface@@PAUHINSTANCE__@@PAD4K@Z:pro
push 0 ;flag
push offset String
push IDD_DIALOG1
push [dll_hinst]
push [_ip]
push [pblock] ;pblock
push 1 ;количество элементов
push offset _ParamUIDescs ;массив ParamUIDescs
call ?CreateCPParamMap@@YAPAVIParamMap@@/....../@@PAVInterface@@PAUHINSTANCE__@@PAD4K@Z
add esp,32
Может кто чего знает про эту, а так же про CreateParameterBlock и MakeRefByID, функции и вообще про карту параметров?
А то в SDK все по английски а Promt переводит ахинею фиг проссышь про что :(, трудно разобраться. Застрял, уже целый месяц дальше недвигаюсь ((((.
Может где есть статьи на русском, не только по экспортным и утилитным плагинам?
glist
> glist
Извини конечно, надеюсь дальнейшее тебя не обидит.
По моему быстрее изучить С++, чам на асме создать плагин для макса. Конечно ты возразишь.
Тока зачем на асме, где тот момент критичности времени исполнения чевобы асм использовать?
Да и с отладкой по проще будет.
Конечно дело твоё, как извратом заниматься, но я допустим за хлебом через Караганду не есжу.
Извиняйте если обидел.
k119_55524
> Может кто чего знает про эту, а так же про CreateParameterBlock и MakeRefByID,
> функции и вообще про карту параметров?
- скорее всего имеется ввиду установка связей при инициализации библиотеки.
Для всех длл при компиляции есчо один файл делают в котором описываются функции к которым можно подключаться, тоесть вызывать из другой программы.
Подробности не помню, в мсдн почитай. Я ужо года пять длл не делал.
Нет. При помощи этих функций добавляется диалог в панель инструментов, и обрабатываются различные параметры, там радиус, длинна, колво сегментов и тд и тп. Создается некая карта параметров (Parameter Maps). SDK на английском блин, Общий принцип понятен, а вот детально немогу разобраться (((
Вот они в Samples примерах MAXSDK :
BoxObject::BoxObject() : mPolyBoxSmoothingGroupFix (true)
{
MakeRefByID(FOREVER, 0, CreateParameterBlock(descVer1, PBLOCK_LENGTH, CURRENT_VERSION));
pblock->SetValue(PB_LSEGS,0,dlgLSegs);
//......................//
pblock->SetValue(PB_GENUVS,0,TRUE);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
pmapCreate = CreateCPParamMap(
descCreate,CREATEDESC_LENGH,
this,
ip,
hInstance,
MAKEINTRESOURCE(IDD_BOXPARAM1),
GetString(IDS_RB_CREATIONMETHOD),
0);
А как получить матрицу положения объекта, допустим когда нодов больше чем один, я получаю точки но они считаются относительно начала координат, т.е в результате я получаю объект в котором все узлы (части модели) накладываются друг на друга.
Тема в архиве.