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

Проекция диффузной карты но новую развертк

Тема в разделе "Общие вопросы", создана пользователем Кудря, 4 май 2013.

Модераторы: Артер
  1. Кудря

    Кудря Пользователь сайта

    С нами с:
    18.11.2012
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    2
    Уважаемое сообщество, в процессе работы возникла проблема, требующая вашего совета.
    В конкретику вдаваться пока не будем, пока всё на уровне абстракции. Модель предназначена для использования в игровом движке. Предположим, что мы долго её моделировали, потом долго разворачивали, потом упорно текстурировали и оказались довольны результатом. На выходе есть развернутая модель, диффузная карта, карта спекуляра, карта нормалей. И тут мы понимаем, что в модель необходимо добавить еще некоторые объекты. Моделим их, но места на развертке уже нету, поэтому необходимо двигать, масштабировать уже старую UVW, а это означает, что и текстуры тоже придется переделывать.
    Вопрос: Как спроецировать старые текстуры в исконном их виде на новую развертку? Ответ крутится около render to texture, но я так и не решил эту проблему.
    P.S. Подобную задачу решал, когда в наличии было 2 меша (кресло и пилот) с соответствующими текстурами, и их нужно было впихнуть в большую текстуру деталей самолета, швов видно не было, но было заметно, что карты немного изменились.
    Понятно, что можно прибегнуть к Multi/Sub-Object, но хотелось бы знать, как решать проблему, описанную выше (именно проецирование карт на новую развертку).
    Извините за длинную формулировку вопроса.
     

    Вложения:

    • 3104917.jpg
      3104917.jpg
      Размер файла:
      15,1 КБ
      Просмотров:
      71
    • 3104918.jpg
      3104918.jpg
      Размер файла:
      22,5 КБ
      Просмотров:
      64
    • 3104919.jpg
      3104919.jpg
      Размер файла:
      346,3 КБ
      Просмотров:
      62
  2. Листик

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

    С нами с:
    02.03.2012
    Сообщения:
    285
    Симпатии:
    0
    Баллы:
    12
    Этот скрипт не пробовали?
     
  3. diwian diwian

    diwian diwian Мастер

    С нами с:
    05.06.2010
    Сообщения:
    4.742
    Симпатии:
    74
    Баллы:
    83
    А не пробовал "пририсовать" к уже существующей текстуре, дополнительные элементы и сохранить с тем же именем?И опять таки
    , что мешает "затекстуировать" отдельно?

    P.S.Изображения в сообщении №1 очень маленькие(128х128) понять толком,что изображено довольно трудно.
     
  4. Кудря

    Кудря Пользователь сайта

    С нами с:
    18.11.2012
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    2
    Пририсовать к текстуре дополнительные элементы... Что имеется в виду при условии, что свободного места на текстурах уже нету, а размер текстур требуется сохранить прежним?
    Текстурить отдельно можно, не спорю, но это означает увеличение количества материалов в движке и, как следствие, снижение производительности (незначительное) за счет увеличения дроколлов. И хорошо, если только одно добавление к модели делается.
    По картинкам:
    1. Кресло пилота отдельно
    2. Пилот отдельно
    3. Кресло и пилот на другой развертке вместе с остальными элементами.

    Более подробное описание того, что было сделано с пилотами и креслом в прикрепленном изображении.
     

    Вложения:

    • 3105157.jpg
      3105157.jpg
      Размер файла:
      110,2 КБ
      Просмотров:
      74
  5. Кудря

    Кудря Пользователь сайта

    С нами с:
    18.11.2012
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    2
    Спасибо за ссылку. Это очень близко к правде. С этим уже можно работать. Скрипт использует render to texture. Но нужно еще узнать, c какими настройками идет этот рендер, чтобы иметь возможность проделать эти же операции вручную.
     
  6. Кудря

    Кудря Пользователь сайта

    С нами с:
    18.11.2012
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    2
    Хочу выразить ОГРОМНУЮ благодарность! Скрипт справляется со своей работой на все 100. Все вышеописанные проблемы с его помощью решаются. Были проблемы с выполнением скрипта на фотошопе с русским интерфейсом. Английская версия работает стабильно.
     
  7. Кудря

    Кудря Пользователь сайта

    С нами с:
    18.11.2012
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    2
    При необходимости проделать то же самое, что и скрипт, на геометрии должен быть модификатор UnwrapUVW со значением map channel 1 со старой разверткой. Поверх назначается следующий UnwrapUVW со значением map channel 2 с новой разверткой. На объект назначается материал с исходной картой в слоте диффузного цвета. у текстуры ставим map channel 1 (это означает, что текстура будет наложена по нашей исходной развертке). Выбираем объект, заходим в Rendering -> Render To Texture... Из настроек включаем Selected Object Settings -> Enabled, Projection Mapping -> Enabled. Кнопку Pick оставляем в покое - в таком случае объект будет проецироваться сам на себя. Включаем Object level и Sub-Object Levels. В разделе Mapping Coordinates используем Use Existing Channel, причем у Object выставляем Channel 2, а у Sub-Objects - Channel 1. Это означает, что проецирование текстуры будет происходить на новую развертку, а исходная текстура будет применена к модели с использованием старой развертки. В свитке Output добавляем новый Texture Element (Add... -> Diffuse Map), задаем необходимое место для сохранения, формат и размер выходного изображения. Нажимаем Render и ждем абсолютно недолгого просчета. В окне рендера будет Complete map, которая нам, можно сказать, не нужна, а на диске будет сохранен слой Diffuse, который и является необходимой нам текстурой.
    P.S. Тот же самый порядок действий при проецировании карт нормалей, спекуляра, глосса и всех, которые вы используете. Ставим их в материале объекта в диффузный слой и рендерим по тому же алгоритму.

    Может не самый оптимальный способ, но работает. Всем лучи добра!
     

    Вложения:

    • 3105877.jpg
      3105877.jpg
      Размер файла:
      431,8 КБ
      Просмотров:
      63
    • 3105878.jpg
      3105878.jpg
      Размер файла:
      223,3 КБ
      Просмотров:
      64
    • 3105879.jpg
      3105879.jpg
      Размер файла:
      327,7 КБ
      Просмотров:
      77
    • 3105880.jpg
      3105880.jpg
      Размер файла:
      306,9 КБ
      Просмотров:
      70
Модераторы: Артер

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