Render.ru

Place2DTexture to prman

#1
Очередной глупый вопрос: как передать в Slim параметры тайлинга, установленные в майке для какой-либо текстуры (place2DTexture)? Допустим, у меня в Майке куча НУРБСов, на которые я накидал _один_и_тот_же_ материал, но с разным тайлингом текстуры. И что, теперь в Слиме все это повторять, только еще и по каждому НУРБСу делать свой материал со своим тайлингом?
 
#2
Проверить сейчас немогу тачка париться
И вообще незнаю что менее гемороидально....
В MEL скрипте........... (желание не пропало?):
Мел командой (addAttr кажеться) попробуй добавить стринговую
переменную (place2d) объекту на шейп уровне:
MySphere1 - MySphereShape1.place2d
MySphere2 - MySphereShape2.place2d
MySphere3 - MySphereShape3.place2d
А потом командой setAttr поприсваивай им имена майских плэйсов
которые к ним прикручены (самая мрачтная часть).
В слиме сделай один материал с текстурой в манифолд которой запихай
MayaUV в котором переключи матрицы в режим экспрэшн и пропиши там:
[st0 "$OBJNAME.place2d"] для st0
[st1 "$OBJNAME.place2d"] для st1
Может и сработает...
Хотя все как то сложно выглядит и вообще я не уверен.
 
#3
Почему иногда(да даже и практически всегда) текстуры slim'овских шейдерах ложатся Не на весь нурб, а покрывают только часть его? Или например, почему colour ramp, положенный на торус дает черную "щель" в местах стыка?
 
#4
Потомучто tx - больше чем просто текстура . Он несет еще кучу дополнительной инфы.
Когда ты конвертиш в тх нужно обязательно указывать как конвертить.
Если речь о pereodic объектах (торус, сфера) или текстуру предполагаеться тайлить то режим нужно ставить переодик (по умолчанию он кламп)
Чтобы текстура легла на весь нурбс нужно так же задавать режим ее
ресайза. В данном случае round- или up- (вовсяком случае я им пользуюсь)
Подробнее читай в доке по txmake.
 
#6
Месяц тому имела место быть глупая попытка
заточить симулятор GI под мтор
(популярный ныне мел когда сотня лампочек на полусфере самплит
цвет текстуры этои полусферы и отбрасывают тени )
На эту сотню distant light - ов нужно было подцепить 1 distant light шейдер на который подцепить 1 shadow map генератор которому
нужно было подсунуть имя камеры (mtor coordinate sistem - поскольку речь о
distant light) с которой это шэдов генерить (каждый distant light имел свою приатаченую к нему CoordSistem). Рискнул попробовать и получилось. Но оно того не стоило. При мапке 128х128 время просчета 100 таких мапок около 30 мин. Хотя результат ничо.
Я не понял эта штука у тебя заработала?
Меня одолевают сомнения по поводу кавычек. Поймет ли слим.
В моем случае все проще. Просто в поле камеры я писал $OBJNAME.ShdGen
 
#7
Не. я даже пробовать не стал. Мне надо сначала разобраться во всем этом, а не писать параметры "как обезьяна" - не понимая, что откуда растет. А сейчас экспериментировать некогда.
 
#8
Пардон я немного прогнал...
Нужно подставлять:
[st0 "[mel "getAttr $OBJNAME.Place2d"]"]
[st1 "[mel "getAttr $OBJNAME.Place2d"]"]
Только что проверил как было у меня с тенями...
 
#9
Да, я где-то в доке такое видел. Но в данном случае я вышел из ситуации так: мне надо было навесить одинаковые обои на несколько стен совершенно разного размера, я поставил MTOR coordinate system вертикально и под углом 45 градусов к стенам, сжал ее по X на 0.71 и сделал в Слиме Projection Manifold. А в параметре этого Projection прописал имя этой mtorCoordSysShape. Для прямых стен, расположенных вдоль осей координат - по моему, самое простое решение, или есть еще варианты?..
 
#10
Блин.....а зачем такой гемморой-та?
Можно же просто:

[st0 place2dTextureN]
[st1 place2dTextureN], где N - номер ноды......то есть просто подставляется имя texture placement'а......это ж написано в описалове к MayaUV......
 
#12
Блин...так вопрос то был про целую кучу в которой чуть ли не каждый имеет
свой place2d
В моем понимании "целая куча" это примерно 107 штук а "чуть ли не каждый"
это 86. Или я перебрал?
Геморой - это продублить 86 раз материал+текстуру+mayaUV и потом
для каждого UV писать руками имя плэйсовой ноды а когда силы начнут покидать а разум мутиться еще и поназначать эти материалы и не ошибиться.
Во всем виновата вредная моя привычка из мухи делать слона. Сори.
А если речь о 4 стенах то конечно проще ручками, только (кавыки забыл)
[st0 "place2dTextureN"]
[st1 "place2dTextureN"] где N - номер ноды
 
#13
Ну, их на самом деле не 4, а около десятка... И сложно не продублировать, а синхронизировать их изменения, потому, что никогда не знаешь, что скажет про эти материалы художник, и как придется их менять при изменении освещения.
 
Сверху