Занялся прохождением вот этого урока : DT-Cartoon Character in Maya rigging
1.Дошёл до места, где автор сделал возможным растягивать ноги персонажа.
2.А потом показал, как вкл и выкл эту возможность. И вот тут то у меня не получилось.
Первая часть в expression editor выглядит так :
//Stretch Expression
if (dist_r_leg0Shape1.distance >= div_r_leg01.input1X){
bn_r_thigh01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
bn_r_kneeA01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
bn_r_kneeB01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
}else{
bn_r_thigh01.scaleX = 1;
bn_r_kneeA01.scaleX = 1;
bn_r_kneeB01.scaleX = 1;
}
А потом он сюда дописывает и получается вот что :
if (jc_r_foot01.mode == 1){
//Stretch Expression
if (dist_r_leg0Shape1.distance >= div_r_leg01.input1X){
bn_r_thigh01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
bn_r_kneeA01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
bn_r_kneeB01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
}else{
bn_r_thigh01.scaleX = 1;
bn_r_kneeA01.scaleX = 1;
bn_r_kneeB01.scaleX = 1;
}
}else if (jc_r_foot01.mode == 0){
bn_r_thigh01.scaleX = 1;
bn_r_kneeA01.scaleX = 1;
bn_r_kneeB01.scaleX = 1;
}
То есть он создаёт на главном манипуляторе ноги атрибут типа boolen. И говорит что когда этот атрибут равен 1, то Stretch Expression работает, в противном случае кости будут иметь scaleX =1.
Смысл работы мне предельно ясен. Но почему то когда я дописываю эту вторую часть с выключателем, экспрешн едитор говорит что не получилось обновить expression, то есть где-то я допустил косяк. Я уж думал что может быть описался где,и уже пробовал Ctrl+C с оригинального рига, Ctrl+Vв свой . Не работает.
Где я мог ошибиться...А есть ли другой способ сделать переключатель on/off на растягивалку?
1.Дошёл до места, где автор сделал возможным растягивать ноги персонажа.
2.А потом показал, как вкл и выкл эту возможность. И вот тут то у меня не получилось.
Первая часть в expression editor выглядит так :
//Stretch Expression
if (dist_r_leg0Shape1.distance >= div_r_leg01.input1X){
bn_r_thigh01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
bn_r_kneeA01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
bn_r_kneeB01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
}else{
bn_r_thigh01.scaleX = 1;
bn_r_kneeA01.scaleX = 1;
bn_r_kneeB01.scaleX = 1;
}
А потом он сюда дописывает и получается вот что :
if (jc_r_foot01.mode == 1){
//Stretch Expression
if (dist_r_leg0Shape1.distance >= div_r_leg01.input1X){
bn_r_thigh01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
bn_r_kneeA01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
bn_r_kneeB01.scaleX = dist_r_leg0Shape1.distance/div_r_leg01.input1X;
}else{
bn_r_thigh01.scaleX = 1;
bn_r_kneeA01.scaleX = 1;
bn_r_kneeB01.scaleX = 1;
}
}else if (jc_r_foot01.mode == 0){
bn_r_thigh01.scaleX = 1;
bn_r_kneeA01.scaleX = 1;
bn_r_kneeB01.scaleX = 1;
}
То есть он создаёт на главном манипуляторе ноги атрибут типа boolen. И говорит что когда этот атрибут равен 1, то Stretch Expression работает, в противном случае кости будут иметь scaleX =1.
Смысл работы мне предельно ясен. Но почему то когда я дописываю эту вторую часть с выключателем, экспрешн едитор говорит что не получилось обновить expression, то есть где-то я допустил косяк. Я уж думал что может быть описался где,и уже пробовал Ctrl+C с оригинального рига, Ctrl+Vв свой . Не работает.
Где я мог ошибиться...А есть ли другой способ сделать переключатель on/off на растягивалку?