Render.ru

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

Владимир Забелин

Активный участник
Рейтинг
17
#2
Код:
// задает значение 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;

			};
		};
	};	
};
 

Кирилл Клят

Активный участник
Рейтинг
17
#3
Что-то не работает, в скрипт вписывать еще что нибудь надо?
пробовал менять цифры в smoothLevel и $division

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

Кирилл Клят

Активный участник
Рейтинг
17
#5
удалось сделать, хотя сам бы я не догадался, что нужно сначала сохранить скрипт, потом дописать туда строчку с нужным числом сабдивов, но все равно спасибо
 
Рейтинг
34
#6
Написанный выше код закинуть в фаил userSetup.mel , в самой майке на горячюю клавишу повесить команду z_setPrevieSmoothLevel 3 ; Всё .
Но способ выше правильнее .
 

Кирилл Клят

Активный участник
Рейтинг
17
#7
почему правильнее? тот способ используется из шелла, а тут можно горячей клавишей сделать, в остальном одно и тоже ведь ?
 
Рейтинг
34
#8
почему правильнее? тот способ используется из шелла, а тут можно горячей клавишей сделать, в остальном одно и тоже ведь ?
Я имел в виду " нажимаем F1 и читаем про mel, скрипты, процедуры и как ими пользоваться" , а проще Цыпцына почитать .
 

Владимир Забелин

Активный участник
Рейтинг
17
#11
getAttr здесь работает на порядки медленнее, чем арифметические операции. это примерно как руками удалять камешки перед асфальтовым катком, чтобы он ехал быстрее...
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#12
Тут дело больше не в скорости вычислений, а в читабельности кода без дополнительных визуальных шумов. В любом случае лучше писать меньше и брать это за правило. Я бы еще лишние фигурные скобки убрал. Это питон дает о себе знать =)
 

Владимир Забелин

Активный участник
Рейтинг
17
#13
В любом случае лучше писать меньше и брать это за правило.
Это большая ошибка. напрямую противоречит первой половине вашего утверждения, о читаемости кода. Писать нужно так, чтобы было код было легко понимать и модифицировать. Это называется "хорошим стилем программирования" Краткость кода редко способствует улучшению его читабельности. и далеко не всегда краткий код написанный на языке высоко уровня скомпилируется в в наиболее эффективный исполнимый код.

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

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

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

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

Dark™

Модератор форума
Команда форума
Рейтинг
431
#14
Я не уточнил просто. Писать надо кратко там, где это не нарушит простейшего понимания кода, это очевидно и это тоже часть "дзена". Явно, тут вычитание в условном операторе лишнее, легче просто признать, чем писать такие длинные ответы =) Шум и читабельность нарушается.

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

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

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

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

Владимир Забелин

Активный участник
Рейтинг
17
#15
господи, да пишите вы как хотите. хотите с минусом, хотите без минуса. хотите в хорошем стиле, хотите в плохом. хоть на меле, хоть на питоне, хоть на с++ с фортраном.

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

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

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

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

Dark™

Модератор форума
Команда форума
Рейтинг
431
#16
Уж не думал вас спугнуть, Владимир, рассчитывая лишь на конструктивный диалог со специалистом. Такое ощущение, что вы любую критику в свой адрес в штыки воспринимаете и не только на этом ресурсе.
Если чем-то обидел, то готов извиниться, если нет - то не понимаю причины такой негативной реакции.
 
Сверху