1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Текстурирование сложного hipoly ландшафта и связанные с этим трудности.

Тема в разделе "Общие вопросы", создана пользователем [hidden], 10 апр 2008.

Модераторы: Артер
  1. [hidden]

    [hidden] Пользователь сайта

    С нами с:
    08.04.2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    2
    Всем привет!

    Начну по порядку. Итак, стоит задача создать ландшафт. Метод создания стандартный - плоскость, карта высот, дисплейс.

    Так как ландшафт нужен максимально детализированный, да и к тому же карта высот также весьма детальная, у исходной плоскости, для максимальной передачи топологии и вообще чтобы красиво было :) я выставил 512x512 полигончиков :)

    результат на прикрепленной картинке.

    внимание вопрос! как сие текстурить? суть проблемы в том, что при наложении битмаповской текстурки, на участках где гора идет вверх (на всех отвесных участках) текстура оказывается растянута. обычное явление при проецировании текстуры плоскостью, но так как модель очень высокоплигональная, uvw unwrap отпадает.

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

    ребята, подскажите, что делать?

    P.S. а еще я попробовал плагин dreamscape. вещь интересная, особенно тем, что там нет вообще сетки как таковой :) но если отказаться от геометрии, то проблема текстурирования еще более усугубляется - там вообще никак нельзя этот процесс контролировать...

    Надеюсь, суть вопроса ясна.

    Всем заранее спасибо за ответы!!!
     

    Вложения:

    • 666670.jpg
      666670.jpg
      Размер файла:
      22,1 КБ
      Просмотров:
      58
    • 666671.jpg
      666671.jpg
      Размер файла:
      13,5 КБ
      Просмотров:
      62
  2. Wats

    Wats Знаток

    С нами с:
    14.05.2007
    Сообщения:
    792
    Симпатии:
    2
    Баллы:
    32
    В Dreamscape есть карта Terrain Map (по моему так), вот она и позволяет текстурить в зависимости от наклона и высоты... В хелпе DS даже был урок как ей пользоваться... И сетка там тоже есть :rolleyes:
     
  3. [hidden]

    [hidden] Пользователь сайта

    С нами с:
    08.04.2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    2
    я знаю как работает эта карта. она в данном случае не поможет. да, она может выбрать нужные части модели (например с нужным наклоном), но это немного не то.

    вопрос в том, как наложить _битмапы_ на такую сложную поверхность, чтобы эти битмапы не искажались.
     
  4. carabus

    carabus Активный участник

    С нами с:
    24.08.2006
    Сообщения:
    166
    Симпатии:
    0
    Баллы:
    13
    видимо, вся проблема в том, что после дисплейса появляются новые вершины, ув координаты которых не были заданы в исходной, не смещенной поверхности, они конечно интерполируются после дисплейса, но карту то вы применяете к исходной поверхности...
    попробуйте от обратного- создайте дисплейс-мех отдельно, затекстурируйте его, а полученную карту (с большим разрешением) примените в другом дисплейсе уже к исходной поверхности, при этом надо быть уверенным, что при обоих операциях дисплейса генерируется одинаковое число вершин, ув координаты исходных и дисплейс- мехов тоже одинаковые (хотя это изврашение, на мой взгляд)...
     
  5. [hidden]

    [hidden] Пользователь сайта

    С нами с:
    08.04.2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    2
    ничего не понял :)
     
  6. carabus

    carabus Активный участник

    С нами с:
    24.08.2006
    Сообщения:
    166
    Симпатии:
    0
    Баллы:
    13
    ну... у вас ведь есть поверхность, к которой вы дисплейс применяете...
    ...вы наложили на нее координаты и приготовили карту битмап...
    ...но после дисплейса на каждую оригинальную вершину будут приходится несколько новых, каждая со своими текстурными координатами, которые высчитываются исходя из оригинальных (распихиваются между ними) вот тут-то и появится растяжение, так как в этой операции происходит не просто увеличение вершин, как при тесселейт, например, но и изменение геометрии...
    ...поэтому, если вам так надо идти этим путем, необходимо как-то выполнить одну предварительную операцию дисплейса для получения конечной сетки с конечными координатами-которую вы сможете затекстурировать без растяжек и получить текстуру высокого разрешения...

    ...а уж ее вы накладываете на исходную сетку и производите дисплейс...
    единственным условием всего этого является полная тождественность двух операций дисплейсов, того с которого вы карту получили , и того скоторым вы будете эту карту рендерить (я вам этого никак не могу гарантировать)...

    ...я думаю, что это единственный технический путь получить карту именно в вашем варианте, но сам бы ни за что не стал бы делать так(проще всего получить дисплейсом сетку и оттекстурированную передать рендеру, чем заставлять его самому высчитывать эту сетку с искажением тестуры)

    ...но ,может, я сам чего-то не понял..
     
  7. [hidden]

    [hidden] Пользователь сайта

    С нами с:
    08.04.2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    2
    может быть кто нибудь пример сможет привести как надо?
     
Модераторы: Артер

Поделиться этой страницей