Render.ru

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

BELLinSKY

Активный участник
Рейтинг
5
#1
Привет всем!
Мне нужно создать простейшую текстуру, которая зависит только от UV. Ну, например, R = U * 256, а G = V * 256, B = 0.
Может кто показать простейший пример создания/применения такой текстуры от начала до конца?
 

ASK'R

Активный участник
Рейтинг
5
#2
гугл помогает:
http://www.kxcad.net/autodesk/Autodesk_MAXScript_Reference_9/How_To_Create_a_Dalmatian_TextureMap_Plug_in.htm

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

megavitus

Активный участник
Рейтинг
7
#3
Нет, к сожалению на maxscript нельзя написать новую процедурную текстуру. Можно только свой UI переделать для стандартных. Пример с далматиновой TextureMap как раз об этом.
 

BELLinSKY

Активный участник
Рейтинг
5
#4
@ASK'R
Cпасибо, кэп! Только зачем выгугливать то, что есть в хелпе на диске?
И вопрос мой более чем конкретен, если что непонятно — ты спрашивай.

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

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#6
Если не вдаваться в создание собственных процедурных карт, то что ты выше описал делает стандартная карта Vertex Color
Нужно только указать нужный Map Channel, для первого канала соответственно нужно указать 1.
 

BELLinSKY

Активный участник
Рейтинг
5
#7
@kolts
Благодарю за направление.

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

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#8
Тебя значит не так понял, если нужно просто текстуру создать то просто создай битмаp и заполни нужными значениями смотри гл Bitmap Values и пример в конце, там в том числе и по упаковке целого в цвет есть.
 

BELLinSKY

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

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

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#10
Из за рендера у тебя и артифакты, я предлагал создать текстуру в помощью скрипта.
 
Сверху