Плагины Сталкер Для 3Д Макс

Плагины Сталкер Для 3Д Макс

Плагины Сталкер Для 3Д Макс Average ratng: 4,5/5 7922votes

Создание Export плагина для 3. D Studio MAXПостроение плагина. Лирическое отступление. Все, наверняка, учились геймдевелоперскому делу, пробуя писать, пусть небольшую, но собственную игру. В процессе разработки оттачивали полученные в процессе чтения книг и статей навыки. Начинают обычно с достаточно простых вещей система частиц, менеджер ресурсов, подсистема ввода, вывод текста. Но, в конце концов, наступал момент, когда на экране хотелось видеть что то более красивое, чем затекстурированный кубик вращающийся в центре. Сделал видеоурок Создание дороги на террейне в 3D MAX. Milkshape 3d 1. 8. Plugins Популярные. Плагин для экспорта статики в. D Max ver. Плагины Сталкер Для 3Д МаксЕще один импортр моделей СДК в макс. Настройка 3d max для Сталкера. Скачать набор плагинов можно здесь httpsyadi. ZjhUeHy3LYweC Оф сайт httpxraysdk. Autodesk 3D Studio Max версий 6,7 или 8 на других вроде плагин экспорта не работает, но я не уверен 3DS Max STALKER PlugIn для. И вот мы добрались, собственно, до плагинов. D Studio MAX далее просто MAX SDK позволяет создавать великое множество разнообразных типов. Blender_and_ms3d_05.jpg/771px-Blender_and_ms3d_05.jpg' alt='Плагины Сталкер Для 3Д Макс' title='Плагины Сталкер Для 3Д Макс' />Кто то качал из Интернета готовый лоадер популярного формата 3. D файлов, кто то писал сам, а самые настойчивые, рвущиеся к знаниям и большему опыту геймдевелоперы, решали создать собственный экспортер из одного из распространенных  3. D редакторов. Естественно никто и не утверждает обратного, тем, кто только начинает, за достаточно сложное дело написания экспортера, браться не стоит. А вот для тех, кто уже уверен в своих силах, и готов попробовать их на новом поприще, данная статья может стать хорошей базой для воплощения своих задумок в жизнь. Как можно понять из заголовка, я выбрал в качестве подопытного 3. D Studio MAX. Учтите, что типичная установка MAXа не включает SDK. Замечу также, что данный код наверняка, будет работать и с Максом начиная от версии 3. SDK не совместимы, т. Пример написан мною под VC 6. Тут, я думаю, комментарии излишни. Я в тексте многое упомяну, но более поверхностно. Без этого совсем никак. D Studio MAX далее просто MAX SDK позволяет создавать великое множество разнообразных типов плагинов. Среди них такие как рендеры, модификаторы, плагины материалов,  текстур и атмосферы, и, конечно же, импортеры и экспортеры геометрии. Вот, последним типом мы сегодня и займемся вплотную. Все плагины представляют собой обычную dll которая экспортирует несколько функций. Кряк Hotspot Shield. Для каждого типа плагина предусмотрено свое расширение для имени файла, именно так МАХ распознает их тип во время загрузки. Для экспортеров предопределено расширение lt. Перво наперво, нам требуется сконфигурировать проект для дальнейшей работы. Известно, что по умолчанию VC создает 2 конфигурации сборки проекта. Это Release и Debug. Для успешной компиляции и работы необходимо сделать кое какие изменения. Единственное, что жизненно необходимо поменять, это во вкладке CC, Category Code Generation, Use run time library выбираем Multithreaded DLL, вместо просто Multithreaded. Если этого не сделать, то ваш плагин будет крашиться с сообщениями об ошибках доступа к памяти. Здесь немного сложнее. Проблема в том, что Debug конфигурацию проекта могут использовать только зарегистрированные разработчики, у которых есть специальная Debug версия МАХа с которой, кстати, идет в поставке специальная версия SDK. У нас же, простых смертных, установлена обычная, Release версия 3d студии я в этом уверен, так как если бы было иначе, ты не читал бы это сейчас, так что мы сделаем небольшой финт ушами, для того чтобы можно было отлаживать наши наработки. Необходимо создать новую конфигурацию проекта под названием Hybrid, путем копирования Debug конфигурации. Далее необходимо заменить, также как и в Release, Use run time library с Debug Multithreaded, на Multithreaded DLL. И не забудьте во вкладке General конфигурации Hybrid заменить содержимое полей Intermediate files, и Output files на Hybrid. У меня, например, так. DmaxstdplugsMy. Exp. Plg. dle. Это избавит от копирования собранной библиотеки в папку, где размещаются все плагины редактора. Теперь подключаемые библиотеки. Для успешной компиляции необходимо подключить comctl. Common Controls, core. Последние 4 лежат в каталоге maxsdklib. Core и Maxutil обязательные для всех типов плагинов. Для более подробных объяснений прошу обратиться к статье Сергея, о которой я упомянул выше. Точка входа, ее не может не быть. Типичная реализация BOOL APIENTRY Dll. MainHINSTANCE h. Module, DWORD ul. Так вот, эта функция возвращает количество плагинов в dll. Типичная реализация. Для этого служит класс описания плагина об этом чуть позже, функция Lib. Class. Desc, в зависимости от номера, передаваемого в качестве параметра, возвращает адрес того или иного класса описания. Типичная реализация. Естественно без плагина результат, который получился у вас, у друга не будет. Так вот, функция Lib. Description возвращает строку, которая копируется в сейв файл и отображается, в случае, когда при загрузке нужный плагин не найден. Для плагинов экспорта такая ситуация не представляет угрозы, но стандарт есть стандарт, так что вот вам типичная реализация. Возвращаем версию МАХа, под которую скомпилирован плагин. С другими версиями работать не будет. Осталось сделать def файл, для того чтобы МАХ увидел экспортируемые нами функции. Так как, наша dll реализует всего один плагин, то, соответственно, имеем всего один класс описания. Сначала код. class My. Plug. Class. Desc public Class. Desc. Это абстрактный класс, и для возможности создания экземпляра от его наследника в нашем случае My. Plug. Class. Desc, необходимо переопределить все чисто виртуальные функции. Начнем по порядку. Возвращает FALSE, если пользователь 3. D Studio не должен иметь возможности использовать этот плагин, и TRUE если такая возможность присутствует. Нужно для случая, когда один плагин использует другой приватный, и этот приватный плагин не предназначен для взаимодействия с пользователем. МАХ вызывает эту функцию, когда ему требуется указатель на новый экземпляр класса плагина. Возвращает имя класса. Это имя будет высвечено на кнопке плагина в интерфейсе МАХа. Так как, экспортерам не соответствуют какие либо кнопки, то данной надписи мы не увидим. А теперь очень важный момент. Каждый плагин должен иметь уникальный идентификатор, который состоит из двух 3. Для каждого плагина эти номера должны быть уникальные, иначе возникнет конфликт при загрузке, и плагин работать не будет. Учтите это также, когда будете брать как примеры для своих собственных наработок код из примеров поставляемых с МAX SDK. Для генерации уникального идентификатора discreet поставляет утилитку под названием gencid. Запустите ее, сгенерируйте новый Class. Class. ID возвращает уникальный Class. Для экспортеров это будет SCENE. Имя заданное этой функцией, определяет в какую категорию попадет плагин. Осторожно, МАХ разрешает использовать не более 1. Наш плагин вообще в категории не нуждается, так что возвращаем пустую строку. В начале пройдемся кратко о структуре базового класса. Обычно все типы плагинов создаются наследованием от определенного абстрактного класса, в котором переопределяются нужные функции. Экспортеры выполняются точно по такой схеме. Смотрите код. class My. Exp public Scene. Export. Остальные выполняют сервисные функции для правильного функционирования плагина. Давайте по порядку. Возвращает количество расширений файлов поддерживаемых плагином. В зависимости от передаваемого номера возвращает собственно расширение. Длинное описание экспортируемого файла. Короткое описание экспортируемого файла. Имя автора плагина. Другие сообщения. Версия плагина умноженная на 1. Информация про плагин. Эту функцию можно не определять вообще. Она описывает поддерживаемые опции плагином. Наш, учебный, плагин не будет поддерживать никаких опций, так что simply return FALSE. Она вызывается, когда происходит, собственно, экспорт. В качестве параметров МАХ передает name имя сохраняемого файла, ei интерфейс доступа к геометрии сцены, i интерфейс через который мы можем вызывать функции, предоставляемые 3d студией разработчику. Такая функциональность требуется для выполнения действий в режиме. Пока поддерживается только одна SCENE. Каждый объект, отображенный на сцене 3. D studio MAXа, программно представляет собой геометрический конвейер, в начале которого находится базовый геометрический объект, а на выходе, после применения всех модификаторов, получаем деформированный объект. Для каждого объекта существует ссылка на его конвейер, называемая узел node.

Плагины Сталкер Для 3Д Макс
© 2017