Форум о видеоуроках по компьютерной графике: Выражения - решетка из слоев - Форум о видеоуроках по компьютерной графике

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

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Выражения - решетка из слоев Быстрое выстраивание слоев по решетке

#1
Пользователь офлайн   Ilya1970 

  • Продвинутый пользователь
  • Группа: Пользователи
  • Сообщений: 98
  • Регистрация: 29 Январь 11
Задача - у вас 40 фотографий одного размера, их нужно расположить в виде правильного прямоугольника - решетки 5 на 8. Фотографии расположены с отдельных слоях, значит нам нужно зная номер слоя index узнать номер в строке и номер строки.

1. Создаем нуль объект, на него вешаем slider controller - для начала 4 штуки. Переименоввываем их для ясности. Что нам нужно задать - количество колонок в решетке xN (8), количество срок в решетке yN (5), расстояние между колонками - xL (100), расстояние между строками - yL(80).

2. Создаем слой над нуль объектом, размер 50 * 50. Открываем position и начинаем писать выражение. Для начала создаем переменные xN, yN, xL, yL и делаем их равными нашим слайдер контроллерам ну нуль объекте. Затем вычисляем номер строки yK, в которой находиться наш слой

i = index - 1;

yK = Math.floor(i/xN); // номер слоя делим на число элементов в строке и округляем до меньшего

// теперь находим номер элемента в строке, т. е. xK;

xK = i%xN; // выражение % означает остаток от деления;

//теперь, зная номер столбца и номер строки, лекго вычислить координаты элемента;

x = xK*xL;

y = yK*yL;

[ x, y] // вот собственно и все, дублируем слой 39 раз, слои выстраиваются ровно... нет, не все... если кто повторил, то видно, что слои начинаются из левого верхнего угла...


осталось отцентровать решетку по центру композиции
Размер нашей решетки по x: (xN-1)*xL, по y: (yN-1)*yL, сдвигаем ее на половину разности между размерами решетки и композиции

собственно выражение без коментариев

xN = thisComp.layer("Null 1").effect("xN")("Slider");
yN = thisComp.layer("Null 1").effect("yN")("Slider");
xL = thisComp.layer("Null 1").effect("xL")("Slider");
yL = thisComp.layer("Null 1").effect("yL")("Slider");
i = index-1;
yK = Math.floor(i/xN);
xK = i % xN;
x= xK * xL;
y = yK * yL;
centerX = (thisComp.width - (xN-1)*xL)/2;
centerY = (thisComp.height - (yN-1)*yL)/2;
[centerX, centerY] + [x, y]





Теперь у нас есть правильно настроенный слой, дублируем его сколько нужно, потом заменяем на различные фотографии. В самом нижнем слое нуль объекте в любой момент можем изменить растояние между элементами решетки, количество строк и столбцов. Очень полезно для составления колажей из фотографий, эти колажи можно потом анимировать Card dance effect ом, например. Также можно ввести в слои выражение для вращения по оси Y - сделав их 3-х мерными и слайдером вращать.


1

#2
Пользователь офлайн   1000 y.e. 

  • Активист форума
  • Группа: Пользователи
  • Сообщений: 322
  • Регистрация: 08 Февраль 11
  • ГородLos Angeles, USA

Просмотр сообщенияIlya1970 (14 Февраль 2011 - 22:32) писал:

Задача - у вас 40 фотографий одного размера, их нужно расположить в виде правильного прямоугольника - решетки 5 на 8...


Расслабься. НаписАное тобою выражение совершенно бесполезная вещь ...

Все это можно сделать быстрее и проще в 5 кликов мышом без экспрешенов. В примере использовано 40 слоев (фотографий) для создания сетки 8 х 5 (смотреть в HD, 720p) - http://www.youtube.c...h?v=PHQ_k4F9O8c


А вот в созданном мною пресете (Grid Generator), всего одна строка выражения выполняет действительно полезную работу (смотреть в HD, 720p) - http://www.youtube.c...h?v=u36-JPu-u3Q
Не имеет значения.
0

#3
Пользователь офлайн   Ilya1970 

  • Продвинутый пользователь
  • Группа: Пользователи
  • Сообщений: 98
  • Регистрация: 29 Январь 11
Ну а меня нет этого Matrix creator.... И чето даже не слышал про него...а, так это скрип специальный... ну спасибо. а твой пресет - да полезно.
0

#4
Пользователь офлайн   1000 y.e. 

  • Активист форума
  • Группа: Пользователи
  • Сообщений: 322
  • Регистрация: 08 Февраль 11
  • ГородLos Angeles, USA

Просмотр сообщенияIlya1970 (15 Февраль 2011 - 19:14) писал:

...Matrix creator...а, так это скрип специальный...


Нет. Это не скрипт. Этот эффект - один из множества эффектов, входящих в набор плагина Plane Space.

Офсайт - www.redgiantsoftware.com



Не имеет значения.
0

#5
Пользователь офлайн   sn4ke 

  • Эксперт
  • Группа: Пользователи
  • Сообщений: 895
  • Регистрация: 17 Январь 11

Просмотр сообщения1000 y.e. (16 Февраль 2011 - 14:00) писал:

Нет. Это не скрипт. Этот эффект - один из множества эффектов, входящих в набор плагина Plane Space.

кто не знает выражений юзает плагины, это не значит что это не скрипт и не выражение, это плагин который действует абсолютно так же как скрипт которыми и являются выражения. :rock:
0

#6
Пользователь офлайн   1000 y.e. 

  • Активист форума
  • Группа: Пользователи
  • Сообщений: 322
  • Регистрация: 08 Февраль 11
  • ГородLos Angeles, USA

Просмотр сообщенияsn4ke (16 Февраль 2011 - 16:17) писал:

плагин который действует абсолютно так же как скрипт которыми и являются выражения.
Куришь что или шырка? Или грибочки? :ai:



Не имеет значения.
0

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


К форумамПанель входа
Зарегистрироваться