привет, я хочу преобразовать этот сценарий Mel в сценарий Python, чтобы я мог строить поверх него.
global proc motionTrailToCurve()
{
$selected=`ls -dag -et snapshotShape`;
for ($obj in $selected) {
$pts=(getAttr($obj+".pts"));
$size=size($pts);
$curve=`curve -d 1 -p $pts[0] $pts[1] $pts[2] -p $pts[4] $pts[5] $pts[6] -k 0 -k 1`;
for($i=8;$i<$size;$i+=4)
curve -os -a -p $pts[$i] $pts[$i+1] $pts[$i+2] $curve ;
}
}
motionTrailToCurve;
когда я бегу от py к mel, я получаю это
import pymel.core as pm
def motionTrailToCurve():
selected=pm.ls(et='snapshotShape', dag=1)
for obj in selected:
pts=(pm.getAttr(str(obj) + ".pts"))
size=len(pts)
curve=pm.curve(p=[(pts[0], pts[1], pts[2]), (pts[4], pts[5], pts[6])], k=[0, 1], d=1)
for i in range(8,size,4):
pm.curve(curve, a=1, p=(pts[i], pts[i + 1], pts[i + 2]), os=1)
motionTrailToCurve()
когда я запускаю его, я получаю эту ошибку:
Invalid arguments for flag 'p'. Expected ( distance, distance, distance ), got ( ( Point, Point, Point ), ( Point, Point, Point ) ) #
может кто-нибудь указать мне правильное направление, как заставить этот скрипт работать на питоне, я новичок во всем этом и просто играю, пытаясь автоматизировать некоторые из моих рабочих процессов
snapshotShape
? Пытаюсь воспроизвести проблему, но не знаю, как сделать объект. - person Green Cell   schedule 03.07.2020mel.eval("source myMELScript;") mel.eval("myMELScript;")
, но мне все еще интересно посмотреть, можно ли этот скрипт сделать с помощью pymel - person NinjaBX   schedule 03.07.2020snapshotShape
, который ищет самое начало вашего скрипта. - person Green Cell   schedule 03.07.2020