2ой день не дает покоя проблема с текстурированием беревенчатого дома.
Если для бруса можно нарезать текстуры, создать мульти мат, накинуть на объект модификатор для рандомного наложения + uvw подогнать, то текстура ложится нормально.
А при той же операции с бревнами, текстура нереально растягивается по горизонтали при uvw box, при цилиндрическом по вертикали.
Может я моменты какие упустил =)
Вариант с анврапом (каждую стену развернуть и наложить текстуру потом) - долго.
Текстурить каждое бревно и складывать стены из них - долго.
Склеить под десяток текстур, что бы наложить на всю стену - из всех долгих вариантов самый быстрый, но все равно долговато.
Может кто поделится? Как делать такое быстро)
P/s/ кстати сейчас в ссылке заметил знакомый ник xpp_nd_ruphus может как раз автор и поделится советом)
На сайте c 29.05.2011
Сообщений: 1748
по ссылке с Яндекса
писал для 2009го скрипт, он цилиндрические uvw накладывает на объекты. только брёвна должны быть отдельными объектами.
на 2012 не работает.
for obj in selection do
(
if isKindOf obj geometryclass then
(
addmodifier obj (uvwmap ())
obj.modifiers[#UVWMapping].maptype = 1
obj.modifiers[#UVWMapping].axis = 0
)
)
и еще один, наверное для торцов
for obj in selection do
(
if isKindOf obj geometryclass then
(
obj.modifiers[#UVWMapping].height = 300
)
)
давно это было, года четыре назад, ничего не помню, совсем отупел.
если допилишь под 2012, кинь сюда пожалста, пригодится.
писал для 2009го скрипт, он цилиндрические uvw накладывает на объекты. только брёвна должны быть отдельными объектами.
на 2012 не работает.
for obj in selection do
(
if isKindOf obj geometryclass then
(
addmodifier obj (uvwmap ())
obj.modifiers[#UVWMapping].maptype = 1
obj.modifiers[#UVWMapping].axis = 0
)
)
и еще один, наверное для торцов
for obj in selection do
(
if isKindOf obj geometryclass then
(
obj.modifiers[#UVWMapping].height = 300
)
)
давно это было, года четыре назад, ничего не помню, совсем отупел.
если допилишь под 2012, кинь сюда пожалста, пригодится.
Если есть какой-то вводный урок в написание скриптов, то напишу без проблем) логика есть)
На сайте c 29.05.2011
Сообщений: 1748
по ссылке с Яндекса
во, а на 2011 пашет, накладывает на каждый объект в выделении цилиндрические координаты. т.е. остаётся только axis менять и накладывать на группы брёвен. потом брёвна рандомишь по matid, потом мультисаб, или вообще какой-то рандомизатор был, который рандомно позволял u v w в мапе двигать.
торцы, соотв, отдельно, лучше деаттачить заранее, ну и на каждый таким же образом наложить плоский uvwmap, далее тож самое.
значит что-то там в 2012 они с максскриптом накрутили.
ЗЫ. короче, смысл скрипта в том, что он в выделении перебирает объекты и на каждый накладывает uvwmap, потом меняет тип на цилиндрический (maptype = ***), потом меняет ось (axis=***).
посмотри хелп макскриптовский, я по нему писал. сейчас просто ни времени ни желания нету копать это всё, скрипты не писал года два уж точно, всё забыл.
Я делаю следующим образом. Выстраиваю сначала дом из цилиндров. Затем эти цилиндры конвертирую в Editable Poly. Затем создаю мульти мат, где 1,2 - торцы, 3 - ствол бревна (обычно по умолчанию ID именно такие, если конвертнуть цилиндр в полик). Затем UVW box для ствола бревна (3 ID). Делаю четыре варианта и копирую по остальным бревнам. Далее снова Editable Poly для оттекстурированных бревен. Далее текстурирую торцы. Выбираю оба торца у одного бревна и UVW Plane. Далее копирую UNW map. Делаю несколько вариантов. И в конце также Editable Poly. По времени получается где-то от половины рабочего дня до целого дня. Но результат мне нравится. Получается примерно следующее. Да еще чаще всего использую текстуры от эверов из Archinteriors_11 сцена 6 pine и торцы. Если надо с помощью color correct меняю цвет дерева.
http://clip2net.com/s/4RUK7h
Оказывается зря панику поднял) Мой первоначальный способ сработал нормально. Просто кое-кто "умный" залез в uvw и потыкал галочки =))
Я привык что все по делу, и не задумался даже об этом.
На сайте c 29.05.2011
Сообщений: 1748
по ссылке с Яндекса
вообще, по-хорошему надо бы скрипт нормальный написать. такое можно автоматом спокойно делать сразу для всех брёвен.
скрипт берет по очереди каждое бревно, смотрит длины по каждой оси, выбирает где длина, а где диаметры, далее в соотв. с этим накладывает цилиндрический uvw map, рандомит брёвна по matid, а потом создаёт мат с мапой, которая с флоргеном шла, где в одну мапу можно несколько текстур навесить и она рандомно их по id покидает. тем более половина скрипта уже написана