Render.ru

expression

#1
люди как через expression создать дрожание мяча. знаю надо лезть в хелп.
слазел, но чтото не пошло...это через функцию noise?
и еще вопрос, как создать так чтобы сфера(допустим) перемещалась через каждые 5 кадров вперед(на два кадра)..
 
#2
по поводу первого вопроса, сотря какое дрожание, если хаотичное то noise или rand
nurbsSphere1.translateX = 10 * noise (time);
а второй вопрос я не совсем понял...
 
#3
спасибо за ответ.попробую...
хотя я написал чттото похожее(кроме умножения) у меня ничего не вышло.
 

sanctus

Активный участник
Рейтинг
15
#7
команда rand выдает случайное значение при каждом вызове, то есть это не непрерывная функция. и вообще используйте её только если уверены что именно делаете. т.к. она требует хитрых маневров для однозначного определения.

вам нужна функции noise или gauss, они действительно непрерывны. лучше используйте пример из предыдущего сообщения.
 

sanctus

Активный участник
Рейтинг
15
#8
чтобы было наглядно, попробуйте например такой код

Код:
print (rand(10));print "\n";
print (rand(10));print "\n";
print (rand(10));print "\n";
print (rand(10));print "\n";
print (rand(10));print "\n";
print (rand(10));print "\n";
print (rand(10));print "\n";
print (rand(10));print "\n";
print "********";print "\n";
print (noise(10));print "\n";
print (noise(10));print "\n";
print (noise(10));print "\n";
print (noise(10));print "\n";
print (noise(10));print "\n";
print (noise(10));print "\n";
print (noise(10));print "\n";
print (noise(10));print "\n";
результаты rand никогда не повторяются десятка здесь задает диапазон.
а функция noise гарантирует получение "стабильного" шума, подавая на него время - time, мы получаем разброс, но теперь уже контролируемый, и уверяю на всех майках всех версий шум будет всегда одинаковым в отличие от ранда, который не повторит паттерн даже при двух запусках приложения.
PS: для этого еще бывает seed, но это другая история.
 

Олег Ядренцев

Активный участник
Рейтинг
5
#9
Я прошу прощения. для меня вся эта тема с Экспрешнами очень новая знаний катастрофически не хватает. Проще я думаю будет объяснит то что мне нужно получить на выходе:
хочу сделать камеру что бы она в могла немного "подтряхивалась" имитируя съёмку с рук, хотелось бы иметь такой экспрешн который смог бы контролировать значения хаотичности по скорости самой пульсации и силе этой пульсации если бы вы могли мне помочь...
print (noise(10));print "\n"; -для меня это высший пилотаж даже не могу представить как это применить к объекту((((я полный нуб в экспрешн)
можно продемонстрировать для одной оси объекта? pCylinder1.translateX=...
 

sanctus

Активный участник
Рейтинг
15
#10
в чистой сцене выполните код:
Код:
camera;
setAttr ".shakeEnabled" 1;
потом создайте такой экспрешен:
Код:
float $amplitude = 0.01;
float $frequency = 10;

cameraShape1.horizontalShake = noise($frequency * time) * $amplitude;
cameraShape1.verticalShake = noise($frequency * time+100) * $amplitude;
теперь смотрите в камеру)
 

Олег Ядренцев

Активный участник
Рейтинг
5
#11
Не плохо всё работает но))) Хотелось бы иметь такую схему иметь 3 объекта связанных поин констрейн один для объекта "А" будет написан скрипт для хаоса движения, объект "Б" статичен, объект "В" держит позицию между "А" и "Б", в Атрибут идитор
будет возможность менять позицию между объектом А и Б для объекта В
К объекту В мы привяжем камеру, и всё это дело привяжем к какому нибудь контроллеру..
 

sanctus

Активный участник
Рейтинг
15
#12
Зачем такие сложности? Просто выносите амплитуду в кастомный атрибут и читаете его в экспрешене
А для расширения сознания: можно все это собрать на нодах, без экспрешенов
 

Олег Ядренцев

Активный участник
Рейтинг
5
#13
И как же мне это собрать на донах? Что единственное что мне приходит в голову для имитации тряски это expression. Если есть идеи подскажите...
Я сам бы не против обойтись без expression, и какой же нодай мне задать случайные значения и как?(((
 

sanctus

Активный участник
Рейтинг
15
#16
1. чаще всего команда которая запустит скрипт одноименна с его названием
2. обычно у разработчика есть исчерпывающая информация в интернете или в теле самого скрипта
3. ну или в крайнем случае вы открываете текст и ищете названия процедур, описанных в нем

Здесь было второе
Код:
lsRandomizeChannel
 

Олег Ядренцев

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

sanctus

Активный участник
Рейтинг
15
#18
да, они там поменяли кой чего, со времени моего последнего пользования им.
но все просто, поставьте еще эти скрипты в догонку, и все заработает.
http://www.lightstorm3d.com/ls3d/?page_id=451

если не справитесь, то скину старую версию этого же скрипта, он еще под вторую майку писался)))
 

Олег Ядренцев

Активный участник
Рейтинг
5
#19
не я не так прокачан что бы понять как это работает(((
Если вам не сложно меня и старая версия устроит лишь бы работала..
 

VARVAR13

Активный участник
Рейтинг
8
#20
скачиваем то что указано в ссылках в постах №14 и 18
из папок со скриптами копируюется содержимое по адресу C:\Documents and Settings\User\Мои документы\maya\2010\scripts.
Затем запускается MAYA и в командной строке прописывается lsRandomizeChannel... и всего делов то...
 
Сверху