Мне нужно разработать расширение Maya Viewport на C ++ с (MFC) , также необходимо контролировать стиль представления (например, вид сверху, вид слева и т. Д.). Могу ли я использовать Maya SDK для архивирования этого и как это сделать? Спасибо.
Я не совсем уверен, что вы подразумеваете под «расширением видового экрана».
Я предполагаю, что вы пытаетесь написать плагин Maya, который имеет ваш собственный тип области просмотра,
который обычно называют «представлением модели».
MCF не имеет к этому никакого отношения.
Вы используете команды Maya MEL / Python для создания окон Maya, панелей и других UI-элементов.
(если есть способ заставить Maya работать с окнами, которые вы создали сами, я этого не знаю).
Вы можете создавать собственные окна просмотра в Maya, создав два класса:
Окно просмотра или вид модели и «команда редактора моделей».
Одним из них является ваш класс области просмотра, давайте назовем его «MyViewport».
Он должен наследовать «MPx3dModelView».
Обычно вы связываете камеру с окном просмотра. Это позволяет вам контролировать, откуда вы видите сцену. К вашему окну просмотра может быть подключено несколько камер (многоходовой дисплей, например, стерео 3D) или вообще нет (но тогда вы должны сами установить все параметры рендеринга, что может быть утомительно).
Функции (обратного вызова), которые вы наследуете от этого класса, позволяют вам настроить детали для вашего окна просмотра.
См. Документацию Maya по MPx3dModelView, чтобы узнать, как ее использовать.
http://download.autodesk.com/us/maya/2010help/API/class_m_px3d_model_view.html
Другой класс, который вам понадобится, это команда viewport.
Это то, что get вызывается, когда кто-то пытается создать ваш видовой экран.
Он должен наследовать «MPxModelEditorCommand».
Это самая важная особенность в том, что он может создать экземпляр вашего класса Model Editor.
См. Документацию Maya по MPxModelEditorCommand о том, как его использовать:
http://download.autodesk.com/us/maya/2011help/API/class_m_px_model_editor_command.html
Чтобы иметь возможность создавать ваш видовой экран, вы должны зарегистрировать команду редактора моделей в плагине.
В вашей функции initializePlugin (той, которую вы экспортируете с помощью плагина)
MStatus initializePlugin( MObject obj )
{
MFnPlugin plugin( obj, PLUGIN_COMPANY, "1.0", "Any");
plugin.registerModelEditorCommand(MyModelViewCmd::commandName, MyModelViewCmd::creator, MyModelViewCmd::createModelView);
}
Наконец, вы используете скрипты MEL или Python в Maya для создания своего пользовательского интерфейса.
В самой простой настройке вы просто создаете окно и затем вызываете команду редактора модели, чтобы создать свой собственный видовой экран в этом окне.
window MyWindow;
paneLayout MyWindowPane;
MyModelView MyModelView1;
Других решений пока нет …