Blender 2.5 Exporter
|
|
ninth | Дата: Пятница, 17.06.2011, 15:19 | Сообщение # 1 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Ранние ревизии: Rev7 http://panda3d.org.ru/files/blender25_egg_export.py Rev 10 http://panda3d.org.ru/files/YABEE.zip Rev 11 http://panda3d.org.ru/files/YABEE_11.zip
Новые версии доступны здесь: https://github.com/09th/YABEE/ https://github.com/09th/YABEE/archive/master.zip
Возможности: - Экспорт простых мешей (модификаторы игнорируются за исключением арматуры) - Экспорт UV развёрток. - Частичный экспорт материалов и текстур - Экспорт скелетной анимации (Armature) - Экспорт ShapeKeys и их анимации - морф анимация - Экспорт тэгов через назначение их в Game logic -> properies - Экспорт незамкнутых кривых NURBS для использования в качестве Mopath - Экспериментальная генерация UV слоя с текстурами AO и тени
Дополнительно скрипт для того чтобы была возможность вытащить из блендера анимацию перемещения объектов без использования скелета http://panda3d.org.ru/files/Blender_Motion.zip
|
|
| |
serg-kkz | Дата: Четверг, 14.07.2011, 09:43 | Сообщение # 46 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| В максе есть импорт egg.
ООП -
|
|
| |
serg-kkz | Дата: Четверг, 14.07.2011, 10:27 | Сообщение # 47 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Quote (ninth) я делал в гимпе, преобразуя ч/б карту высот в карту нормалей.
А в гимпе есть спец средства, или ты просто по цвету приблизительно? если так, то явно не годится, используй MaPZone. Но и в этом случае не всегда преобразованная карта bump'а будет корректно отображаться.
ООП -
|
|
| |
ninth | Дата: Четверг, 14.07.2011, 10:29 | Сообщение # 48 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Есть специальный генератор нормалмэпов. Аналог фотошоповского.
|
|
| |
ninth | Дата: Четверг, 14.07.2011, 10:39 | Сообщение # 49 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Обновление. 10 ревизия. Добавлено: - модели, прикреплённые напрямую к костям без модификатора теперь экспортируются как часть анимированного меша с весом 1.0 - первый UV канал теперь записывается без имени в качестве дефолтного - автосоздание подпапок, если их не существует при записи файла - копирование текстур в указанную поддиректорию, относительно основного файла - запись анимации в раздельные файлы - настройка количества знаков после запятой для записи в файл
|
|
| |
serg-kkz | Дата: Пятница, 15.07.2011, 11:34 | Сообщение # 50 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Quote (Dimon3D) на счет инвертирования. Я заметил что при использовании в юнити, нормал мапы запеченные прогой xnormal отображаются правильно, а запеченные блэном инвертируются. Походу алгоритмы разные
Я не давно обнаружил одну кнопку в MaPZone, для нормал карты, смысыл этой кнопки чтоб задать OpenGL или DirectX, так вот если её тыкнуть то и происходит инверсия, Видимо алгоритмы в прогах заточены под определённую граф библиотеку. Инверсию скорей необходимо делать и для других видов карт, наприер Specular, мне пришлось инвертировать такую карту для панды из NeoAxis(ogre) - граф основа DirectX(по умолчаню). Так же видимо в граф движках организована авто инверсия при смене графической системы.
Вот пример нормал карты:
ООП -
|
|
| |
k0t | Дата: Четверг, 04.08.2011, 12:07 | Сообщение # 51 |
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
| Экспортировать - экспортирует. ПРостые модели, вроде кубиков и иконсфер, правильно. Но при попытке импортнуть в панду что-то сложнее кубика - фейл. Code DirectStart: Starting the game. Known pipe types: wglGraphicsPipe (all display modules loaded.)
Error in /f/workspace/SpacePanda/src/model/spaceball.egg at line 5431, column 25: <Tangent> { nan nan nan } ^ parse error
:egg2pg(error): Error reading /f/workspace/SpacePanda/src/model/spaceball.egg :loader(error): Couldn't load file model/spaceball.egg: all matching files on model path invalid (the model path is currently: "/f/workspace/SpacePanda/src;/f/Panda3D-1.7.2/etc/..;/f/Panda3D-1.7.2/etc/../models") Traceback (most recent call last): File "F:\workspace\SpacePanda\src\main.py", line 4, in <module> environ = loader.loadModel( "model/spaceball.egg" ) File "F:\Panda3D-1.7.2\direct\showbase\Loader.py", line 169, in loadModel raise IOError, message IOError: Could not load model file(s): ['model/spaceball.egg'] Добавлено (03.08.2011, 15:57) --------------------------------------------- В принципе, ручная правка помогла, моделько загрузилоссс. Добавлено (04.08.2011, 12:07) --------------------------------------------- Ps А со stencil текстурами работать не умеет? Случайно так? )
Сообщение отредактировал k0t - Среда, 03.08.2011, 15:42 |
|
| |
soos | Дата: Четверг, 04.08.2011, 18:54 | Сообщение # 52 |
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
| Попробовал сделать наложение по трафарету (stencil) из 3 текстур сгенерированных процедурно в блендере, а экспорт таких текстур, видимо, не делается. Может надо сначала как то их сохранить?
UPD: попробовал сделать с текстурами из .png файлов, эффект тот же упоминания текстур нет. UPD2: хотя x2egg тоже никакого указания на текстуры не пишет
Сообщение отредактировал soos - Четверг, 04.08.2011, 19:18 |
|
| |
serg-kkz | Дата: Четверг, 04.08.2011, 23:40 | Сообщение # 53 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Quote (ninth) Частичный экспорт материалов и текстур А может дело в этом.
ООП -
|
|
| |
ninth | Дата: Среда, 10.08.2011, 08:07 | Сообщение # 54 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Ога. Я пока над различными типами смешивания и отображения текстур не работал. Если кто-то даст мне список наиболее используемых, то ими и займусь.
|
|
| |
k0t | Дата: Среда, 10.08.2011, 08:43 | Сообщение # 55 |
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
| Йа просто не могу догнать, как в принципе в панде сделать аналог блендеровского стенсил ) А так - микс, оверлей, из тех, что пользуюсь я лично. И волшебная галочка стенсил.Добавлено (10.08.2011, 08:43) --------------------------------------------- Конечно, можно попробовать поставить 2.49 блендер и экспортнуть чикеном, он вроде как-то умел, но так влом и не до того =Р
|
|
| |
ninth | Дата: Среда, 10.08.2011, 09:46 | Сообщение # 56 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Quote (k0t) как в принципе в панде сделать аналог блендеровского стенсил В рантайме или в egg файле?
з.ы. Генерируемые текстуры даже не пытался экспортить. Надо посмотреть есть ли вообще возможность до них достучаться.
|
|
| |
k0t | Дата: Среда, 10.08.2011, 10:23 | Сообщение # 57 |
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
| Генерируемые лично мне не нужны, вот честно ) В рантайме. В egg тоже не знаю, как, но искал маны для рантайма. Вроде бы что-то через SetShaderAuto и бла-бла. Недавно еще форумы пандовские падали...
|
|
| |
soos | Дата: Пятница, 19.08.2011, 16:04 | Сообщение # 58 |
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
| Предлагаю всё же оформить код в виде import-export плагина и выделить ему место в официальном хранилище всех плагинов
Что-то типа:
Code bl_info = { "name" : "Panda3D exporter", "description" : "Panda3D exporter", "author" : "...", "version" : (0, 1), "blender" : (2, 5, 9), "api" : 35764, "location" : "File > Export > Panda3D (.egg)", "warning" : "", "wiki_url" : "", "tracker_url" : "", "category" : "Import-Export" }
import bpy
class Panda3DExporter(bpy.types.Operator): bl_idname = "export.panda3d" bl_label = "Export Panda3D"
class Panda3DImporter(bpy.types.Operator): bl_idname = "import.panda3d" bl_label = "Import Panda3D"
def menu_export_func(self, context): self.layout.operator(Panda3DExporter.bl_idname, text="Panda3D (.egg)")
def menu_import_func(self, context): self.layout.operator(Panda3DImporter.bl_idname, text="Panda3D (.egg)")
def register(): bpy.utils.register_module(__name__) bpy.types.INFO_MT_file_export.append(menu_export_func) bpy.types.INFO_MT_file_import.append(menu_import_func)
def unregister(): bpy.utils.unregister_module(__name__) bpy.types.INFO_MT_file_export.remove(menu_export_func) bpy.types.INFO_MT_file_import.remove(menu_import_func)
И завести проект на github'е или bitbucket'е
Сообщение отредактировал soos - Пятница, 19.08.2011, 16:06 |
|
| |
ninth | Дата: Пятница, 19.08.2011, 16:21 | Сообщение # 59 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| На оффсайте чел выложил обёртку с GUI и привязкой в виде плагина.
|
|
| |
ninth | Дата: Среда, 21.09.2011, 13:03 | Сообщение # 60 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Обновление rev 11 Изменены операции с умножением вектора на матрицу под требования Блендера 2.59 Добавлен экспорт цвета вершин Добавлена переменная для выбора типа генерации пространства касательных: встроенная; через панду; не генерировать Добавлен экспорт GLOSS и GLOW текстур Добавлена возможность автоматически запекать текстуры в diffuse, gloss, glow и normal. Вообще я разделил экспорт текстур на два типа: 'SIMPLE' - экспортирует текстурные слои как есть, используя в качестве режима смешивания MODULATE. Текстуры на которых поставлены галочки use normal, use emit, use specular экспортируются как NORMAL, GLOW, GLOSS соответственно. 'BAKE' - запекает текстуры в соответствии с настройками, указанными в словаре BAKE_LAYERS и сохраняет их в директорию для текстур. Для gloss и glow после запекания и экспорта необходимо заменить чёрный цвет на прозрачный. Вообще запекание в экспортёре - это что-то из разряда чёрной магии - хак на хаке, но, к сожалению нормально передать блендеровские типы смешивания текстур в панду не получается, так что самый близкий к оригиналу результат на данный момент получается запеканием текстур. Просто сохраняйте вашу модель перед тем как будете экспортировать с использованием запекания.
|
|
| |