3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Reply to this topicStart new topic
> MEL or Python?, Какой язык выбрать?
Styler
сообщение 01/05/2013, 21:22
Сообщение #16


Эксперт
Иконка группы

Группа: Пользователи
Сообщений: 753
Регистрация: 13/06/2004
Из: Russia, Spb
Пользователь №: 6 228



QUOTE
file('c:/Tire.ma','r')
# Result: <open file 'c:/Tire.ma', mode 'r' at 0x000000003EC3C2D8> #
пробовал вставить майскую команду как:
mc.file(-i "c:/Tire.ma")
пишет что файл не найден. подскажите кто знает, как это побороть.

если win7/8 то может ругаться на права доступа, файл лежит на c:/ а это root, попробуй положить в с:/1/ хотя бы
Go to the top of the page
 
+Quote Post
Styler
сообщение 02/05/2013, 00:05
Сообщение #17


Эксперт
Иконка группы

Группа: Пользователи
Сообщений: 753
Регистрация: 13/06/2004
Из: Russia, Spb
Пользователь №: 6 228



QUOTE
mc.file(-i "c:/Tire.ma")

Я понял )). Если нужно импортировать сцену то формат команды не правильный. Пробуй так.

CODE
mc.file('c:/Tire.ma', i=1)
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 02/05/2013, 17:16
Сообщение #18


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



Цитата(ilay @ 01/05/2013, 20:40) *
все ок, как ты там переименовываешь фиг его знает, но объекты(список) не выделены или не найдены

и нормально запиши в код-теге форума, а никто и не поможет разбирать твои скрипты...с нормальным отступом (indent)
типа так
Код
import maya.cmds as mc
fn = mc.file('i:\c4dies\maya2014\scripted\cube.ma', open=True)
fnch = mc.file('i:\c4dies\maya2014\scripted\cube.ma', query=True, exists=True )
print fn
print fnch

while (fn):
    mc.select('Cube')
    for old_name, new_name in zip(mc.ls(sl=1), ['Cube', 'Kubik']):
        mc.rename(old_name, new_name)
    mc.select('Kubik')


цикл while нерабочий

Я хочу сделать чтоб поочередно выбранные объекты поменяли имена и им были назначены соответствующие материалы.


Цитата(Styler @ 02/05/2013, 00:05) *
Цитата
mc.file(-i "c:/Tire.ma")

Я понял )). Если нужно импортировать сцену то формат команды не правильный. Пробуй так.

Код
mc.file('c:/Tire.ma', i=1)


Спасибо, все заработало:)
теперь буду пробовать добавлять назначение материалов выделенным объектам:)
на данный момент код выглядит следующим образом:
Код
import maya.cmds as mc
for old_name, new_name in zip(mc.ls(sl=1), ['Rim_Front_L', 'Rim_Front_R', 'Rim_Back_R', 'Rim_Back_L', 'Tire_Front_L', 'Tire_Front_R', 'Tire_Back_R', 'Tire_Back_L']):
    mc.rename(old_name, new_name)
mc.file('c:/Tire.ma', i=1)
mc.select('Tire_Front_L')
mc.select('Tire_Front_R', add=True)
mc.select('Tire_Back_R', add=True)
mc.select('Tire_Back_L', add=True)
mc.hyperShade('tire', assign=True)

теперь немного не пойму как назначить материал, вроде работает только пишет что шейдер не выбран, пробовал сделать так:
Код
import maya.cmds as mc
mc.select('tire')
mc.hyperShade('Rim_Back_L', assign = True)
подскажите как надо?

Сообщение отредактировал Light_Dip - 02/05/2013, 17:41
Go to the top of the page
 
+Quote Post
Styler
сообщение 04/05/2013, 15:19
Сообщение #19


Эксперт
Иконка группы

Группа: Пользователи
Сообщений: 753
Регистрация: 13/06/2004
Из: Russia, Spb
Пользователь №: 6 228



QUOTE
подскажите как надо?

CODE
import maya.cmds as mc
mc.select('tire')
mc.hyperShade(assign='ShaderName')


вместо копипейста
QUOTE
mc.select('Tire_Front_R', add=True)
mc.select('Tire_Back_R', add=True)
mc.select('Tire_Back_L', add=True)

можно выполнить одну команду, объединив имена в кортеж или список
CODE
mc.select(('Tire_Front_R', 'Tire_Back_R', 'Tire_Back_L'), add=True)


Сообщение отредактировал Styler - 04/05/2013, 15:22
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 06/05/2013, 14:05
Сообщение #20


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



Цитата(Styler @ 04/05/2013, 15:19) *
Цитата
подскажите как надо?

Код
import maya.cmds as mc
mc.select('tire')
mc.hyperShade(assign='ShaderName')


вместо копипейста
Цитата
mc.select('Tire_Front_R', add=True)
mc.select('Tire_Back_R', add=True)
mc.select('Tire_Back_L', add=True)

можно выполнить одну команду, объединив имена в кортеж или список
Код
mc.select(('Tire_Front_R', 'Tire_Back_R', 'Tire_Back_L'), add=True)


Спасибо, я поправлю, Вы не подскажите что делать с назначением материалов?
Go to the top of the page
 
+Quote Post
Styler
сообщение 06/05/2013, 14:58
Сообщение #21


Эксперт
Иконка группы

Группа: Пользователи
Сообщений: 753
Регистрация: 13/06/2004
Из: Russia, Spb
Пользователь №: 6 228



QUOTE
Вы не подскажите что делать с назначением материалов?

так написал же выше ). допустим нужно назначить на объект 'tire' материал 'lambert1'
CODE
import maya.cmds as mc
mc.select('tire')
mc.hyperShade(assign='lambert1')
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 06/05/2013, 15:56
Сообщение #22


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



Цитата(Styler @ 06/05/2013, 14:58) *
Цитата
Вы не подскажите что делать с назначением материалов?

так написал же выше ). допустим нужно назначить на объект 'tire' материал 'lambert1'
Код
import maya.cmds as mc
mc.select('tire')
mc.hyperShade(assign='lambert1')


Спасибо, сразу не заметил.
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






2 страниц V  < 1 2
Fast ReplyReply to this topicStart new topic

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 22/08/2019 - 06:34