Другое > Программирование (любое)

Небходима помощь по написанию экспрта в свой формат на языке Python.

(1/24) > >>

Bulbash:
Я как писатель своего движка выбрал блендер (он бесплатен). Раньше я пользовался .obj форматом вполне успешно.
Но настало время использовать скелетную анимацию. И я понял что проще и эффективнее всего будет написать свой скрипт для экспорта. Изучил синтаксис языка Python и посмотрел пару видеуроков как им пользоваться в Blender смог создать в меню File->Export нужную мне клавишу. Но уже два дня никак не могу понять как мне ПРОГРАМНО посчитать количество мэшей в сцене(т.е проигноривать остальные обьекты такие как камера свет и прочее). Кто знает как это реализуется пожалуйста подскажите. Могу предоставить код уже написаного мной скрипта если кому надо.

sungreen:
>>как мне ПРОГРАМНО посчитать количество мэшей в сцене
... тебя интересует конкретная сцена и все меши? ...

--- Код: python ---import bpy
c=len(bpy.data.meshes)
print(c)
--- Конец кода ---

Bulbash:
Спасибо sungreen код действительно работает. Если знаете не моглибы вы мне помочь со следующими вопросами:
1) как мне получить все данные о этих мэшах (вершины, индексы и нормали).
2) материал к каждому мэшу.
3) как мне получить все данные о скелете (положение костей) если таковой присутствует в модели.
4) и данные о анимации выше упомянутого скелета (ключевые кадры, количество кадров между ключ. кадрами, общее количество кадров)

sungreen:
>>как мне получить все данные

... на самом деле это не трудно, вся информация есть модели данных ...
>> 1) как мне получить все данные о этих мэшах (вершины, индексы и нормали).
вершины: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.Mesh.html#bpy.types.Mesh.vertices
индекс вершины: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.MeshVertex.html#bpy.types.MeshVertex.index
нормаль вершины: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.MeshVertex.html#bpy.types.MeshVertex.normal
полигоны: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.Mesh.html#bpy.types.Mesh.polygons
индекс полигона: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.MeshPolygon.html#bpy.types.MeshPolygon.index
нормаль полигона: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.MeshPolygon.html#bpy.types.MeshPolygon.normal

>> 2) материал к каждому мэшу.
материалы меша: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.Mesh.html#bpy.types.Mesh.materials

>> 3) как мне получить все данные о скелете (положение костей) если таковой присутствует в модели.
арматуры: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.BlendData.html#bpy.types.BlendData.armatures
и соответственно арматура: https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.Armature.html#bpy.types.Armature

... то есть всю информацию можно получить из bpy.data  ...
https://www.blender.org/api/blender_python_api_2_78a_release/bpy.data.html

Striver:
Вставлю тут небольшой самопиарчик своего перевода, вдруг пригодится.
http://striver00.ru/files/Code_Snippets_25_ru.zip

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии