Вот собственно что лучше? Представлять ландшафт как карту высот или как мэш.
В представлении ввиде мэша есть явные преимущества:
1) не нужно париться с текстурированием
2) не нужно писать редактор, можно взять 3DMax
3) не нужно писать LOD алгоритм, можно пользоваться встроенным(хотя переходу между разными LOD'ами реализовать будет проблемно)
Кто что думает? В чём преимущества карты высот???
>> В чём преимущества карты высот???
главное: быстрый и простой коллижен
A_K Хм. И какую это даёт разницу в скорости?
И какие ещё есть преимущества?
А мне кажется, оптимальней всего часть ландшафта держать в mesh, а
часть в height map(какие части зависит от типа ладшафта).
Потому что у каждого есть свои преимущества - отвесную скалу не
сделаешь с помощью height map, но простые холмы на height map будут быстрее работать.
Till
Если у тебя есть модель ландшафта (или тот, кто её нарисует) - то меш.
Иначе - хейтмап + модели скал (и других примечательных объектов). Потому что замучаешся рисовать ландшавт 5х5 километров. В студии конечно сгенерить можно, но и программно из хейтмапа построить - как два байта переслать.
Основные проблемы с ландшафтом - это все таки освещение и оптимизация рендера.
Еще плюс хайтмэпа - возможность простой подгрузки на лету.
Timm
Освещение ландшафта ничем не отличается от остальной сцены, разве что на хайтмэп можно класть HorizonMAP.
Кстати, еще плюс HeightMap - простота horizon.
я бы сказал, что от heightmap одни проблемы, вроде отсутсвия правильного меша территории на всех этапах (в редакторах/тулзах) - а нужно для разнообразных предрасчётов.
iPriS
>> Еще плюс хайтмэпа - возможность простой подгрузки на лету.
не понимаю, почему нельзя подгрузить mesh?
Я сейчас участвую в написании стратегической игры... heightmap + меши. Причем меши ставятся на террейн, прогибаясь под него (в каждой вершине сэмплим heightmap). Очень позитивно для редактора - набор базовых объектов (скалы, обрывы, прочее), кисточка для модификации высот. Предрасчетов нету - считается, что редактор должен быть визивиг ;-(.
IronPeter
А в жвижок в каком виде поставляется? Или также heightmap + mesh?
Ещё интересно, что вы для отрисовки используете?
(сам над стратегией работаю)
Black Angel
Ну, тесселируем ландшафт и прогибаем объекты мы вне движка. В клиентском коде, так сказать. Хотя мне кажется, что прибавление к каждой вершине значения, отсэмпленного из карты высот (и соотв. модификация нормалей) вполне может быть core модификатором в движке.
>Ещё интересно, что вы для отрисовки используете?
API D3D.
по предрасчётам
Lightmap посчитать в нормальном ray-tracer'e(напр renderman) может быть проблематично: либо всё равно конверитровать в mesh на выходе редактора, либо надеяться, что алгоритм displacing в ray-tracer'e давст тот же результат, что и в core.
IronPeter
>Хотя мне кажется, что прибавление к каждой вершине значения,
>отсэмпленного из карты высот (и соотв. модификация нормалей)
>вполне может быть core модификатором в движке.
На этапе загрузки как я понимаю? Наверное целую секунду займёт
на большой карте.
>API D3D.
:) я имел в виду не чем вы рисуете, а как.
1)Если я разделил мэш на части, то как совместить рядом два мэша с разными LOD'ами?
2)Вообще можно ли изменить геометрию мэша runtime?
3)Наверное ужасный эффект при наложении текстуры на крытые склоны в heightmap'е можно как-то исправить? Может добавить неровностей или как-нить иначе наложить текстуру?
Till
>>1)Если я разделил мэш на части, то как совместить
>>рядом два мэша с разными LOD'ами?
Делить меш на достаточно большие куски и
делать lod этих кусков не затрагивая крайние вершины.
Не слишком рационально , но очень просто и нет
никаких проблем с состыковкой.
lim
GeoMorphing можно применять и для мешей - выглядит он ничуть не хуже, со стыковкой проблем нет, зато можно почти незаметно на глаз понизить разрешение
модели.
Тема в архиве.