pinnacle studio  

Вернуться   pinnacle studio > Программы от Adobe Inc. > After Effects > Уроки и обучающие материалы Adobe After Effects


Ответ
 
LinkBack Опции темы
  (#1) Старый
Отзывов: (2)
 
Аватар для Anachoret
 
Сообщений: 908
Благодарностей: 7317
Регистрация: 09.05.2009
Страна: Ukraine
Конфигурация компа:
По умолчанию 14.05.2011, 23:09

Работая над проектом в АЕ, у меня появилась идея. Семь маленьких фотографий облетают большую, двигаясь по правильному кругу. Расстояние между всеми ими должно быть одинаковым, и двигаться они должны с равной скоростью. На первый взгляд простую идею оказалось не так просто реализовать. Может быть, это можно проще сделать в другой программе, типа ProShow Producer и т.д., но если у меня система частиц в 3Д, камера, которая движется вокруг фоток, световые блики ЗА фотографиями и т.д... В общем, чтобы другие не мучились, я поделюсь тем методом, который я придумал для решения этой проблемы. Проект прилагается – AE CS4, CS5. В проекте задействован бесплатный пресет 3D Orbit от А. Кремера, который можно скачать здесь:
Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Почему помимо проекта я делаю этот урок? Ибо если вы хоть что-нибудь измените (количество фоток и проч.), вам придется все редактировать вручную. И я сейчас расскажу, как.
Простите, что нет скриншотов. Лень.
1. Создаем новую композицию.

2. Вставляем все наши фотографии, у меня их 8 – 1 большая, 7 маленьких. У меня все фотографии квадратные, что и вам рекомендую предварительно сделать со своими фотками в фотошопе. Работая в проекте, быстро поймете, зачем. Большую фотографию располагаем точно по центру.

3. Создаем Null Object, имя которого (это важно) у меня и остается Null 1. Если вы переименуете свой объект, везде, где у меня пишется Null 1, у вас должно быть имя вашего объекта. Подключаем у него функцию 3D Layer (кубик).

4. Применяем к Null 1 пресет 3D Orbit, и плавно переходим к основной части – скриптингу. Чтобы повернуть окружность по оси х перпендикулярно к зрителю (если, конечно, хотите. Если этого не сделать, эффект тоже будет классный), открываем выражение, прописанное для параметра Position у Null 1. Оно выглядит вот так:
Radius = effect("Radius")("Slider");
Speed = effect("Speed")("Slider");
RotationOffset = effect("Rotation Offset")("Angle");

//

center = [this_comp.width/2,this_comp.height/2,0];
radius = 200;
angle = time * Speed + RotationOffset;
x = Radius * Math.cos(degreesToRadians(angle));
z = Radius * Math.sin(degreesToRadians(angle));
add(center, [x, 0, z]);


В последней строчке меняем местами 0 и z:
add(center, [x, z, 0]);


5. Создаем выражение для параметра Position у первой маленькой фотки. И с помощью pick whip связываем его с Position Null 1.

6. В окне эффектов с помощью слайдера Speed регулируем скорость движения, а с помощью слайдера Radius регулируем радиус окружности. Чтобы видеть окружность, нужно включить кнопку Show Post-Expression Graph, которая находится между "знаком равно" (Enable Expression) и инструментом привязки (pick whip) в графе редактирования выражений. Смотрим, чтобы маленькая фотка не выходила за экран, и не касалась большой, ну и т.д.

7. А теперь самое интересное. Как расставить остальные фотки? Копируем выражение, прописанное у Position нашего Null 1, и вставляем его в Position второй фотографии. Если его закрыть, АЕ тут же начнет ругаться, что не может найти эффектов у этого слоя, прописанных в выражении. Поэтому выражение нужно немного отредактировать. Меняем значение переменных: Radius, Speed и RotationOffset.

8. Для этого стираем все, что написано после "Radius =", и прописываем туда следующее:
thisComp.layer("Null 1").effect("Radius")("Slider");

либо: Открываем на таймлайне у Null 1 эффекты, все три: Radius, Speed и Rotation Offset, берем pick whip у редактируемого выражения и связываем его со слайдером Radius в эффекте Radius у Null 1 на таймлайне.

9. Стираем все, что написано после "Speed =" и прописываем следующее:
thisComp.layer("Null 1").effect("Speed")("Slider");

либо: берем pick whip у редактируемого выражения и связываем его со слайдером Speed в эффекте Speed у Null 1 на таймлайне.

10. Стираем все, что написано после "RotationOffset =" и пишем:
thisComp.layer("Null 1").effect("Rotation Offset")("Angle")

либо: берем pick whip у редактируемого выражения и связываем его со слайдером RotationOffset в эффекте RotationOffset у Null 1 на таймлайне.

В итоге должно получится вот что:
Radius =thisComp.layer("Null 1").effect("Radius")("Slider");
Speed = thisComp.layer("Null 1").effect("Speed")("Slider");
RotationOffset = thisComp.layer("Null 1").effect("Rotation Offset")("Angle")

//

center = [this_comp.width/2,this_comp.height/2,0];
radius = 200;
angle = time * Speed + RotationOffset;
x = Radius * Math.cos(degreesToRadians(angle));
z = Radius * Math.sin(degreesToRadians(angle));
add(center, [x,z,0]);



11. Копируем это выражение, и вставляем его в параметр Position каждой маленькой фотографии. Это выражение связывает фотографии с Null 1. Почему же нельзя было просто связать Position фотографий с Position Null 1, как мы это сделали у первой маленькой фотографии? Потому что у нас не получится отдалить их на равноудаленное расстояние друг от друга. Как же это сделать? Нежелающие вдаваться в теоретическую часть, пропускают ее и переходят к практике. Для любознательных я опишу, как это работает. Позвольте немного физики.

Ключевым словом в выражении является ANGLE – угол. Значение его появляется (как видно из выражения) от умножения времени на скорость. А как известно нам еще со школы, s=t *u, т.е. время умноженное на скорость дает нам расстояние. У окружности это угол (немножко геометрии), но именно определяя это значение, мы можем правильно отдалить фотографии друг от друга во время движения по окружности (так как все они связаны с Null 1). Числа времени нам известны (на таймлайне), скорость мы задаем в окне эффектов у Null 1 слайдером Speed. Все, что нам нужно, это добавить к полученному значению определенное число, которое отдалит вторую фотографию от первой (читай: от позиции Anchor Point у Null 1) именно на это число градусов окружности (читай: пикселей композиции). И вписывать это число в параметр "angle" у каждой фотографии в порядке арифметической прогрессии (немножечко алгебры), т.е.:

a1, a1+x, a1+2x, a1+3x, a1+4x и т.д., где х – это и есть вот это "определенное число", константа.

Как вычислить эту константу? Формула такова:

x = r/n+1
где x – (тут и далее) – константа (чрезвычайно важное число), r – это радиус окружности (в окне эффектов у Null 1), а n – это количество наших фотографий. Итак, к числу фоток прибавляем 1, и делим радиус окружности на полученное значение. Почему +1? Потому что у окружности последняя точка находится там же, где и первая. Поэтому и "последняя" (несуществующая) фотография должна быть там же, где и первая. Иначе окружность будет незамкнута, а значит – это будет не окружность.

В моем проекте оказалось все очень просто. Радиус = 400, фоток – 7, решаем:
400/7+1 = 400/8 = 50.
Вот и все, что нам нужно. Переходим к последнему шагу.

12. Редактируем выражения для параметра Position у всех фотографий, кроме первой.

У второй фотографии: дописываем в графу " angle = time * Speed + RotationOffset" простое выражение: "+50" (+x) (в вашем случае – полученную вами константу). Графа должна выглядеть так:
angle = time * Speed + RotationOffset+ 50;

У третьей фотографии – "+100" (+2x);
angle = time * Speed + RotationOffset + 100;

У четвертой - "+150" (+3x);
angle = time * Speed + RotationOffset+ 150;

и т.д.

Все, фотографии летают.

Помните, что можете анимировать по ключевым кадрам параметра Radius у Null 1, как у меня в проекте. В АЕ множество задач можно решить и "руками", и "умом", но это именно тот случай, когда руки бесполезны, нужно включать ум.

Желаю удачи!
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 25 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.


Добавлено через 1 час 12 минут:

Мне задали вопрос, как запустить движение в другом направлении. Для этого во всех выражениях берем значение переменной angle в круглые скобки и ставим перед ними знак минус.
Т.е. вот так:
для Null 1:

angle = -(time * Speed + RotationOffset);
для второй фотографии:

angle = -(time * Speed + RotationOffset +ваше число);
и т.д.

Помните, что мы в 3D пространстве. Поэтому можно этим пользоваться. Заливаю вторую версию проекта, усовершенствованную. Не забудьте кликнуть 2 раза на маркер.

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 30 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.


Продолжаем совершенствовать проект. Как получить полный контроль над движением? Опять, та же строчка angle. Просто во всех выражениях удалите "time * Speed"
Там должно остаться только

angle = RotationOffset+ваше число;

или

angle = -(RotationOffset+ваше число);
если вы запустили фотки в обратном направлении.

Теперь просто анимируйте по ключевым кадрам Rotation Offset в окне эффектов у Null 1.

P.S. Обращайте внимание на ; т.е. точки с запятыми!! они очень важны!!


Уважаемый мой коллега по АЕ, Andrew_Reznikoff сделал превью проекта, за что выражаю ему публичную благодарность! :)




Во время всеобщей лжи говорить правду - это экстремизм. (с) Дж. Оруэлл.

[Для просмотра данной ссылки нужно ]

Последний раз редактировалось Anachoret; 14.05.2011 в 22:46. Причина: Добавлено сообщение
Ответить с цитированием
Эти 27 пользователей(ля) поблагодарили Anachoret за это полезное сообщение:
Скрыть список поблагодаривших

AFateev (29.05.2012), AndrewReznikoff (14.05.2011), commar (03.07.2011), dvaleron (25.06.2012), Edvin (03.07.2011), Fantast (03.07.2011), grifon71 (03.07.2011), karpik (15.05.2011), Katrin-ka (15.05.2011), kiv67 (14.05.2011), Kramarow (14.05.2011), mvt17 (15.05.2011), Neb4St (14.05.2011), Oleksa (15.05.2011), peshehod (14.05.2011), Pilligrim_76 (15.05.2011), Sapphire (03.07.2011), shapoval (14.05.2011), surkovseryu (03.07.2011), Tigris (14.05.2011), TVS (17.05.2011), Vovanich (14.05.2011), yardigital (15.05.2011), Владимир Балдин (14.05.2011), майкл (14.05.2011), Мах Борисович (14.05.2011), Проходчик (15.05.2011)
 
  (#2) Старый
Отзывов: (0)
 
Сообщений: 1
Благодарностей: 0
Регистрация: 03.07.2011
Страна: Russian Federation
Конфигурация компа:
По умолчанию 03.07.2011, 11:17

А как управлять наклоном орбиты в 3 пространстве?
Ответить с цитированием
  (#3) Старый
Отзывов: (0)
 
Аватар для yardigital
 
Сообщений: 135
Благодарностей: 195
Регистрация: 05.05.2009
Страна: Ukraine
Конфигурация компа:
Фото/видео:
По умолчанию 03.07.2011, 12:01

Рабочего проекта щаз нет, но скорее всего стандартно, с пом. NUL Object или камерой.
Ответить с цитированием
  (#4) Старый
Отзывов: (2)
 
Аватар для Anachoret
 
Сообщений: 908
Благодарностей: 7317
Регистрация: 09.05.2009
Страна: Ukraine
Конфигурация компа:
По умолчанию 03.07.2011, 16:44

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


Во время всеобщей лжи говорить правду - это экстремизм. (с) Дж. Оруэлл.

[Для просмотра данной ссылки нужно ]
Ответить с цитированием
Эти 2 пользователей(ля) поблагодарили Anachoret за это полезное сообщение:
Ответ

Социальные закладки


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Придание фотографии 3D реализма, урок Photoshop Tabacman Уроки и мануалы по Photoshop 5 29.11.2010 14:52
Помогите найти урок. w_xolod Для новичков 1 13.09.2009 23:01
Урок. Текст по кругу и не только. RISKA Уроки и мануалы по Photoshop 1 14.03.2009 12:11
урок по работе с маской. RISKA Уроки и мануалы по Photoshop 2 11.04.2008 16:22
Надпись по кругу -по диску в Шопе лурик Цифровое фото 2 19.02.2007 08:58



Все использованные на сайте названия продуктов и торговые марки принадлежат их законным владельцам.
При перепечатке или ретрансляции материалов с сервера DrBOBAH.com ссылка на сайт обязательна!
SEO by vBSEO ©2011, Crawlability, Inc.1


Принимаем WebMoney Наша кнопка