Задаём вопрос - получаем ответ!

Список разделов Blender 3D Общие вопросы

Описание: Если не знаете где спросить или нет времени искать нужный раздел
Модератор: exooman

Сообщение #7821 Korchy » 12.12.2016, 22:27

Какой формат для сохранения изображений точно соответствует или максимально близок к тому, в котором блендер хранит картинку в памяти?
Чтобы можно было сохранить картинку а потом загрузить ее через нод Image в комопозитинг и не появилось никаких артефактов. PNG с RGBA и 0 компресси точно подойдет?
Korchy M
Аватара
Сообщения: 1744



  • 1

Сообщение #7822 graphite » 12.12.2016, 23:46

openexr (multilayer по надобности)
у пнг максимум 16 бит на канал вроде , у exr точно больше в разы.
graphite M
Аватара
Сообщения: 844

Сообщение #7823 Август » 13.12.2016, 17:19

Всем привет. Знатоки PYTHON и BGE поясните мне, где я неправ. Создал три сцены, все одинаковые, по умолчанию.
С помощью скрипта:
import bge # подключить Blender Game Engine
from bge import logic # из bge импортировать логику
scenes = bge.logic.getSceneList() # получить список всех сцен игры
for o in scenes: # цикл просмотра существующих сцен
print (o) # вывод в печать найденных сцен
попытался получить список сцен, но получить удаётся только название активной сцены. Что я делаю не так?
Август
Сообщения: 102

Re: Задаём вопрос - получаем ответ!

Сообщение #7824 wan-man » 13.12.2016, 17:22

я не знаю python, но возможно проблема либо в том что вывод находится ся не в цикле, либо просто счётчик переменной стоит добавить

Отправлено с моего Philips S308 через Tapatalk
wan-man M
Аватара
Откуда: Волгоград
Сообщения: 219


Сообщение #7825 denis8424 » 13.12.2016, 19:38

Август, Во первых, используй тег Code для скриптов, в питоне очень важны отступы.
Код: Выделить всё
import bge # подключить Blender Game Engine
from bge import logic # из bge импортировать логику
scenes = bge.logic.getSceneList() # получить список всех сцен игры
for o in scenes: # цикл просмотра существующих сцен
    print (o) # вывод в печать найденных сцен

Во-вторых, вопрос, а ты эти сцены в игре подключил? Как оверлей или бэкграунд? Или просто создал, да так и оставил?
Подключаются сцены например так: На какой-нибудь объект вешается цепочка из сенсора Always, контроллера And и актуатора Scene -> addScene.
denis8424
Аватара
Сообщения: 678

Сообщение #7826 Август » 13.12.2016, 20:13

Август, Во первых, используй тег Code для скриптов, в питоне очень важны отступы.
КОД: ВЫДЕЛИТЬ ВСЁ
import bge # подключить Blender Game Engine
from bge import logic # из bge импортировать логику
scenes = bge.logic.getSceneList() # получить список всех сцен игры
for o in scenes: # цикл просмотра существующих сцен
print (o) # вывод в печать найденных сцен
Тут, собственно один отступ перед "print (o)" и он у меня соблюдён.
Во-вторых, вопрос, а ты эти сцены в игре подключил? Как оверлей или бэкграунд? Или просто создал, да так и оставил?
"Как оверлей или бэкграунд?" - что это такое или где это можно прочитать?
Просто "нашлёпал" сцен, правда с разными объектами: куб, примат, тор.
Подключаются сцены например так: На какой-нибудь объект вешается цепочка из сенсора Always, контроллера And и актуатора Scene -> addScene.
В одной из сцен добавил сенсор Always и соединил с контроллером Python инициирующим текст сценария. Мне хочется не просто включить одну из сцен, а именно получить список всех сцен и из Питона активировать любую из них, произвести в ней некие изменения, например добавить объект или изменить его и вернуться назад, в момент начала всей этой катавасии.
Август
Сообщения: 102

Сообщение #7827 denis8424 » 13.12.2016, 21:19

Спойлер
Тут, собственно один отступ перед "print (o)" и он у меня соблюдён
А мне этого не видно никак, я просто догадался и выставил отступ как должно, если бы вопрос был более сложным, то и мог бы не понять.
"Как оверлей или бэкграунд?" - что это такое или где это можно прочитать?
Почитать -то даже и не знаю где. Вкратце - оверлейная сцена, это сцена, просчитанная камерой которой картинка будет накладываться поверх просчитанной картинки основной сцены. С помощью оверлейных сцен делают всякие изменяемые перекрестья прицела, отображают информацию о текущем состоянии, вроде полосы здоровья, или с помощью специальных объектов отслеживают перемещения скрытых врагов, например за стеной. То есть это сцена, картинка которой должна быть всегда на виду. Бэкгроундовая сцена, по названию понятно что картинка просчитанная в ней будет "подкладываться" под основную. Это всякие разные фоны. Вообще сцен в игре может быть множество, и можно считать, что они последовательно просчитываются снизу вверх.
Просто "нашлёпал" сцен, правда с разными объектами: куб, примат, тор.
Вот. В БГЕ этих сцен просто нет. Объясняю - во-первых, есть сам редактор, данные которого можно использовать, во-вторых, есть внутренний игровой движок, BGE, в-третьих, есть внешний игровой движок, который тоже BGE. То есть эти сцены есть в самом редакторе, но пока ты не подключишь их, то БГЕ на них внимания обращать не будет, их как бы нет. В конце концов, сцену можно во время игры подгрузить даже из другого файла, не сканировать же весь жесткий диск на предмет наличия блендов? Указанный тобой скрипт может прочитать только те сцены, которые уже запущены и работают.
And и актуатора Scene -> addScene.
В одной из сцен добавил сенсор Always и соединил с контроллером Python инициирующим текст сценария. Мне хочется не просто включить одну из сцен, а именно получить список всех сцен и из Питона активировать любую из них, произвести в ней некие изменения, например добавить объект или изменить его и вернуться назад, в момент начала всей этой катавасии.
Теперь переходим к твоей задумке. Вот прямо так, "в лоб" ничего не выйдет, потому что после выгрузки сцены(отключения), все данные в ней будут уничтожены, по простой причине необходимости экономии места в памяти. Самый лучший вариант, имхо, это скриптом записывать при выходе из сцены в файл состояние сцены, вроде количества объектов и их состояния, а при последующей загрузке читать этот файл и раставлять объекты по сцене и изменять их свойства.
В принципе, можно выковырять список всех сцен из бленда, с помощью файловых операций, хоть и сложновато будет, а вот внести изменения в них - блендер чтоли в отдельном потоке запускать?

Добавлено спустя 5 минут 59 секунд:
P.S.
Спойлер
Проще не читать список сцен в бленде, а сохранять по одной сцене в каждом бленде, тогда можно просто прочитать список файлов в указанной директории.
denis8424
Аватара
Сообщения: 678

Сообщение #7828 Август » 13.12.2016, 21:43

denis8424, спасибо за столь полный ответ. Судя по вашему ответу зелен я пока. Придётся шаги свои, чтобы штанишки не порвать, сократить. Буду обходиться тем что явно доступно.
Ещё раз спасибо, и удачи вам.
Август
Сообщения: 102

  • 1

Сообщение #7829 Korchy » 13.12.2016, 22:10

graphite,
graphite писал(а):openexr
Спасибо, вроде работает. Только чего-то сохраняемые части такое ощущение, что темнее по гамме. Хотя потом в композитинге вроде собирается нормально. Надо еще покрутить в общем.
Korchy M
Аватара
Сообщения: 1744



Сообщение #7830 Диман » 16.12.2016, 14:00

Подскажите пожалуйста, у меня такая проблема, при объединении 2-х объектов в один что то странное происходит с отображением карты нормалей, на одних полигонах все норм, а на других рельеф обратным (вдавленным) получается почему то ?:-|
Диман
Аватара
Сообщения: 133

Сообщение #7831 Kaiwas » 16.12.2016, 14:10

Диман, иногда нормали фэйсов переворачиваются.

В N-панели в режиме радектирования активируй крыжик и посмотрикуда нормали показываются.
Нужно пересчитать или вывернуть вручную.

Изображение
Проектирую
Kaiwas M
Аватара
Откуда: Россия, г.Липецк
Сообщения: 1988

Сообщение #7832 Диман » 16.12.2016, 14:22

Посмотрел, сами нормали объекта все наружу но что то не то с развертками (UV-map) (их у меня несколько) при нажатии на одну из них нормально отображается только тот материал к которому эта развертка принадлежит :(

Изображение
Диман
Аватара
Сообщения: 133

Сообщение #7833 Kaiwas » 16.12.2016, 14:50

Диман, а нормали делались все одинаково?
Может одни под директХ, а другие под опенГЛ. Попробуй на проблемных инвертировать зелёный канал.
Проектирую
Kaiwas M
Аватара
Откуда: Россия, г.Липецк
Сообщения: 1988

Сообщение #7834 Диман » 16.12.2016, 14:51

А как это сделать? я не умею :(

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

P.S. и еще такой у меня вопрос: как объединить несколько разверток в одну?
Диман
Аватара
Сообщения: 133

  • 1

Сообщение #7835 stark » 16.12.2016, 15:34

Похоже это баг. Вот, собрал тестовую сцену: https://drive.google.com/open?id=0B_kRjyLNhrGxaHZmT18yeE5TRVk, - и да, правильно отображает normalmap только на выбранной развёртке.

Добавлено спустя 4 минуты 16 секунд:
Диман писал(а):P.S. и еще такой у меня вопрос: как объединить несколько разверток в одну?

Поконкретнее бы. Одинаковые по названию развёртки на разных объектах объединяются при слиянии. Разбиваем (P -> Selection), переименовываем UV, соединяем (Ctrl + J). Можно перезапечь текстуры с одной развёртки на другую через Bake: читает по настройкам текстуры, записывает по выбранной активной развёртке или же по той у которой значок - "камера" - это я уже не помню.
stark M
Сообщения: 1246

Сообщение #7836 Neofit » 16.12.2016, 23:11

Наложил фототекстуру на лицо фронтальной проекцией. Как перевести её в развертку пригодную для анимации?

Если запекание, то как это правильно сделать?
Neofit
Аватара
Сообщения: 766


Сообщение #7837 stark » 16.12.2016, 23:38

Да ХЗ как правильно. Но в BI надо наложить текстуру по одной развёртке, выбрать как активную другую и тогда запекать. И активное изображение, на которое запекать, надо назначать после выбора активной развёртки.

Но сейчас наверное все в Cycles запекают.
stark M
Сообщения: 1246

Сообщение #7838 Neofit » 16.12.2016, 23:48

Не не, в сайклз. ) Как там в двух словах?
Neofit
Аватара
Сообщения: 766


Сообщение #7839 stark » 16.12.2016, 23:56

Neofit, в двух словах я уже и написал :) А что не понятно-то? Как активное изображение назначить? Это в editmode выбрать все грани и потом в UV/Image Editor выбрать нужное изображение (на которое запекать).

Добавлено спустя 56 секунд:
Запекает те текстуры, что сейчас активны.

Добавлено спустя 1 минуту 14 секунд:
Если запекаешь диффузную текстуру - то выбирай в свитке Bake "Texture". Если карты нормалей запекаешь или bump в нормали - то надо Normals и tangent выбрать в свитке Bake.
stark M
Сообщения: 1246

Сообщение #7840 FroST » 17.12.2016, 04:33

Как можно вылечить волоски, которые направлены во внутрь?
Если руками выворачивать волоски, то они потом не расчесываются
Изображение
FroST M
Аватара
Откуда: Мобиус
Сообщения: 415


Пред.След.

Вернуться в Общие вопросы

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость