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

Создание процедурной текстуры с помощью maxscript

Тема в разделе "MAXScript", создана пользователем BELLinSKY, 14 апр 2011.

Модераторы: Savin Denis
  1. BELLinSKY

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

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    Привет всем!
    Мне нужно создать простейшую текстуру, которая зависит только от UV. Ну, например, R = U * 256, а G = V * 256, B = 0.
    Может кто показать простейший пример создания/применения такой текстуры от начала до конца?
     
  2. ASK'R

    ASK'R Активный участник

    С нами с:
    18.03.2008
    Сообщения:
    94
    Симпатии:
    0
    Баллы:
    5
    гугл помогает:
    http://www.kxcad.net/autodesk/Autodesk_MAXScript_Reference_9/How_To_Create_a_Dalmatian_TextureMap_Plug_in.htm

    за вас вашу задачу делать не будут
    конкретные вопросы сюда и вам помогут
     
  3. megavitus

    megavitus Пользователь сайта

    С нами с:
    07.06.2006
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    2
    Нет, к сожалению на maxscript нельзя написать новую процедурную текстуру. Можно только свой UI переделать для стандартных. Пример с далматиновой TextureMap как раз об этом.
     
  4. BELLinSKY

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

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    @ASK'R
    Cпасибо, кэп! Только зачем выгугливать то, что есть в хелпе на диске?
    И вопрос мой более чем конкретен, если что непонятно — ты спрашивай.

    @megavitus
    Ну мне вряд ли подойдет какой-то из материалов для модификации под описанную задачу.
    Тогда такой вопрос — а каким способом это можно решить, если не с помощью maxscript?
    Например, можно ли написать шейдер и как-то применить его для рендера в 3ds max?
     
  5. kolts

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

    С нами с:
    05.02.2008
    Сообщения:
    448
    Симпатии:
    0
    Баллы:
    17
    MetaSL язык написания шейдеров. Mentall mill - программа
     
  6. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Если не вдаваться в создание собственных процедурных карт, то что ты выше описал делает стандартная карта Vertex Color
    Нужно только указать нужный Map Channel, для первого канала соответственно нужно указать 1.
     
  7. BELLinSKY

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

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    @kolts
    Благодарю за направление.

    @Savin Denis
    Эти подсчеты я для примера дал. На самом деле точность UV mapping-а в 1/256 ширины карты меня не устраивает. А именно такую точность я имею занимая лишь два 8-битных канала R и G.
    Вот я и решил использовать еще и канал B. Одну половину (4 бита) я отдам на U, вторую на V. Вот и выйдет, что я в трех каналах зафиксирую UV координаты с точностью уже 1/4096. Что намного лучше.
    Вот такой изврат ) 16 бит на канал Шарикову не предлагать — flash с такими изображениями непосредственно не работает, а возиться со спеками... скорее лень )
     
  8. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Тебя значит не так понял, если нужно просто текстуру создать то просто создай битмаp и заполни нужными значениями смотри гл Bitmap Values и пример в конце, там в том числе и по упаковке целого в цвет есть.
     
  9. BELLinSKY

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

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    Так и сделал. 16 раз повторил градиент в красном канале и подложил под него от 0 до 15 в синем. Получилась, например, карта для U.
    Отрендерил, запустил Pixel Bender и... вроде бы все как надо — он корректно собрал по каналам нужные данные, но по всей площади пошел мусор однопиксельный. Едва отличается по яркости. Но этот мусор отлично виден при текстурировании.
    Не возьмусь утверждать, что именно глючит. Формула простая. В фотошопе мог накосячить — проверял вроде. Рендер — хорошо, если он интерполирует в модели RGB.
    Короче не знаю куда грешить. Времени на поиски нет. Сейчас в ход пошла brute force =) рендерю в максе по слайду на текстуру.

    В любом случае спасибо за советы/наводки — я обязательно вернусь к этому вопросу.
     
  10. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Из за рендера у тебя и артифакты, я предлагал создать текстуру в помощью скрипта.
     
Модераторы: Savin Denis

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