Привет всем!
Мне нужно создать простейшую текстуру, которая зависит только от UV. Ну, например, R = U * 256, а G = V * 256, B = 0.
Может кто показать простейший пример создания/применения такой текстуры от начала до конца?
Нет, к сожалению на maxscript нельзя написать новую процедурную текстуру. Можно только свой UI переделать для стандартных. Пример с далматиновой TextureMap как раз об этом.
@ASK'R
Cпасибо, кэп! Только зачем выгугливать то, что есть в хелпе на диске?
И вопрос мой более чем конкретен, если что непонятно — ты спрашивай.
@megavitus
Ну мне вряд ли подойдет какой-то из материалов для модификации под описанную задачу.
Тогда такой вопрос — а каким способом это можно решить, если не с помощью maxscript?
Например, можно ли написать шейдер и как-то применить его для рендера в 3ds max?
Если не вдаваться в создание собственных процедурных карт, то что ты выше описал делает стандартная карта Vertex Color
Нужно только указать нужный Map Channel, для первого канала соответственно нужно указать 1.
@Savin Denis
Эти подсчеты я для примера дал. На самом деле точность UV mapping-а в 1/256 ширины карты меня не устраивает. А именно такую точность я имею занимая лишь два 8-битных канала R и G.
Вот я и решил использовать еще и канал B. Одну половину (4 бита) я отдам на U, вторую на V. Вот и выйдет, что я в трех каналах зафиксирую UV координаты с точностью уже 1/4096. Что намного лучше.
Вот такой изврат ) 16 бит на канал Шарикову не предлагать — flash с такими изображениями непосредственно не работает, а возиться со спеками... скорее лень )
Тебя значит не так понял, если нужно просто текстуру создать то просто создай битмаp и заполни нужными значениями смотри гл Bitmap Values и пример в конце, там в том числе и по упаковке целого в цвет есть.
Так и сделал. 16 раз повторил градиент в красном канале и подложил под него от 0 до 15 в синем. Получилась, например, карта для U.
Отрендерил, запустил Pixel Bender и... вроде бы все как надо — он корректно собрал по каналам нужные данные, но по всей площади пошел мусор однопиксельный. Едва отличается по яркости. Но этот мусор отлично виден при текстурировании.
Не возьмусь утверждать, что именно глючит. Формула простая. В фотошопе мог накосячить — проверял вроде. Рендер — хорошо, если он интерполирует в модели RGB.
Короче не знаю куда грешить. Времени на поиски нет. Сейчас в ход пошла brute force =) рендерю в максе по слайду на текстуру.
В любом случае спасибо за советы/наводки — я обязательно вернусь к этому вопросу.
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
BELLinSKY
Мне нужно создать простейшую текстуру, которая зависит только от UV. Ну, например, R = U * 256, а G = V * 256, B = 0.
Может кто показать простейший пример создания/применения такой текстуры от начала до конца?
ASK'R
http://www.kxcad.net/autodesk/Autodesk_MAXScript_Reference_9/How_To_Create_a_Dalmatian_TextureMap_Plug_in.htm
за вас вашу задачу делать не будут
конкретные вопросы сюда и вам помогут
Виталий Смольянинов (megavitus)
BELLinSKY
Cпасибо, кэп! Только зачем выгугливать то, что есть в хелпе на диске?
И вопрос мой более чем конкретен, если что непонятно — ты спрашивай.
@megavitus
Ну мне вряд ли подойдет какой-то из материалов для модификации под описанную задачу.
Тогда такой вопрос — а каким способом это можно решить, если не с помощью maxscript?
Например, можно ли написать шейдер и как-то применить его для рендера в 3ds max?
kolts
Savin Denis
Нужно только указать нужный Map Channel, для первого канала соответственно нужно указать 1.
BELLinSKY
Благодарю за направление.
@Savin Denis
Эти подсчеты я для примера дал. На самом деле точность UV mapping-а в 1/256 ширины карты меня не устраивает. А именно такую точность я имею занимая лишь два 8-битных канала R и G.
Вот я и решил использовать еще и канал B. Одну половину (4 бита) я отдам на U, вторую на V. Вот и выйдет, что я в трех каналах зафиксирую UV координаты с точностью уже 1/4096. Что намного лучше.
Вот такой изврат ) 16 бит на канал Шарикову не предлагать — flash с такими изображениями непосредственно не работает, а возиться со спеками... скорее лень )
Savin Denis
BELLinSKY
Отрендерил, запустил Pixel Bender и... вроде бы все как надо — он корректно собрал по каналам нужные данные, но по всей площади пошел мусор однопиксельный. Едва отличается по яркости. Но этот мусор отлично виден при текстурировании.
Не возьмусь утверждать, что именно глючит. Формула простая. В фотошопе мог накосячить — проверял вроде. Рендер — хорошо, если он интерполирует в модели RGB.
Короче не знаю куда грешить. Времени на поиски нет. Сейчас в ход пошла brute force =) рендерю в максе по слайду на текстуру.
В любом случае спасибо за советы/наводки — я обязательно вернусь к этому вопросу.
Savin Denis