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

- задача несложная, но громоздкая, поэтому вычислим что-нибудь попроще, например, скорость активного твердого тела в момент коллизии.

15    ■ Откроем Expression Editor (Window -> Animation Editors -> Expression Editor) и найдем выражение sparkExpression (возможно, придется воспользоваться пунктом меню Select Filter -> By Expression Name) и подкорректируем его следующим образом:

int $i,$j; vector $sparkColor; float $hue;

float $currContactPos[3]; int $sparkNum=30; float $magVelocity; float $minVelocity=0.8 ;

$magVelocity=mag (<<activeRigidBody.velocityX, activeRigidBody.velocityY, activeRigidBody.velocityZ >>) ; if (( activeRigidBody. contactCount>0 ) && ($magVelocity>$minVelocity)) for ($i=0; $i< activeRigidBody.contactCount; $i++){

$currContactPos='getAttr activeRigidBody.contactPosition[$i]' ;

$hue=rand(l);

$sparkColor=hsv_to_rgb{ << $hue, 1, 1 >> ); for (Sj=0; $j< $sparkNum; $j++) emit -o sparkParticles

-position ($currContactPos[0]) ($currContactPos [l]) ($currContactPos [2])

-attribute rgbPP

-vectorValue ($sparkColor.x) ($sparkColor.y) ($sparkColor.z);

}; Собственно, нового добавилось немного. С помощью функции mag вычисляем скалярную величину скорости активного твердого тела ($magVelocity) и сравниваем получившееся значение с «пороговым» значением скорости $minVelocity, которое в нашему примере принимается равным 0.8. И…все! (Файл emit03d.mb)

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

Вот, собственно, и все. Надеемся, что команда emit окажется полезным дополнением к широкому арсеналу ваших собственных методов, технологий и приемов, и ваш «словарный запас» стал на одно-два слова богаче.

Автор: Король Геннадий

UV маппинг вместе с Unfold UV's

Общаясь на форумах, следя за вопросами людей, я заметил что многие пользователи Maya обратили недостаточно внимания на нововведение 7-ои версии Maya - Unfold Tool. Действительно, на первый взгляд этот инструмент может показаться сырым и мало полезным возможно, поэтому многие пользователи после 5 минут знакомства с ним обычно возвращаются к использованию своих любимых скриптов или чего хуже - стандартных инструментов. Ввиду того, как такой мощный инструмент был незамечен пользовательской общественностью, я решил написать эту статью. В ней мы попытаемся проанализировать основные принципы работы с этим инструментом, и на конкретных примерах рассмотрим его использование вместе с другими инструментами UV маппинга в Maya. Итак, начнем!


⇐ вернуться назад | | далее ⇒