3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Масштабирование объектов по маске
compAz
сообщение 18/11/2012, 08:48
Сообщение #1


Мастер
Иконка группы

Группа: Пользователи
Сообщений: 1 003
Регистрация: 10/05/2007
Пользователь №: 50 972



Есть множество объектов, разбросанных по карте. Это просто кружочки Roto.

Нужно, чтобы кружочки изменяли масштаб по маске.

Например: маска — это анимированный разблуренный круг.
Когда маска проходит над кружочком, тот увеличивается пропорционально интенсивности пикселя маски, который в данный момент находится над кружочком.

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

Я так понимаю — это может быть экспрешн, прописаный в поле scale кружочка и завязаный на маску.

На настоящий момент я пока нарыл такое выражение, но оно не работает, (по крайней мере не воспринимается нюком, будучи прописаным в поле scale):

Код
sample(n, c, x, y, dx, dy)

Get pixel values from an image. Deprecated, use Node.sample instead.

This requires the image to be calculated, so performance may be very bad if this is placed into an expression in a control panel. Produces a cubic filtered result. Any sizes less than 1, including 0, produce the same filtered result, this is correct based on sampling theory. Note that integers are at the corners of pixels, to center on a pixel add .5 to both coordinates. If the optional dx,dy are not given then the exact value of the square pixel that x,y lands in is returned. This is also called 'impulse filtering'.

Parameters:
n - Node.
c - Channel name.
x - Centre of the area to sample (X coordinate).
y - Centre of the area to sample (Y coordinate).
dx - Optional size of the area to sample (X coordinate).
dy - Optional size of the area to sample (Y coordinate).
Returns: float
Floating point value.



С другой стороны, в ноде math expression прекрасно работает команда типа R (x, y) (имя_канала(коорд.Х, коорд.У)). Она возвращает значение пикселя цветового канала по указанным координатам. Но невозможно прилинковать к этому значению другие ноды, оно «только для внутреннего применения».

Вобщем вот задача: надо в реальном времени изменять масштаб кружочков по маске.
Go to the top of the page
 
+Quote Post
compAz
сообщение 20/11/2012, 18:28
Сообщение #2


Мастер
Иконка группы

Группа: Пользователи
Сообщений: 1 003
Регистрация: 10/05/2007
Пользователь №: 50 972



Сам же себе и отвечу

Решение
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






Fast ReplyReply to this topicStart new topic

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

 



RSS Текстовая версия Сейчас: 19/03/2024 - 14:22