[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
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(по умолчаню). Так же видимо в граф движках организована авто инверсия при смене графической системы.

Вот пример нормал карты:

Прикрепления: 0932814.png (4.2 Kb) · 7915343.png (4.2 Kb)


ООП  -  
 
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 текстурами работать не умеет? smile Случайно так? )

Сообщение отредактировал 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 и привязкой в виде плагина.
Прикрепления: Yabee_10_UI.py (5.4 Kb)
 
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 после запекания и экспорта необходимо заменить чёрный цвет на прозрачный. Вообще запекание в экспортёре - это что-то из разряда чёрной магии - хак на хаке, но, к сожалению нормально передать блендеровские типы смешивания текстур в панду не получается, так что самый близкий к оригиналу результат на данный момент получается запеканием текстур. Просто сохраняйте вашу модель перед тем как будете экспортировать с использованием запекания.
 
Поиск: