Облака и перспектива07.01.2026, 13:35. Показов 1124. Ответов 25
Метки нет (Все метки)
Добрый день
Аттач - пример текстуры которую хочу использовать как небо в сцене. Когда камера смотрит вверх - все вполне устраивает. А вот когда видна линия горизонта - нет, выглядит неестественно. Какие есть готовые решения? Или нужно писать свой шейдер? При этом можно как использовать готовую текстуру/картинку, так и создавать ее самому, процедурно. Освещенность никак не учитывается, в эти дебри не лезем Спасибо
0
|
|
| 07.01.2026, 13:35 | |
|
Ответы с готовыми решениями:
25
Перспектива, фокусное расстояние и узлы обзора Перспектива Перспектива Unity 3d Череж |
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
||
| 07.01.2026, 16:58 | ||
Сообщение было отмечено Igor3D как решение
РешениеВот моя демка, где сделано именно так: https://disk.yandex.ru/d/fxlEQv3bPZjikg
0
|
||
| 08.01.2026, 12:40 [ТС] | ||
|
0
|
||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
|
| 08.01.2026, 12:59 | |
|
В моей демке есть и динамическое освещение (а посмотреть её можно и без Windows при наличии Wine, только закинуть туда ещё Dll).
Но самозатенения там нет, этот термин вообще применяется в 3D моделям, а не к рисункам на текстуре. Вот сымитировать боковое освещение отдельных облаков без самозатенения можно при помощи DP3 бампа. У меня в демке именно так освещается линия горизонта, которая - тоже картинка.
0
|
|
| 08.01.2026, 14:51 [ТС] | |||
|
0
|
|||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
||
| 08.01.2026, 16:57 | ||
|
А скриншот сделаю позже, только по нему же не будет видно, что это не текстуры с освещением, а освещение в реалтайме работает.
0
|
||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
||
| 08.01.2026, 17:49 | ||
|
Вот скриншот демки. Она старая, я её лет 15 назад делал, ещё на FFP. Можно вращать\поднимать\опускать солнце, картинка динамически меняется, облака бегут, горы на дальнем плане - это цилиндр с текстурой, но свет на него падает так, как и на сетку ландшафта, неотличимо.
0
|
||
| 08.01.2026, 21:21 [ТС] | ||||
|
0
|
||||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
||||
| 08.01.2026, 22:51 | ||||
|
Да и не нужно особо это самозатенение, если только солнце на расположено практически на горизонте. Особенно когда облака - Перлин, обычный слой без башен кучевых облаков.
0
|
||||
| 09.01.2026, 02:42 [ТС] | |||||
![]()
0
|
|||||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
||
| 09.01.2026, 09:31 | ||
Сообщение было отмечено Igor3D как решение
РешениеВот я добавил к этим облакам диффузный DP3 свет, по той, что выше, нормалке. Точно так же можно подсветить тонкие края облаков по принципу - чем ближе к солнцу, тем ярче.
0
|
||
| 09.01.2026, 20:22 [ТС] | ||
|
0
|
||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
||
| 09.01.2026, 20:45 | ||
|
А можно вообще схитрить - сам ШП, это, фактически, октавный шум, его алгоритм построения уже содержит стадию, когда шум ещё не содержит мелких деталей. Можно на этой стадии и выдернуть данные для построения нормалки.
0
|
||
| 16.01.2026, 01:28 [ТС] | ||
|
Попробовал самплить по лучу на источник (аттач). Картинка конечно стала интереснее/богаче, и по скорости приемлемо, но вылазит немало проблем, напр
- сейчас вектор на свет (практически) перпендикулярен взгляду камеры. Неясно что делать при других раскладах - нужно как-то создать "эффект объема", сейчас это срез/сечение В общем
0
|
||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
|
| 16.01.2026, 08:10 | |
|
Получилось хорошо. Но, думаю, этого можно достичь и проще.
0
|
|
| 16.01.2026, 16:30 [ТС] | |||
Но "проще" тоже годится. Необязательно предъявлять рез-т/картинки, понимаю что это может быть сложно, поясните идею. Бамп не годится, в смысле им можно украсить освещенную сторону, но теней он не сделает. Кстати о птичках: а почему бы не генерить нормали бампа прямо на месте, зачем таскать карту? Или все-таки "быстрее"? Ладно, это дело техники А кроме бампа др мыслей я как-то не видел (или не понял). Что у Вас есть?
0
|
|||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
||
| 16.01.2026, 17:01 | ||
|
0
|
||
| 17.01.2026, 00:59 [ТС] | |||
|
Не по теме: Эх, тут бы пару свежих идеек, типа "young blood". А то все "игры пилят", нафиг они нужны :(
0
|
|||
|
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
|
|||||
| 17.01.2026, 10:32 | |||||
|
Я, к слову, использую не конкретно шум Перлина, а просто октавный шум. Но разницы в конечной картинке нет, разница в алгоритме. И октавный шум очень легко делается сразу бесшовным. Вот я сделал, как ранее предлагал - нормали сгенерированы из заблюренного шума. Получилось интереснее, чем в п.15 без всякого прохода по лучу.
0
|
|||||
| 17.01.2026, 10:32 | |
|
Помогаю со студенческими работами здесь
20
Ретро перспектива Создаю Mesh на основе облака точек заданной толщины Построение поверхности из облака точек формата файла ASCII "Закручивание перспективы" или большая проблема перспективы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|