MeshLight на базе AreaLight работает очень странно, формируя какие-то засветы, если пересекается с геометрией. Эмиссив материалы, кстати, тоже почему-то не работают. В стандартном работают, здесь нет.
В паре мест, созданных при помощи SabreCSG течет, причем непонятно почему. И паддинги увеличивал и разрешение лайтмапы. Часть возможно T-junction, места стремноватые. Но в других точно какая-то ерунда, свет утекает на ровном месте. Паддинги и так безумные, половина лайтмапы из паддингов состоит. Как итог в проекте на ассетах использую Bakery (четкие тени при том же разрешении лайтмапы это таки важно), но в CSG он для меня пока неприменим.
По скрину не очень понятно, что делается. Для более аккуратного просчёта попробуй включить галку selfshadow (но да, с ней он будет бросать собой тени от других источников заодно).
Mr F
Если в настройках импортированного в движок меша отключить автоматическое генерирование развертки для лайтмапы, Bakery под этот меш создаст свою текстуру, или всё равно развертки множества мешей масштабирует и запакует в одну текстуру?
MSA2
Ничего не поменяется, будут использоваться UV2 какие есть в модели, а если их нет - UV1. Чтобы иметь отдельную текстуру на объект без запаковки в общий атлас, стоит юзать Lightmap Groups (см. вики)
Mr F
А мне как раз и не нужны индивидуальные текстуры, т.е. получается никаких дополнительных трудностей, переделки шейдеров и т.д. не требуется - достаточно переписать мой плагин для генерации интерьеров. Ну и для части мешей необходимо будет вручную продумать UV2. Это хорошо
Вопрос. Я сделал Bake сцены, и нажал галочку Combine with Enlighten real-time GI, чтоб сохранить влияние skydome на сцену, вроде все работает. Но если я префабом переношу всю сцену в другую сцену, то там skydome уже не как не оказывает влияние на мой префаб.
Как сделать так чтоб на префаб который я забэйкал оказывал влияние skydome в любой сцене?
Энлайтеновское ги хранится в LightingDataAsset'е, который привязан к сцене. Несколько таких ассетов одновременно Юнити не умеет совмещать.
Mr F
Хорошо а как мне сделать так чтоб после запекания и сохранения префаба. Я мог хоть как то освещать skydome.. этот префаб в любых сценах
StainBerg
Это уж вопрос к Юнити - поспрашивай на юнити-форуме. Я энлайтен не делал, юнити не писал, и как работает динамическое освещение скайдомом, где там что хранится - не знаю.
Привет.
Вопрос - как бороться со швами? Идут два меша вплотную.
Fix seams точно стоит? Щели или какой-нибудь фаски там нет? Обычно такого не происходит, люди прям из модулей левелы городят. Если можешь эти два объекта в отдельной сцене заставить косячить и вышлешь unitypackage с ними - могу потестить-подебажить и найти точную причину.
Привет.
Вопрос почему lightmap не распределяет uv по все мапе.. Очень много свободного места.(
StainBerg
Ну пакер атласов у меня не лучший, но это и не основная цель проекта (запаковать можно заранее в максе/мае идеально). Также стоит иметь в виду, что:
- у меня лайтмапы всегда квадратные, прямоугольные не делаются, поэтому если какая-то штука вширь должна занимать очень много, то ввысь может получится пусто.
- атласеру запрещено менять пропорции объектовых развёрток, только одинаково масштабировать по всем осям. некоторые сцены невозможно запаковать без изменения пропорций в квадрат без дыр.
- атласы могут быть только размеров степени двойки, т.е. 256, 512, 1024 итп. Если так вышло, что с указанным значением texels per unit объекты занимают, скажем, 300, то может в итоге создатся 512 лайтмап, не заполненный до конца (256 мало, 512 много). Регулировкой texels per unit можно натвикать нормальное заполнение.
Mr F
атласеру запрещено менять пропорции объектовых развёрток, только одинаково масштабировать по всем осям.
а почему?
92+
Потому что тогда получатся растянутые тексели, а это довольно заметно.
Тема в архиве.