Game Maker - создание игр | HellRoom Games
Апрель 30, 2025, 13:51:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Из Blender в GameMaker (конвертация 3D моделей) :)  (Прочитано 8481 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MilkyBrain
Пользователь
***

Репутация: 18
Offline Offline

Пол: Мужской
API: GameMaker Studio Pro
Деятельность: Developer
Сообщений: 51


MB©


WWW
« : Ноябрь 18, 2014, 07:59:47 »

Привет всем!
 
Мне очень нравится Blender, и если вы заинтересованы в 3D-моделировании, я очень рекомендую его. Ему сложно научиться, но, на мой взгляд, это полностью стоит того. Вы можете сделать много интересных вещей с ним. К тому же, это бесплатно.
 
Но это совсем не об этом, почему я сделал эту тему. В последнее время я начал баловаться с Game Maker снова, и, естественно, я закончил играться с 3D. Один из моих самых больших жалоб к 3D Gamemaker, однако, всегда были хлопоты получать мои модели из приложений 3D моделирования, такие как Blender, до состояния, когда они могут быть загружены в играх. Загрузка OBJ файлов со скриптами всегда занимали слишком много времени для меня, и когда я использовал другие инструменты , чтобы конвертировать свои модели, я обнаружил, что прыжки через трудоемкий набор обручей это огромная боль.
 
К счастью, Блендер имеет систему скриптов, который использует Python, хотя сейчас я не программирую на Python для себя, но я смог сколотить довольно аккуратный скрипт, который будет экспортировать модели непосредственно из Blender - в текстовый файл, который содержит точную GML структуру, которую вам нужно использовать для построения моделей в GameMaker. Это не идеально, и я уверен, что каждый, кто знаком с Python может улучшить его сильно, но это инструмент, который я нахожу очень полезным, поэтому я думал, я бы поделиться им с сообществом здесь.
 
Я сделал статью в моём блоге об этом в, а также добавлена страница на моем сайте, но я воссоздал важные вещи здесь, также. Пожалуйста, оставьте свои комментарии и отзывы, если у вас они есть. И счастливого Блендеринга! :)
 
Во-первых, скрипт! Получить его здесь.

Если возникла проблема:

установка
 
Установка для этого скрипта работает также, как любой другой Blender аддон, вы можете скачать их и сохранить его где-то, затем открыть Blender, перейдите в меню File > User Preferences, выберите вкладку Addons в верхнем окне, а затем нажмите кнопку в нижней части окна, которое говорит Install from File
 

 
После установки скрипта, нажмите кнопку Import-Export на левой стороне окна, чтобы помочь найти его, а затем отметьте небольшой квадрат справа чтобы включить его. Если вы не хотите делать это каждый раз при запуске Blender, нажмите на кнопку Save User Settings в левом нижнем углу окна. Закройте окно настроек пользователя, и вы готовы начать экспорт!
 
подготовка
 
Как только вы получили модель и вы готовы для экспорта в GameMaker, есть несколько окончательных шагов которые вы захотите рассмотреть, чтобы гарантировать, что все получится так, как вы хотите. Убедитесь, что вы прочитали, прежде чем экспортировать свой объект.
 

 
Во-первых, убедитесь, что объект ориентирован по размещению, так как именно вы хотите, чтобы он был в игре. Рассмотрим начало всего мира в Blender (0, 0, 0), чтобы была стандартная опорная точка для вашей модели, ориентируйте его соответствующим образом.
 
Во-вторых, убедитесь, что объект повернут и масштабирован правильно. Опять же, сделайте это так, как вы хотите, чтобы он был в состоянии по умолчанию в игре.
 
Как только вы получили все в правильном положении, убедитесь, что вы в режиме Object mode и в 3D view, нажмите Object> Apply> Rotation & Scale. Затем нажмите Object> Apply> Location. Эти опции также доступны, нажав CTRL + A. Это будет перемещать ось обьекта координат, и сбросит вращение и масштабирование, чтобы соответствовать, как объект ориентирован по умолчанию.
 
Другое дело, вы, возможно, захотите сделать, это добавить Edge Split modifier вашей модели. Это позволит вам иметь абсолютный контроль над тем, как нормали вашей модели переводятся на GameMaker, и я очень рекомендую его. При включении этого модификатора, можно отметить края на вашей модели, которые должны быть острыми или нет, как вам нравится.
 
Наконец (и также необязательно) получить объекты UV map настроить как вам это нравится, для текстурирования. Экспорт скрипта не будет включать в себя UV координат, если ваш объект не имеtт UV map.
 
использование
 

Вы можете найти новый экспорт GameMaker Model Script в меню File > Export menu. И хотя Я никогда не имел каких-либо серьезных проблем здесь, я рекомендую сохранить вашу работу, прежде чем экспортировать, на всякий случай.
 

 
Выбираете объект, а затем запускаете скрипт. Вы (надеюсь) будете знакомы с  диалоговым окном  файлообменника, с несколькими вариантами на нижней левой стороне. Настройки по умолчанию подойдут прекрасно, но вы можете настроить их в случае необходимости. Большинство должно быть довольно очевидно.
 
Убедитесь, чтобы не перезаписать что-либо, чтобы сохранить, и нажмите Экспорт, чтобы завершить. Пока ничего ужасного не произошло, вы должны иметь новый текстовый файл с GML!
 

 

 
Откройте этот текстовый файл и скопируйте содержимое в новый скрипт в GameMaker. Очевидно, что вы можете внести в него изменения, чтобы удовлетворить ваши потребности, но по умолчанию, при вызове скрипта создаст новую модель, а затем вернет ID модели ресурса. Вы можете использовать это, чтобы нарисовать модель, или когда вы закончите с этим, уничтожить его.
 

 
Дальнейшее развитие

Для обновления 1.1, я исправил несколько проблем со скриптом, я почистил его, и сделал некоторые усовершенствования.

Я также добавил опцию, чтобы перевернуть координаты объекта по оси Y, так как Gamemaker в 3D пространстве отличается от Blender.

И т.д.

Этот скрипт был построен из скрипта с открытым исходным кодом, первоначально написанная Джеффом LaMarche. Я связался с Джеффом и он сказал, что он не требует никаких денег или компенсации за использование его скрипта. Вы можете просмотреть оригинальный скрипт и лицензию здесь.

Перевел с редактированием: MilkyBrain
С уважением, MilkyBrain, спасибо.

« Последнее редактирование: Ноябрь 18, 2014, 09:59:14 от MilkyBrain » Записан

Milky Brain LLC ©2016
Skyblade
(Artalasky)
GM Pro user
*

Репутация: 344
Offline Offline

Пол: Мужской
Награды:
1000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]2 место в конкурсе: Адекватные игры #2 [Стимпанк]
API: Unity 3D
Деятельность: 2D|3D|YouTube
Сообщений: 1105



WWW
« Ответ #1 : Ноябрь 18, 2014, 10:20:00 »

В блендере как раз таки разобраться очень просто. В разы проще, чем, например, в 3д максе или Майе и подобных 3д пакетов.

За перевод и старания спасибо, но для 3д лучше все же использовать Unity3D 
Записан

2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« Ответ #2 : Январь 22, 2015, 12:35:39 »

Вообще классно! Рисовать модели через vertex-ы, была такая идея, что бы негружать отдельные модели, но что бы так просто! Супер!!! СПАСИБО!!!! Уважуха
Записан
VladTheCat
Немного
GM Pro user
*

Репутация: 145
Offline Offline

Пол: Мужской
Награды:
1000 сообщений!За постоянность! [100 дней на форуме]Настоящий игродел!
API: Love
Деятельность: Целая игростудия, состоящая из одного кота.
Сообщений: 1435



« Ответ #3 : Январь 22, 2015, 14:11:24 »

Можно в Blender всё конвертировать в .obj формат, а из него уже утилитами, написанными на GM-же, или с помощью скрипта-парсера, создавать d3d модели. И не нужно никаких расширений в Blender.
Записан


Будьте вежливы: Вам помогли? Не забудьте поставить плюс. А то банда злобных апельсинов придет за вами. И даже тех. поддержка вам не поможет. :3

Когда я что-то пишу в "<>", то это значит, что содержимое надо заменить на свое значение.
2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« Ответ #4 : Январь 23, 2015, 13:19:53 »

Вся прелесть этого скрипта в том, что модели, ни .obj, ни .d3d, НЕ НУЖНЫ! Всё строит сам гамак! Со стороны оптимизации на затраты внешних ресурсов вообще класс! Попробуй внедрить в 3D мир 100 моделек .d3d. Фпс подскочит уже при именении обзора камеры. А если всё создавать через встроенные примитивы? То всё ок:)
Записан
VladTheCat
Немного
GM Pro user
*

Репутация: 145
Offline Offline

Пол: Мужской
Награды:
1000 сообщений!За постоянность! [100 дней на форуме]Настоящий игродел!
API: Love
Деятельность: Целая игростудия, состоящая из одного кота.
Сообщений: 1435



« Ответ #5 : Январь 25, 2015, 16:05:41 »

Вся прелесть этого скрипта в том, что модели, ни .obj, ни .d3d, НЕ НУЖНЫ! Всё строит сам гамак!
Раз всё строит "сам гамак", то зачем тогда Blender?
Вы сами поняли, что сказали? Причем тут количество файлов? Хоть вы создаете модель через GML внутри проекта, хоть грузите из файла, разница будет только в скорости загрузки, но не в FPS, если модели идентичны между собой.
Всё и так будет создаваться через встроенные примитивы. d3d модели используются в любом случае.
Записан


Будьте вежливы: Вам помогли? Не забудьте поставить плюс. А то банда злобных апельсинов придет за вами. И даже тех. поддержка вам не поможет. :3

Когда я что-то пишу в "<>", то это значит, что содержимое надо заменить на свое значение.
MusNik
KeeVee Games
GM Pro user
*

Репутация: 733
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+500 репутации]За отличную игру Rock painting story!За помощь в развитии форума!За отличные статьи по Game Maker!...
API: GameMaker Studio 2
Сообщений: 3241



WWW
« Ответ #6 : Январь 25, 2015, 16:13:46 »

Можно в Blender всё конвертировать в .obj формат, а из него уже утилитами, написанными на GM-же, или с помощью скрипта-парсера, создавать d3d модели. И не нужно никаких расширений в Blender.

Можно точно также сказать в обратную сторону:

Можно просто поставить расширение в Blender. И не нужно ничего в Blender конвертировать в .obj формат, а из него уже утилитами, написанными на GM-же, или с помощью скрипта-парсера, создавать d3d модели.

Так даже менее замороченно звучит :D
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.076 секунд. Запросов: 31.