Чому на моїй моделі не світиться безперервно?


9

Я створив базову модель текстурованого куба з Blender для практичного моделювання, а потім імпортував її в Unity. Після того як я виставив трохи освітлення, це виглядає досить потворно. Світло не є суцільним на ряду текстурованих кубів:

введіть тут опис зображення

Що дивніше, світло на блоки, що утворюють підлогу, є безперервним. Що я роблю неправильно?

Ось так виглядає без текстур:

введіть тут опис зображення

Якби я не знав, що це ідеальні кубики, я б сказав, що на поверхні незначна крива. Я також спробував полегшити текстуру, але це також не допомогло:

https://dl.dropbox.com/u/45620018/lighter%20texture.PNG

Я просто експортував модель від Blender і не встановлював жодних нормалів чи подібних речей. Однак я теж не робив нічого особливого з моделлю цегляної підлоги.

Перевірили норми, і вони, здається, вказують в правильному напрямку.

введіть тут опис зображення

Також я не бачу різниці між двома моделями. На панелі текстур я також встановив проекцію на плоску:

введіть тут опис зображення

Я перевірив різні панелі в Blender, і єдиний варіант, пов’язаний зі звичайним на панелі "Дані про об'єкт", це "Автоматичне згладжування", і воно вимкнено за замовчуванням:

введіть тут опис зображення


Чи справно працює, якщо вимкнути текстурування?
msell

Відповіді:


7

З малюнка без текстури я впевнений, що проблема полягає в тому, що у ваших моделях кубів є невідповідні норми. Вам потрібно сказати Блендеру, що краї куба призначені для того, щоб вони були гострими, а не гладкими - тепер у вас є кубики, які діють як шестигранні наближення сфер.

Я не знаю Блендера, тому я не можу точно сказати вам, як це досягти, але це може бути названо "плоским" замість "гладких" облич чи нормалів, або може бути спосіб "зламати" певний край. Ваша модель плитки для підлоги має правильні норми, тому, можливо, ви повинні побачити, що в цьому відрізняється.


2
Ви мали рацію, що мені довелося сказати Блендеру, щоб краї були гострі. Я міг би досягти цього за допомогою модифікатора EdgeSplit. ( wiki.blender.org/index.php/Doc:2.4/Manual/Modifiers/Generate/… )
nosferat

Ви можете просто вибрати всі обличчя в Blender і надати їм "Flat" затінення через меню зліва (те, яке активується "T"). Або в Unity ви можете обрати верхню частину ієрархії імпорту Blender, обрати обчислення нормалей (замість імпортних), а потім обрати кут вирівнювання (вибравши щось на зразок 60, ви повинні отримати бажаний ефект). Я не думаю, що це насправді нормальне питання, нормальні нормально, інакше ви б не побачили нічого в Unity (або в Blender, якщо б увімкнули вилучення фонових зображень).
Shivan Dragon

4

Кілька пропозицій щодо проблеми, яка може бути:

а) Чи перевірили ви, чи всі нормальні обличчя сітки спрямовані в правильному напрямку? Це досить просто зробити в Blender)

б) Чи застосували ви правильне ультрафіолетове відображення? Unity експортує всі текстурні дані на основі того, як ви налаштовуєте речі в Blender. Подивіться на панель "Текстура" в Blender, особливо на панель "Картографування" під "Текстури" (в ідеалі вона повинна бути встановлена ​​на УФ.

(PS Яка тут політика щодо вкладень або розміщення посилань на файли проектів, скажімо, на посилання Dropbox або на Google Drive? Це потрібно зробити так просто, щоб виправити, якщо я міг просто побачити всі файли.)


2
Щоб відповісти на ваше вкладення, на Stack Exchange зовнішні посилання на файли на окремі запитання не бажані, оскільки вони, як правило, відходять. Зображення слід завантажувати в наш власний хостинг (за допомогою кнопки завантаження в редакторі), щоб команда SE змогла переконатися, що вони тримаються. Немає особливої ​​підтримки для зображень (наприклад, файли Blender для цього питання), але краще знайти альтернативи, оскільки це стає більше схожим на "будь-ласка, налагоджуйте мій дуже великий код", що навряд чи буде корисним нікому, крім оригінальний запитувач, що суперечить цілям SE.
Кевін Рейд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.