Экспорт материалов
09 февраля 2016 14:02
09 февраля 2016 17:32
Добрый день.
Да
Попробуйте использовать прокси-объекты, на которых будет лежать метериал и которые не будут рендериться (галочка Do not render в настройках объекта). И не забудьте, что они должны быть динамическими (галочка Force dynamic там же)
Материалы экспортируются только с объектами?
Да
Т.е. мне надо например динамически создавать объекты и менять им материал.
Попробуйте использовать прокси-объекты, на которых будет лежать метериал и которые не будут рендериться (галочка Do not render в настройках объекта). И не забудьте, что они должны быть динамическими (галочка Force dynamic там же)
11 февраля 2016 17:34
1. Допустим, есть базовый объект с материалом белого цвета.
И два прокси-объекта, на одном материал черного цвета, на другом белого (белый такой же материал, как на базовом объекте)
2. Скриптом создаем копии базового объекта, копируя на него, то белый, то черный материал с прокси-объектов
с помощью material.inherit_material, но получается, что белый цвет один раз затирает черный (или наоборот) и в итоге все получается одного цвета.
Есть подозрение, что при создании копии базового объекта надо создавать его со своим материалом. Только как?
Или как-то по-другому решается?
И два прокси-объекта, на одном материал черного цвета, на другом белого (белый такой же материал, как на базовом объекте)
2. Скриптом создаем копии базового объекта, копируя на него, то белый, то черный материал с прокси-объектов
с помощью material.inherit_material, но получается, что белый цвет один раз затирает черный (или наоборот) и в итоге все получается одного цвета.
Есть подозрение, что при создании копии базового объекта надо создавать его со своим материалом. Только как?
Или как-то по-другому решается?
11 февраля 2016 17:54
Добрый день.
При вызове функции копирования третьим параметром можно передать true (случай глубокого копирования), что будет означать, что объект будет иметь уникальную геометрию и привязанный к ней материал. Если его не передавать, то всё будет браться по ссылке при копировании, т.е. изменение одного приведёт к изменению другого.
Для глубокого копирования на объекте необходимо выставить свойство "Dynamic Geometry" в настройках объекта (рядом с Force Dynamic Object)
При вызове функции копирования третьим параметром можно передать true (случай глубокого копирования), что будет означать, что объект будет иметь уникальную геометрию и привязанный к ней материал. Если его не передавать, то всё будет браться по ссылке при копировании, т.е. изменение одного приведёт к изменению другого.
Для глубокого копирования на объекте необходимо выставить свойство "Dynamic Geometry" в настройках объекта (рядом с Force Dynamic Object)
23 февраля 2016 14:19
24 февраля 2016 12:47
У меня есть материал с двумя UV картами ( UVMap0, UVMap1). Как можно организовать переключение между этими картами?Динамически во время работы приложения и без программирования только вот так. Value можно управлять при помощи редактора нодовой логики.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
25 февраля 2016 18:49
25 февраля 2016 19:01
… так и есть, включил проверку во время экспорта и нашел этот код? …
if mesh.uv_textures:
# export 2 uv_textures only
mesh_uv_count = len(mesh.uv_textures)
if mesh_uv_count > 2:
warn("Only 2 UV textures are allowed for a mesh. The mesh \"" + mesh.name
+ "\" has " + str(mesh_uv_count) + " UVs.")
mesh_data["uv_textures"].append(mesh.uv_textures[0].name)
mesh_data["uv_textures"].append(mesh.uv_textures[1].name)
почему только 2 UV textures?
if mesh.uv_textures:
# export 2 uv_textures only
mesh_uv_count = len(mesh.uv_textures)
if mesh_uv_count > 2:
warn("Only 2 UV textures are allowed for a mesh. The mesh \"" + mesh.name
+ "\" has " + str(mesh_uv_count) + " UVs.")
mesh_data["uv_textures"].append(mesh.uv_textures[0].name)
mesh_data["uv_textures"].append(mesh.uv_textures[1].name)
почему только 2 UV textures?