Перейти к содержимому


!!! Только у нас на форуме !!!
Спектакли от дяди Пчёлки

для просмотра необходима регистрация
Фотография
- - - - -

Автоматически Наводящаяся Камера


  • Please log in to reply
11 ответов в этой теме

#1 beaver

beaver
  • Участник
  • 33 Сообщений:

Отправлено 12 дек 2005 - 23:30

Ребята!
Делаю пролет камеры через много слоев, разбросанных в 3d пространстве. Руками наводить на каждый слой замучался - их много, да и хочется универсального решения для любого расположения слоев, чтобы пролетая каждый слой, камера крупно брала его в обьектив, затем, переводясь на следующую картинку, летела к ней, и т.д.
Сделал слайдер, меняющийся во времени, написал выражение для
Position камеры:
n=index+thisComp.layer("Medium Gray-Red Solid 1").effect("Slider Control")("Slider")
s=thisComp.layer("Medium Gray-Red Solid 1").effect("Slider Control")("Slider")
ease(s, 1, 6, thisComp.layer(n).position, thisComp.layer(n+1).position)

и для Point of interest:
n=index+1+thisComp.layer("Medium Gray-Red Solid 1").effect("Slider Control")("Slider")
s=thisComp.layer("Medium Gray-Red Solid 1").effect("Slider Control")("Slider")
ease(s, 1, 6, thisComp.layer(n).position, thisComp.layer(n+2).position)

но камера, плавно пройдя часть траектории, делает резкий скачок на следующий слой , и так на каждом слое.
Кто-нибудь пробовал что-нибудь подобное?
  • 0

#2 monter

monter
  • Участник
  • 253 Сообщений:

Отправлено 13 дек 2005 - 12:04

Ищи кнопку "Сделать красиво"!
Конверти экспрешены в ключи анимации и ручками исправляй резкие скачки.
Можно найти профессора математики, чтоб он формулу вывел.
  • 0

#3 DenizZ

DenizZ
  • Модератор
  • 430 Сообщений:

Отправлено 13 дек 2005 - 12:13

Я бы в трёхмере делал, а потом в АЕ перетягивал камеру и слои, тем более, что инструментария достаточно, бесплатного в т.ч..
  • 0

#4 beaver

beaver
  • Участник
  • 33 Сообщений:

Отправлено 13 дек 2005 - 14:00

Насчет кнопки,Monter, это ты зря!
Сегодня утром меня осенило, и я сделал что хотел- все плавно и красиво.
Но аппетиты растут- при подходе, описаном выше, камера ориентируется на порядковый номер слоя, тоесть нужно вручную расставлять слои в порядке удаленности от камеры. А если слоев много, и если пользоваться автоматическим расположением слоев в пространстве, например при помощи 3D assistant,
прорядок слоев перемешивается, и первым может встать самый дальний, а вторым- самый ближний слой. И камера, как ужаленная, будет носиться из угла в угол.
Поэтому- задача: как сделать так, чтобы камера подходила к слоям в порядке удаленности? Есть оператор Lenth, но как заставить его работать на все слои сразу и меряться между собой? Вот задача!
  • 0

#5 monter

monter
  • Участник
  • 253 Сообщений:

Отправлено 13 дек 2005 - 18:26

Да что Вы на шутки обижаетесь? всЕ, до конца года не шутю :(
Я подхожу к задаче немного по другому. Если это проще сделать в другом пакете(например в МАХе) то я и использую его, если проще отдать проект другому(будучи на все 100 уверенным что он лучше сделает), то отдаю другому. Проценты конечно же к себе в карман :beer:
но это всЕ лирика, теперь по делу.
Ты сортируешь слои по индексу, поэтому и порядок определенный. отсортируй слои по Z удаленности. Вот здесь тебе и понадобится length(z1,z2); кстати что за оператор Lenth? Точно не знаю как это выражениями сделать, скриптом легче отсортировать слои.
  • 0

#6 beaver

beaver
  • Участник
  • 33 Сообщений:

Отправлено 13 дек 2005 - 20:17

Monter, никаких обид!
Вот я и думаю - как слои по удаленности сортировать? Как собрать слои в одну кучу для сортировки? Ты говоришь, скриптами, а где они в АЕ? Я знаю только выражения. Если не влом, обьясни, пожалуйста , поподробнее, где они и как сортировать. Если ты о коммерческом интересе, то эта идея у меня не коммерческая, а, скорее, любопытная.
  • 0

#7 monter

monter
  • Участник
  • 253 Сообщений:

Отправлено 13 дек 2005 - 21:13

Скрипты для меня это некий аналог Actions в фотошопе, только написанный на языке ява или Vbasic.(утрирую конечно, но суть такова).
скрипты ввели в АЕ с версии 6.0 как раз для замены рутиной однообразной работы, которая убивает все творчество, но если ты делаешь нечто один раз в проекте, то нет никакого смысла писать скрипт.
информация о скриптах находится
в Scripting Guide.pdf надо отдельно качать
сами скрипты находятся в
C:\Program Files\Adobe\After Effects 6.5\Support Files\Scripts\
файлы с расширением *.jsx
Если закинишь свой скрипт в эту или низлежащую папку, то скрипт можно вызвать на исполнение по
File->RunScript->имя скрипта
основы скриптинга на сайте http://www.motionscript.com/ да и по Expressions там много найдешь.

ЗЫ
О комерческом интересе никто речь не ведет, у меня консультации бесплатны(исключение пиво и "ларЕк на против"), а работа есть работа.
в твоем случае надо акцентировать внимание на выделенные слои(мало ли что может надо неподвижным оставлять)
for (i = 1; i < selectedLayers.length; ++i) {
currentLayer = selectedLayers[i];
if (бла бла позиция z < бла бла позиция z1) {
поменять currentLayer на selectedLayers[i+1];
}
}
  • 0

#8 beaver

beaver
  • Участник
  • 33 Сообщений:

Отправлено 13 дек 2005 - 21:33

Monter, спасибо за скрипты - буду думать.
Насчет наброска, который ты привел: насколько мне представляется, здесь нужен цикл для перебора слоев либо по z-позиции, либо по расстоянию от камеры. В твоем примере этого, вроде не происходит (или я не увидел?), да и вообще я не знаю, как организовать цикл в Expressions (про скрипы пока не говорю).
И как в твоем примере осуществить "поменять currentLayer на selectedLayers"? Есть какой-то оператор или прием?
И где взять Scripting Guide для АЕ? Поискал в сети - на Rapidshare все убито, а болше не нашел.

Сообщение отредактировано beaver: 13 дек 2005 - 21:58

  • 0

#9 monter

monter
  • Участник
  • 253 Сообщений:

Отправлено 14 дек 2005 - 11:23

Expressions порядок слоев не поменяешь.
Прикладываю скрипт который сортирует слои(2D и 3D, короче все слои) по координате Z во вей композиции.

{
	// SortLayerbyZposition.jsx
	// Created monter www.aeclub.net
	// Sort layers position Z in the active comp

$.level=0;
eval(unescape("%09%66%75%6e%63%74%69%6f%6e%20%53%6f%72%74%4c%61%79%65%72%62%79%5a%70%6f%73%69%74%69%6f%6e%28%6d%79%43%6f%6d%70%29%7b%0a%09%09%76%61%72%20%63%6f%6d%70%5f%6c%61%79%65%72%73%20%3d%20%6d%79%43%6f%6d%70%2e%6c%61%79%65%72%73%3b%0a%09%09%76%61%72%20%63%6f%6d%70%5f%70%6f%73%69%74%69%6f%6e%20%3d%20%63%6f%6d%70%5f%6c%61%79%65%72%73%2e%70%6f%73%69%74%69%6f%6e%3b%0a%09%09%66%6f%72%28%6b%20%3d%20%31%3b%20%6b%20%3c%3d%20%63%6f%6d%70%5f%6c%61%79%65%72%73%2e%6c%65%6e%67%74%68%2d%31%3b%20%6b%2b%2b%29%20%7b%0a%09%09%66%6f%72%28%6a%20%3d%20%31%3b%20%6a%20%3c%3d%20%63%6f%6d%70%5f%6c%61%79%65%72%73%2e%6c%65%6e%67%74%68%2d%31%3b%20%6a%2b%2b%29%20%7b%0a%09%09%09%76%61%72%20%6c%61%79%65%72%54%6f%4d%6f%76%65%41%66%74%65%72%20%3d%20%63%6f%6d%70%5f%6c%61%79%65%72%73%5b%6a%2b%31%5d%3b"+
"%0a%09%09%09%76%61%72%20%6c%61%79%65%72%54%6f%4d%6f%76%65%42%65%66%6f%72%65%20%3d%20%63%6f%6d%70%5f%6c%61%79%65%72%73%5b%6a%5d%3b%0a%09%09%09%76%61%72%20%7a%3d%6c%61%79%65%72%54%6f%4d%6f%76%65%42%65%66%6f%72%65%2e%70%6f%73%69%74%69%6f%6e%3b%0a%09%09%09%76%61%72%20%7a%31%3d%6c%61%79%65%72%54%6f%4d%6f%76%65%41%66%74%65%72%2e%70%6f%73%69%74%69%6f%6e%3b%0a%09%09%09%69%66%28%7a%2e%76%61%6c%75%65%5b%32%5d%20%3e%20%7a%31%2e%76%61%6c%75%65%5b%32%5d%29%7b%0a%09%09%09%6c%61%79%65%72%54%6f%4d%6f%76%65%42%65%66%6f%72%65%2e%6d%6f%76%65%41%66%74%65%72%28%63%6f%6d%70%5f%6c%61%79%65%72%73%5b%6a%2b%31%5d%29%3b%0a%09%09%09%7d%0a%09%09%7d%0a%09%09%7d%0a%09%7d%0a%09%76%61%72%20%70%72%6f%6a%20%3d%20%61%70%70%2e%70%72%6f%6a%65%63%74%3b%0a%09%76%61%72%20%75%6e%64%6f%53%74%72%20%3d"+
"%20%22%53%6f%72%74%20%6c%61%79%65%72%73%20%70%6f%73%69%74%69%6f%6e%20%5a%22%3b%0a%0a%09%69%66%20%28%70%72%6f%6a%29%7b%0a%09%09%76%61%72%20%61%63%74%69%76%65%49%74%65%6d%20%3d%20%61%70%70%2e%70%72%6f%6a%65%63%74%2e%61%63%74%69%76%65%49%74%65%6d%3b%0a%09%09%69%66%20%28%61%63%74%69%76%65%49%74%65%6d%20%21%3d%20%6e%75%6c%6c%20%26%26%20%28%61%63%74%69%76%65%49%74%65%6d%20%69%6e%73%74%61%6e%63%65%6f%66%20%43%6f%6d%70%49%74%65%6d%29%29%7b%0a%09%09%09%61%70%70%2e%62%65%67%69%6e%55%6e%64%6f%47%72%6f%75%70%28%75%6e%64%6f%53%74%72%29%3b%0a%09%09%09%53%6f%72%74%4c%61%79%65%72%62%79%5a%70%6f%73%69%74%69%6f%6e%28%61%63%74%69%76%65%49%74%65%6d%29%3b%0a%09%09%09%61%70%70%2e%65%6e%64%55%6e%64%6f%47%72%6f%75%70%28%29%3b%0a%09%09%7d%20%65%6c%73%65%20%7b%0a%09%09%09%61%6c%65%72"+
"%74%28%22%50%6c%65%61%73%65%20%73%65%6c%65%63%74%20%61%6e%20%61%63%74%69%76%65%20%63%6f%6d%70%20%74%6f%20%75%73%65%20%74%68%69%73%20%73%63%72%69%70%74%22%29%3b%0a%09%09%7d%0a%09%7d%0a%09%65%6c%73%65%0a%09%7b%0a%09%09%61%6c%65%72%74%28%22%50%6c%65%61%73%65%20%6f%70%65%6e%20%61%20%70%72%6f%6a%65%63%74%20%66%69%72%73%74%20%74%6f%20%75%73%65%20%74%68%69%73%20%73%63%72%69%70%74%2e%22%29%3b%0a%09%7d"));
}

  • 0

#10 beaver

beaver
  • Участник
  • 33 Сообщений:

Отправлено 14 дек 2005 - 11:54

Monter!
Огромное тебе спасибо за скрипт - он отлично работает, но понять я ничего не могу- он отображается нечитаемыми символами. Зто так и должно быть, или у меня что-то не так работает?
И если у тебя есть и тебе не жалко, кинь мне, пожалуйста, на мыло "beaver9@mail.ru" Scripting Guide for AE, а я тебе когда-нибудь тоже пользу принесу!
  • 0

#11 monter

monter
  • Участник
  • 253 Сообщений:

Отправлено 14 дек 2005 - 12:31

Здесь можно скачать Scripting Guide
А то что не читается, так это

то эта идея у меня не коммерческая, а, скорее, любопытная.

так сказать разогреть твое любопытство к скриптам. Скрипт работает же! дальше сам, а возникнут вопросы - спрашивай.
  • 0

#12 beaver

beaver
  • Участник
  • 33 Сообщений:

Отправлено 14 дек 2005 - 13:18

Спасибо, Monter!
И за помощь, и за общение!
До встречи в эфире!
  • 0


0 человек читают эту тему

0 пользователей, 0 гостей, 0 скрытых пользователей

Rambler's Top100