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

Можно ли как то установить, чтобы smooth mesh по умолч. было в 3 сабдива?

Тема в разделе "Maya", создана пользователем Кирилл Клят, 14 авг 2012.

Модераторы: Dark™, Skif
  1. Кирилл Клят

    Кирилл Клят Знаток

    С нами с:
    13.06.2011
    Сообщения:
    406
    Симпатии:
    5
    Баллы:
    22
    smooth mesh preview
    каждый раз меняю с 2х до 3х по одному мешу, надоело
     
  2. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    Код:
    // задает значение smoothLevel = $division (0,1,2,..)
    // иерархически для всех полигональных объектов
    // наследников выбранного объекта
    
    //             Забелин В.В. 02.12.2011  
    global proc z_setPrevieSmoothLevel( int $division)
    {
    	string $list[] = `ls -sl -type transform`;
    	string $shapes[];
    	for ($item in $list)
    	{
    		
    		$shapes=`listRelatives -ad -type mesh ($item)`;
    		for ($shape in $shapes)
    		{
    
    			if (1-(`getAttr ($shape +".intermediateObject")`))
    			{
    				setAttr ($shape+".smoothLevel") $division;
    
    			};
    		};
    	};	
    };
    
     
  3. Кирилл Клят

    Кирилл Клят Знаток

    С нами с:
    13.06.2011
    Сообщения:
    406
    Симпатии:
    5
    Баллы:
    22
    Что-то не работает, в скрипт вписывать еще что нибудь надо?
    пробовал менять цифры в smoothLevel и $division

    выделяю объекты, выполняю скрипт и не меняется ничего, подскажите, пожалуйста, каплю подробнее
     
  4. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    подсказываю. нажимаем F1 и читаем про mel, скрипты, процедуры и как ими пользоваться.
     
  5. Кирилл Клят

    Кирилл Клят Знаток

    С нами с:
    13.06.2011
    Сообщения:
    406
    Симпатии:
    5
    Баллы:
    22
    удалось сделать, хотя сам бы я не догадался, что нужно сначала сохранить скрипт, потом дописать туда строчку с нужным числом сабдивов, но все равно спасибо
     
  6. A.D.I.D.A.S.

    A.D.I.D.A.S. Активный участник

    С нами с:
    04.09.2010
    Сообщения:
    274
    Симпатии:
    1
    Баллы:
    14
    Написанный выше код закинуть в фаил userSetup.mel , в самой майке на горячюю клавишу повесить команду z_setPrevieSmoothLevel 3 ; Всё .
    Но способ выше правильнее .
     
  7. Кирилл Клят

    Кирилл Клят Знаток

    С нами с:
    13.06.2011
    Сообщения:
    406
    Симпатии:
    5
    Баллы:
    22
    почему правильнее? тот способ используется из шелла, а тут можно горячей клавишей сделать, в остальном одно и тоже ведь ?
     
  8. A.D.I.D.A.S.

    A.D.I.D.A.S. Активный участник

    С нами с:
    04.09.2010
    Сообщения:
    274
    Симпатии:
    1
    Баллы:
    14
    Я имел в виду " нажимаем F1 и читаем про mel, скрипты, процедуры и как ими пользоваться" , а проще Цыпцына почитать .
     
  9. Dark™ vip

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

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Код:
    !`getAttr ($shape +".intermediateObject")`
    Так не получше будет?)
     
  10. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    да пофигу. здесь количество операций не критично
     
  11. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    getAttr здесь работает на порядки медленнее, чем арифметические операции. это примерно как руками удалять камешки перед асфальтовым катком, чтобы он ехал быстрее...
     
  12. Dark™ vip

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

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Тут дело больше не в скорости вычислений, а в читабельности кода без дополнительных визуальных шумов. В любом случае лучше писать меньше и брать это за правило. Я бы еще лишние фигурные скобки убрал. Это питон дает о себе знать =)
     
  13. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    Это большая ошибка. напрямую противоречит первой половине вашего утверждения, о читаемости кода. Писать нужно так, чтобы было код было легко понимать и модифицировать. Это называется "хорошим стилем программирования" Краткость кода редко способствует улучшению его читабельности. и далеко не всегда краткий код написанный на языке высоко уровня скомпилируется в в наиболее эффективный исполнимый код.

    и я просто не люблю "!".

    от некоторого количества скобок действительно можно избавиться, однако
    1. почему то ваш тег код игнорирует табуляцию, так что в оригинале эти "лишние" скобки улучшают читабельность за счет обозначения вложенности.
    2. это урезанный вариант скрипта, который я использую. в оригинале в этих скобках есть еще некоторое количество команд, так что они на самом деле совсем не лишние.

    p.s. так себе затея спорить о стиле программирования с преподавателем курса по стилю программирования и искусству тестирования программ... вряд ли из этого получится что-то хорошее. тем более когда "овчинка выделки не стоит"

    p.p.s. питоном ну вообще не пользуюсь. мне мела вполне хватает
     
  14. Dark™ vip

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

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Я не уточнил просто. Писать надо кратко там, где это не нарушит простейшего понимания кода, это очевидно и это тоже часть "дзена". Явно, тут вычитание в условном операторе лишнее, легче просто признать, чем писать такие длинные ответы =) Шум и читабельность нарушается.

    В питоне функции и операторы вообще без фигурных скобок, используются лишь табуляции. Как по мне, так они лишние в вопросах читабельности, если конечно не писать все в одну строку, но это не лучший стиль.

    Я должен был просто промолчать, потому что вы опытный преподаватель? Слишком очевидный момент был, тут спорить не о чем.
    Владимир, это слишком консервативный подход к делу. Я вот всегда открыт для критики и любых предложений, и если они к месту и обоснованы, я их спокойно принимаю. Тут я похожей реакции ожидал, если честно.

    Как по мне, философия Питона - лучшее руководство к стилю программирования, поэтому он такой популярный. Попробуйте для интереса хотя бы =)

    P.S. Холивор в стилях не собираюсь устраивать. =)
     
  15. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    господи, да пишите вы как хотите. хотите с минусом, хотите без минуса. хотите в хорошем стиле, хотите в плохом. хоть на меле, хоть на питоне, хоть на с++ с фортраном.

    p.s. это был последний раз, когда я постил какой-то код.

    p.p.s. мой золотой, я не пользуюсь питоном не потому что я не пробовал, а потому что он в моей работе нафиг не нужен. инструмент я выбираю из соображения нужности и удобства работы а не из-за его популярности. почуствуйте разницу.

    p.p.p.s. все, отстаньте от меня. надоело выслушивать вариации на тему "мою кун-фу сильнее твоего кун-фу". дальше без меня

    p.p.p.p.s. Ничто не меняется на рендер.ру. Пожалуйста вышлите мне инструкцию как удалить мой аккаунт на рендер ру или удалите его сами, думаю. что как администратор форума вы имеете на это право. Спасибо.
     
  16. Dark™ vip

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

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Уж не думал вас спугнуть, Владимир, рассчитывая лишь на конструктивный диалог со специалистом. Такое ощущение, что вы любую критику в свой адрес в штыки воспринимаете и не только на этом ресурсе.
    Если чем-то обидел, то готов извиниться, если нет - то не понимаю причины такой негативной реакции.
     
Модераторы: Dark™, Skif

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