Render.ru

Вопросница 5. Сюда скидываются все вопросы 5

Статус
Закрыта.

k3b3

Активный участник
Рейтинг
16
Подскажите по майе и вирею очень надо. Не могу разобраться с нормал бампом, как регулировать степень усиления бампа? Через bump2d не работает. При подключении текстуры напрямую и выборе normal tangient map все настройки map depth становятся неактивными
 

Вложения

Manowar

Пользователь сайта
Рейтинг
2
Здравствуйте. Вопрос по поводу анимации. Создал контрольку для джоинта (палец). Для контрольки создал два новых атрибута для сгибания по одной оси. После этого задал им связь через Connection Editor. После этого пытаюсь сделать анимацию ставлю ключ на первый фрейм с значениями 0,0 для каждого из атрибутов. Далее выбираю след. фрейм, ставлю значения 10;10 и ставлю ключ. В итоге значения второго ключа присваиваются к первому и у обоих атрибутов теперь значения 10;10. Как можно решить эту проблему?
 

Tiens

Пользователь сайта
Рейтинг
2
Доброе время суток, нужен совет, делаю дубликат объекта уже с готовой юв, копия с нормальной юв, как только я комбайгн делаю всех объектов, то они сразу на юв оверлапяться, Фриз не помогает, ресет скидывает на оригинал
 

4i4ikov

Знаток
Рейтинг
37
Привет! Может есть у кого скрипт по типу этого - http://polycount.com/discussion/61998/maya-select-edges-in-crevices. Нужно, чтобы на объекте эджи, которые впуклые автоматом выбирались. Скрипт выше к сожалению не хочет работать на последней майке.
Этот скрипт https://sites.google.com/site/clydough/cly_hillOrValley.zip ?
Пофиксил и ускорил заодно:
Код:
global proc cly_hillOrValley_fixopt(){
  string $edgesPLCC[] = `polyListComponentConversion -te`;
  if(!size($edgesPLCC)) return;
  string $edges[] = `filterExpand -sm 32 -expand 1 $edgesPLCC`;

  int $progressSize = `size( $edges ) `, $progressUpdate = 0;
  string $progressWindow = "cly_hillValley_progressWindow";
  if ( `window -exists $progressWindow` )
    deleteUI $progressWindow;
  window -titleBar 0 -resizeToFitChildren 1 $progressWindow;
    columnLayout;
      progressBar -maxValue $progressSize -width 500 cly_hillValley_progress;
  showWindow $progressWindow;

  float $THRESHOLD = 1.5;  // tweak me fer precision
  string $SEL[];
  for ( $e in $edges ) {
    if (!($progressUpdate++%100)) progressBar -edit -step 100 cly_hillValley_progress;

    string $faceWingsPLCC[] = `polyListComponentConversion -tf $e`;
    string $faceWings[] = `filterExpand -sm 34 -expand 1 $faceWingsPLCC`;
        if (size($faceWings) < 2) continue;    // fix
    string $normalWingStrngA[] = `polyInfo -fn $faceWings[0]`;
    string $normalWingStrngB[] = `polyInfo -fn $faceWings[1]`;

    string $wingA[];
    string $wingB[];
    tokenize $normalWingStrngA[0] $wingA;
    tokenize $normalWingStrngB[0] $wingB;

    float $castWingA[];
    float $castWingB[];
    $castWingA[0] = $wingA[2];
    $castWingA[1] = $wingA[3];
    $castWingA[2] = $wingA[4];
    $castWingB[0] = $wingB[2];
    $castWingB[1] = $wingB[3];
    $castWingB[2] = $wingB[4];

    vector $a = <<$castWingA[0],$castWingA[1],$castWingA[2]>>;
    vector $b = <<$castWingB[0],$castWingB[1],$castWingB[2]>>;

    float $angle1 = angle ( $a, $b );
    float $degrees = rad_to_deg($angle1);
    if ($degrees < $THRESHOLD) continue;

    float $faceCenter[] = {};
    for ( $f in $faceWings ) {
      string $vrtsPLCC[] = `polyListComponentConversion -tv $f`;
      string $vrts[] = `filterExpand -sm 31 -expand 1 $vrtsPLCC`;

      float $pos[] = {};
      for ( $v in $vrts ){
        float $gitPos[] = `xform -q -ws -t $v`;
        $pos[0] += $gitPos[0];
        $pos[1] += $gitPos[1];
        $pos[2] += $gitPos[2];
      }
      $faceCenter[size($faceCenter)] = $pos[0] / size($vrts);
      $faceCenter[size($faceCenter)] = $pos[1] / size($vrts);
      $faceCenter[size($faceCenter)] = $pos[2] / size($vrts);
    }
    vector $facedifference = <<
      ($faceCenter[0] -$faceCenter[3]),
      ($faceCenter[1] -$faceCenter[4]),
      ($faceCenter[2] -$faceCenter[5])>>;
    float $dotDifference = dot($a, $facedifference);
    if ($dotDifference <= 0) $SEL[size($SEL)] = $e;
  }
  select $SEL;
  deleteUI $progressWindow;
}

cly_hillOrValley_fixopt();
 
Последнее редактирование:

2manoff

Активный участник
Рейтинг
14
Подскажите пожалуйста. Знаю проблема популярная, но подходящего работающего решения не нашел. Не отображается текстура к объекту во вьюпорте (на остальных объектах все нормально). При рендере в ментал рей текстура отображается, а снизу появляется строка "empty or corrupted uv set map1 detected". Если сделать по новой автомэппинг на проблемном объекте, текстура во вьюпорте становится видна, но лежит уже криво. Есть ли решение данной проблемы, уж больно не хочется по новой возится с составлением UV карты?!
проблема в том, что на объекте несколько ЮВ-сетов. в окне UV Editor в меюшке UV Sets находишь нужный тебе сет, потом выделив все ЮВ в меню Poligons>Copy UVs to UV Set копируешь их в самый верхний сет
 

Whitecat

Активный участник
Рейтинг
13
Подскажите в каком лучше формате сохранять свои "шейдера" на экспорт? Также вопрос актуален для сторонних рендеров.
Под шейдерами понимается, просто миксы из карт и настроек.
 

Whitecat

Активный участник
Рейтинг
13
Щас этим и пользуюсь, просто думал что есть специальный формат.

Общий вопрос:
Подскажите есть скрипт, который как в максе делает полигоны не квадратные а ромбовидные ?
 

Bo3Me3DIE

Мастер
Рейтинг
101
Подскажите есть скрипт, который как в максе делает полигоны не квадратные а ромбовидные ?
Так?
Если да, то чамфер вертексов на 0.5 и потом велд. Скрипты не искал.
 

Вложения

2manoff

Активный участник
Рейтинг
14
Всем привет! Подскажите, возможно ли после фриз трансформа определить значения каналов транслейт относительно нуля мировых координат?
 

Bo3Me3DIE

Мастер
Рейтинг
101
Всем привет! Подскажите, возможно ли после фриз трансформа определить значения каналов транслейт относительно нуля мировых координат?
Не задавался подобным вопрос, наверняка есть другой способ, но первое, что в голову пришло - приснапить локатор к точке пивота объекта.
 

Вложения

  • 22,7 КБ Просмотров: 263

2manoff

Активный участник
Рейтинг
14
Не задавался подобным вопрос, наверняка есть другой способ, но первое, что в голову пришло - приснапить локатор к точке пивота объекта.
в принципе я так и делаю, но в сцене несколько сотен объектов, и проделывать такую операцию с каждым, очень длительный процесс, может есть какой скрипт?
 

Lemieux

Знаток
Рейтинг
58
Всем привет! Подскажите, возможно ли после фриз трансформа определить значения каналов транслейт относительно нуля мировых координат?
Взять значения obj.rotatePivot или obj.scalePivot (getAttr).

А скрипт сам напиши.
Там всего ls -sl, потом цикл с getAttr и присвоением этих данных куда надо, в цикле или вне его.
 
Рейтинг
327
Там всего ls -sl, потом цикл с getAttr и присвоением этих данных куда надо, в цикле или вне его.
это объяснение для особо одаренных, видимо. Реально если человек разбирается - то справиться без соплей. А если не разбирается и спрашивает - то чтоб понять это, должен быть гипер умным
 
Рейтинг
327
все я понял - у вас с
2manoff
особая связь. =) Вы понимаете с полуслова друг друга
 
Последнее редактирование:
Статус
Закрыта.
Сверху