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

Place2DTexture to prman

Тема в разделе "RenderMan", создана пользователем -, 28 окт 2000.

Модераторы: Moderator.
  1. Guest

    Очередной глупый вопрос: как передать в Slim параметры тайлинга, установленные в майке для какой-либо текстуры (place2DTexture)? Допустим, у меня в Майке куча НУРБСов, на которые я накидал _один_и_тот_же_ материал, но с разным тайлингом текстуры. И что, теперь в Слиме все это повторять, только еще и по каждому НУРБСу делать свой материал со своим тайлингом?
     
  2. Guest

    Проверить сейчас немогу тачка париться
    И вообще незнаю что менее гемороидально....
    В MEL скрипте........... (желание не пропало?):
    Мел командой (addAttr кажеться) попробуй добавить стринговую
    переменную (place2d) объекту на шейп уровне:
    MySphere1 - MySphereShape1.place2d
    MySphere2 - MySphereShape2.place2d
    MySphere3 - MySphereShape3.place2d
    А потом командой setAttr поприсваивай им имена майских плэйсов
    которые к ним прикручены (самая мрачтная часть).
    В слиме сделай один материал с текстурой в манифолд которой запихай
    MayaUV в котором переключи матрицы в режим экспрэшн и пропиши там:
    [st0 "$OBJNAME.place2d"] для st0
    [st1 "$OBJNAME.place2d"] для st1
    Может и сработает...
    Хотя все как то сложно выглядит и вообще я не уверен.
     
  3. Guest

    Почему иногда(да даже и практически всегда) текстуры slim'овских шейдерах ложатся Не на весь нурб, а покрывают только часть его? Или например, почему colour ramp, положенный на торус дает черную "щель" в местах стыка?
     
  4. Guest

    Потомучто tx - больше чем просто текстура . Он несет еще кучу дополнительной инфы.
    Когда ты конвертиш в тх нужно обязательно указывать как конвертить.
    Если речь о pereodic объектах (торус, сфера) или текстуру предполагаеться тайлить то режим нужно ставить переодик (по умолчанию он кламп)
    Чтобы текстура легла на весь нурбс нужно так же задавать режим ее
    ресайза. В данном случае round- или up- (вовсяком случае я им пользуюсь)
    Подробнее читай в доке по txmake.
     
  5. Guest

    Wow!!! Это как же ты до этого дотумкал? Я как-то даже напугался :)
     
  6. Guest

    Месяц тому имела место быть глупая попытка
    заточить симулятор GI под мтор
    (популярный ныне мел когда сотня лампочек на полусфере самплит
    цвет текстуры этои полусферы и отбрасывают тени )
    На эту сотню distant light - ов нужно было подцепить 1 distant light шейдер на который подцепить 1 shadow map генератор которому
    нужно было подсунуть имя камеры (mtor coordinate sistem - поскольку речь о
    distant light) с которой это шэдов генерить (каждый distant light имел свою приатаченую к нему CoordSistem). Рискнул попробовать и получилось. Но оно того не стоило. При мапке 128х128 время просчета 100 таких мапок около 30 мин. Хотя результат ничо.
    Я не понял эта штука у тебя заработала?
    Меня одолевают сомнения по поводу кавычек. Поймет ли слим.
    В моем случае все проще. Просто в поле камеры я писал $OBJNAME.ShdGen
     
  7. Guest

    Не. я даже пробовать не стал. Мне надо сначала разобраться во всем этом, а не писать параметры "как обезьяна" - не понимая, что откуда растет. А сейчас экспериментировать некогда.
     
  8. Guest

    Пардон я немного прогнал...
    Нужно подставлять:
    [st0 "[mel "getAttr $OBJNAME.Place2d"]"]
    [st1 "[mel "getAttr $OBJNAME.Place2d"]"]
    Только что проверил как было у меня с тенями...
     
  9. Guest

    Да, я где-то в доке такое видел. Но в данном случае я вышел из ситуации так: мне надо было навесить одинаковые обои на несколько стен совершенно разного размера, я поставил MTOR coordinate system вертикально и под углом 45 градусов к стенам, сжал ее по X на 0.71 и сделал в Слиме Projection Manifold. А в параметре этого Projection прописал имя этой mtorCoordSysShape. Для прямых стен, расположенных вдоль осей координат - по моему, самое простое решение, или есть еще варианты?..
     
  10. Guest

    Блин.....а зачем такой гемморой-та?
    Можно же просто:

    [st0 place2dTextureN]
    [st1 place2dTextureN], где N - номер ноды......то есть просто подставляется имя texture placement'а......это ж написано в описалове к MayaUV......
     
  11. Guest

    Ага. Спасибо.
     
  12. Guest

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

    Ну, их на самом деле не 4, а около десятка... И сложно не продублировать, а синхронизировать их изменения, потому, что никогда не знаешь, что скажет про эти материалы художник, и как придется их менять при изменении освещения.
     
Модераторы: Moderator.

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