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

Надеюсь на помощь знающих

Тема в разделе "Maya", создана пользователем Shtuka-tur, 29 июл 2008.

Модераторы: Dark™, Skif
  1. Shtuka-tur

    Shtuka-tur Пользователь сайта

    С нами с:
    21.03.2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    2
    Надеюсь на помощь знающих. Не так давно начал изучать Maya 7, делаю я это с помощью одной из многочисленных книг, в которой материал подается на примере построения помещения с мебелью и различными архитектурными деталями. Достаточно долгое время все шло хорошо, но вдруг теперь уже и не вспомнить, что это был за вдруг, начались проблемы с Extrude кривой профиля по кривой пути. Выражалось это в том, что вытягиваемая поверхность никак не хотела приобретать нужную форму. На форуме этот вопрос уже ранее обсуждался, но решения как я понял, так и не нашлось. Я решал его перетаскиванием точек в нужные места. Но на этом мои проблемы не кончились, так как произошел еще один «вдруг». Теперь конкретно в этой сцене я не могу ни создать объект, ни дублировать его, точнее сказать все создается и дублируется только ни в одном виде вновь созданные объекты не видно. Их можно перемещать, масштабировать, но не возможно увидеть результат. И если проблемы с Extrude у меня теперь в любой сцене Maya, то невидимые объекты только в конкретной сцене. И эта проблема обсуждалась, тогда Greef помогло «Edit -> dubliucate special (там, в опциях поставить dublicate input graph)». Но у меня в Edit нет dubliucate special, есть просто dubliucate и там, в опциях я ставил галочку напротив dublicate input graph, но это не помогло. Пожалуйста, посмотрите мою сцену, лежать в течение 30 дней она будет на WebFile.ru № 2121375.
     
  2. tadpole

    tadpole Знаток

    С нами с:
    12.08.2005
    Сообщения:
    712
    Симпатии:
    1
    Баллы:
    24
    укструд и остальные операции работают нормально в этой сцене.
    попробуй удалить папку майя 7 из моих докумкнтов..
     
  3. Shtuka-tur

    Shtuka-tur Пользователь сайта

    С нами с:
    21.03.2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    2
    Спасибо tadpole, удаление папки maya помогло, но только с dublicate. Проблема с Extrude остались. Вот как это выглядит у меня
     

    Вложения:

    • 808275.jpg
      808275.jpg
      Размер файла:
      179,4 КБ
      Просмотров:
      83
    • 808276.jpg
      808276.jpg
      Размер файла:
      170,7 КБ
      Просмотров:
      83
    • 808277.jpg
      808277.jpg
      Размер файла:
      165,6 КБ
      Просмотров:
      79
  4. Shtuka-tur

    Shtuka-tur Пользователь сайта

    С нами с:
    21.03.2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    2
    А я вот что еще у себя нашел. После применения extrude к двум кривым, дополнительно с поверхностью, появляется окружность с двумя точками, перемещая которые с созданной поверхностью можно таких чудес натворить. Я так понимаю мои проблемы из-за этого. Похоже, я, что-то включил, как вернуть extrude в нормальный режим?
     

    Вложения:

    • 809915.jpg
      809915.jpg
      Размер файла:
      195,1 КБ
      Просмотров:
      79
  5. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Shtuka-tur, это никакой не "вдруг". То, что создает extrude, имеет начало и конец. Начальная позиция вершин задается четко по нормали профиля, финальная позиция просто замыкается с начальной. Поэтому сделай поли модель на половине пути, скопируй, отзеркаль и тп, сделай merge.
    Настройки скидываются череp Edit -> Reset Settings.
     
  6. Shtuka-tur

    Shtuka-tur Пользователь сайта

    С нами с:
    21.03.2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    2
    Я понимаю, что можно получить то, что мне нужно разными путями, но проблема для меня состоит в том, что раньше вытянуть замкнутую кривую профиль по замкнутой кривой пути получалось с предсказуемым результатом. Теперь это неполучается (вытягиваемая поверхность не совпадает даже с кривой пути) и это меня нервирует т.к. применять extrude возможно придется и для более сложных объектов, а получать непредсказуемый результат в таких случаях совсем не хочется. Моя Maya как мне кажется, немножко больна, а как ее полечить я не знаю. Пробовал переустанавливать, не помогло.
     
  7. Fabis

    Fabis Активный участник

    С нами с:
    26.10.2006
    Сообщения:
    454
    Симпатии:
    0
    Баллы:
    16
    А поиском не пробовали пользоваться? Клик
     
  8. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Надо сначала искать проблему в себе, а потом уже майю винить =)
     
  9. Hasan Akniyev

    Hasan Akniyev Активный участник

    С нами с:
    31.03.2006
    Сообщения:
    195
    Симпатии:
    0
    Баллы:
    11
    ИМХО все таки надо винить майю, потому что если существует решение, оно наверняка давно было бы всем известно.
    Я решил эту проблему, правда далеко не полностью, написанием скрипта, который экструдит кривую по пути, расположенному в плоскости, параллельной xOz. Кривая пути должна быть первой степени. Скрипт простой, но если кому нужно могу выложить)
     

    Вложения:

    • 810960.jpg
      810960.jpg
      Размер файла:
      56,8 КБ
      Просмотров:
      93
  10. Shtuka-tur

    Shtuka-tur Пользователь сайта

    С нами с:
    21.03.2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    2
    Спасибо Fabis, поиском я пользовался и нашел несколько тем, о чем писал выше, конкретно эту тему не просматривал. Результата, к моему сожалению нет. Делал, как написано 2 раза rebuild curve на путь, путь из прямоугольной кривой превращался в овал, что мне не нужно или я опять делаю что-то не так. Центр трансформаций я устанавливал, как написано в уроке из книги в точку профиля, которая должна скользить по пути. Смещение центра трансформаций в геометрический центр профиля лишь смещает ксячную поверхность немного в сторону.
    RGBam я и не думал Майю в чем либо винить наоборот чем больше я ее узнавал тем больше она мне нравилась. Моя Maya больна из-за моих кривых ручек и слепеньких глазок. Жаль, что осознание этого ничего не меняет с extrude.
    Hasan скрипт нужен только по подробней что куда ложить и где чего писать.
    В моей сцене есть объект, вытянутый с помощью extrude под названием CrownMolding. Тогда все получалось без проблем. А вот что получается после переустановки Maya, зачистки реестра и удаления файлов в которых как мне казалось, могли сохраняться какие либо настройки Maya. При первом запуске создаю замкнутую кривую с 4 прямыми углами и по ней тяну замкнутую кривую типа треугольник с центром трансформации в точке скользящей по пути.
     

    Вложения:

    • 812175.jpg
      812175.jpg
      Размер файла:
      176,3 КБ
      Просмотров:
      90
    • 812176.jpg
      812176.jpg
      Размер файла:
      177,1 КБ
      Просмотров:
      94
  11. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Извиняюсь, никогда не сталкивался с подобной проблемой. Ща повторил, проблема имеет место быть
     
  12. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    [​IMG]

    Решил эту проблему, просто вставив 1 узел. Пока не знаю из-за чего так происходит
     
  13. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    [​IMG]

    Наверное из-за этого =)
     
  14. Hasan Akniyev

    Hasan Akniyev Активный участник

    С нами с:
    31.03.2006
    Сообщения:
    195
    Симпатии:
    0
    Баллы:
    11
    Скрипт правда очень ограничен в возможностях, но все таки может быть полезен)
    Надо запихнуть этот скрипт на полку(Shelf), выделить профиль, затем путь, потом нажать на кнопку шелфа.

    Ограничения:
    путь - кривая первого уровня (Linear), лежит в плоскости параллельной xOz.
    Профиль иногда приходится поворачивать, чтобы добиться результата)
    Не сохраняется Constraction history

    Код:
    {
    string $obj[] = `ls -sl`;
    if (size($obj)==2)
    {
    vector $pn = <<0, 1, 0>>;
    
    int $cv;
    vector $vtx[], $vtn[], $egx[];
    $cv = `getAttr ($obj[1]+".spans")`+1;
    
    int $i;
    float $ofs = 200;
    
    for ($i=0; $i<$cv; $i++)
    {
    	$vtx[$i] = `pointPosition -w ($obj[1]+".cv["+$i+"]")`;
    }
    
    for ($i=0; $i<$cv-1; $i++)
    {
    	vector $eg = $vtx[$i+1]-$vtx[$i];
    	vector $egn = `cross $eg $pn`;
    	float $len = `mag $egn`;
    	$egn = <<($egn.x/$len),($egn.y/$len),($egn.z/$len)>>;
    	$egx[$i] = $egn;
    }
    
    $vtn[0] = $egx[0];
    $vtn[$cv-1] = $egx[$cv-2];
    
    for ($i=0; $i<$cv-2; $i++)
    {
    	vector $e1 = $egx[$i] + $egx[$i+1];
    	vector $vx = $e1/mag($e1);
    	$vtn[$i+1]=$vx; 
    }
    
    for ($i=1; $i<$cv-1; $i++)
    {
    	vector $v = $vtn[$i];
    	vector $e = $egx[$i];
    	float $len = 1/($v.x*$e.x+$v.y*$e.y+$v.z*$e.z);
    	$vtn[$i]=$vtn[$i]*$len;	
    } 
    string $profs[];
    
    vector $piv = `getAttr ($obj[0]+".rotatePivot")`;
    
    for ($i=0; $i<$cv; $i++)
    {
    	$vc = $vtx[$i];
    	$vn = $vtn[$i];
    	float $rot[] = `angleBetween -euler -v1 1 0 0 -v2 ($vn.x)($vn.y)($vn.z)`;
    	//print $rot; print "\n";
    	string $dup[] = `instance $obj[0]`;
    	$profs[$i]=$dup[0];
    	rotate -r ($rot[0])($rot[1])($rot[2]) $dup;
    	move ($vc.x-$piv.x) ($vc.y-$piv.y) ($vc.z-$piv.z) $dup;
    	float $sc = `mag $vn`;
    	scale -r ($sc) 1 ($sc) $dup;
    } 
    
    int $j=0;
    select $profs;
    loft -ch 0 -u 1 -c 0 -ar 1 -d 1 -ss 1 -rn 0 -po 0 -rsn true $profs;
    
    
    delete $profs;
    }
    }
     
  15. Hasan Akniyev

    Hasan Akniyev Активный участник

    С нами с:
    31.03.2006
    Сообщения:
    195
    Симпатии:
    0
    Баллы:
    11
    А что "это"?) угол между двумя соседними профилями на узлах?
     
  16. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Я же показал, думал объяснять не придется. Проблемы начинают возникать там, где указанный угол больше 90 град. Если провести испытания, то можно увидеть, что после превышения 90 град плоскость ребер начинает вращаться, уменьшая угол, все это нарушает в итоге последующие построения. Наверное это так
     
  17. Shtuka-tur

    Shtuka-tur Пользователь сайта

    С нами с:
    21.03.2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    2
    Hasan я скопировал текст твоего скрипта, вставил в нижнюю часть Script Editor, затем выделил весь текст и средней кнопкой перетащил на полку, появилась иконка mel. Выделил профиль, затем путь нажал на mel, ничего не произошло кроме надписи внизу Error: Division by zero. Я что-то сделал не так?
    RGDam у меня замкнутая кривая с углами 90 градусов мне может помочь вставка 1 узла? Если да то куда его вставить и как? (офицеры молчать!!!)
     

    Вложения:

    • 813010.jpg
      813010.jpg
      Размер файла:
      180,6 КБ
      Просмотров:
      98
  18. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    [​IMG]

    Вот такой путь сделай. Там начало и конец в одной точке сходятся
     
  19. Hasan Akniyev

    Hasan Akniyev Активный участник

    С нами с:
    31.03.2006
    Сообщения:
    195
    Симпатии:
    0
    Баллы:
    11
    Хм... у меня все работает. Маловероятно, но может это из за того что версия майки старая....)
    также проверь весь ли скрипт ты скопировал, может кусочек пропустил)

    PS Выложи свою сцену, я посмотрю
     

    Вложения:

    • 813320.jpg
      813320.jpg
      Размер файла:
      81,6 КБ
      Просмотров:
      82
  20. Shtuka-tur

    Shtuka-tur Пользователь сайта

    С нами с:
    21.03.2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    2
    Оле-оле-оле-оле-оле RGBam чемпион!!! Большое тебе 3D спасибо!!! А я уже и вправду стал задумываться, что со мною не все в порядке, да и ручки как-то заметно криветь стали. Вставка доп узла и вправду помогла.
    Hasan тебе то же большое спасибо ты первый кто вселил в меня надежду, что со мною возможно все в порядке, а так же смог посеять зерно сомнения в разум RGBam! Если скрипт в твоем сообщении выложен полностью, то и скопировал я его полностью. А в Script Editor я выделял текст Ctrl+A. Но если тебе хочется разобраться, в чем дело напиши, я выложу свою сцену. Ну а лично я пока до скриптов не дорос и найденное решение с доп узлом меня вполне устраивает.
    Однажды я то же стану таким же умным как вы (мечта ха-ха))))!
    Всем удачи!
     
Модераторы: Dark™, Skif

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