Comunidad de Artistas 2D/3D
 

 
Retroceder   CGCore > Principal > Postproducción & Edición de video

Respuesta
 
LinkBack Herramientas Desplegado

Expressions a Fondo - Combustion
Antiguo 18-jul-2007, 01:36   #1 (permalink)
Junior Member
 
Avatar de pixeleye3d
 
pixeleye3d está desconectado
Fecha de Ingreso: julio-2006
Mensajes: 16
pixeleye3d llegará a ser famoso muy prontopixeleye3d llegará a ser famoso muy pronto
Poder de Credibilidad: 31
Predeterminado Expressions a Fondo - Combustion

Expressions

Introduccion

Las expresiones o expressions fueron introduccidas en Desde Combustion 3, se crearon como un metodo de automatizacion de animaciones, a partir de combustion 4 se genero una mayor logica de modificacion, con la cual el usuario puede modificarlas para lograr los resultados esperados. Las expresiones crean keyframes automaticamente basandose en formulas matematicas y en lenguaje de programacion javascript y ecma-script, estos lenguajes estándar de programación que permiten muchísimas posibilidades y poseen un manejo relativamente simple, podemos utilizar operadores aritméticos, además de expresiones predefinidas que podemos utilizar como punto de partit¡da para generar nuestras propias expresiones. La potencia de Combustion 4, esta en que con tan solo entender las funciones basicas de las expresiones podemos empezar a entender el funcionamiento logico de las mismas

una formula matemática que puede ser utilizada para animar los canales de las propiedades de las capas u operadores, animar utilizando expresiones puede ahorrarnos mucho tiempo y esfuerzo en la creación de movimientos y efectos complejos.


Una expresión esta compuesta por valores numéricos, constantes, referencia a canales y combinaciones de estos elementos; son calculadas de izquierda a derecha.

Podemos basar las expresiones también en el número de frame, el tiempo local del cuadro actual o el tiempo global de la composición para generar otro tipo de efectos.

multiline editor
El multiline editor es el que nos va a permitir hacer operaciones en las expresiones, por default aparece en 0.0000, por que nuestro elemento se encuentra en la posicion 0.000 del workspace. Bien ahora cambiemos la posicion a 90. miremos como la footage cambia de posicion por medio de nuestro script. 90 es intepretado como este numero entero, o como la sumatoria de 45+45.

Combustion calcula la operaciones matematicas en el siguiente orden.

1. Multiplicacion
2. division
3. adicion
4. sustraccion

en ese orden especifico calcula las operaciones matematicas.
Hagamos el siguiente ejemplo:

Si tenemos el siguiente valor: 5+2*4+3 haciendo la operacion como aprendimos en el colegio el resultado seria = 31

Bien debido al orden explicado anteriormente combustion calcula diferente esta operacion, primero multiplica 2*4 =8 a ese resultado le adicciona el 3 por se la suma siguiente y por ultimo suma el 5, para darnos un resultado de = 16.

Bien ahora para obtener el resultado aprendido en el colegio tendria que tener el siguiente concepto: tenemos que hacer la misma operacion pero de la siguiente manera:
(5+2)*4+3, de esta manera el combustion detecta el parentesis para hacer esa operacion primero 5+2=7, este resultado lo multiplica por 4 y los suma por 3= 31.
Tenemos que tener encuenta que a la hora de usar parentesis, no podemos dejar abierto ninguno por que esto hace que combustion se confunda. Hagamos la misma operacion anterior y borremos un parentesis, al confundirse combustion, me marca un error con un simbolo de exclamacion en amarillo.

Al dar doble click en el circulo amarillo, combustion me informa que tipo de error contengo en el script.

Creacion de una variable

Borramos la expression anterior, y ahora agregamos una nueva, abrimos el multiline editor, y empezamos a generar nuestra nueva variable.

rate = 5;
time = 20;

rate*time

El simbolo; significa el fin de la variable

Vemos que este resultado es x pos= 100.

Bien ahora si queremos una variable mas compleja podriamos declarar la siguiente:

rate = 5;
time = 20;

rate*(rate+time)+18/time;

el orden de la sumatoria seria la siguiente: 5*(25)+0.9= 125.9

bien ahora vemos que hicimos todas esta variables para simplemente acomodar el footage en la posicion x pos= 125.9, seria ilogico que usaramos las expresiones como una herramienta para posicionar elementos, las expresiones van a ser una herramienta que bajo este mismo concepto vamos a usar en animacion. Como ayudante para automatizar animaciones complejas.

Bien, ahora veremos como se puede declarar una variable para animacion de un elemento

rate = 5;
time = GetCurrentFrame();

rate*(rate+time)+18/time;

esta variable me permite crear una animacion, hay que tener en cuenta que javascript es un lenguaje que es bastante sensible a la composicion de los scripts es decir se deben respetar las letras minusculas y mayusculas.

Hay dos puntos claves en combustion en los cuales podemos referenciar variables para que cambien:

La primera es :

1. cuando una animacion existe ya sea por keyframe animation o por expresiones, se puede tomar la informacion de la animacion para ser re editada desde la misma animacion para ser calcula en la expression.
2. la otra es el time, debido a que combustion es un programa usado para motion graphics y composiciones animadas, uno de los factores mas importantes en los que trabaja es el time. La cantidad de la variable de tiempo siempre cambia constantemente. Este time tambien puede ser variado o controlado por una expression haciendo de esta variable una variable controlada por expresiones matematicas.

Una vez vamos entendiendo como trabajan las expresiones podemos empezar a controlar con unas de las herramientas mas poderosas de combustion, ya que si tenemos el control de el lenguaje de expression vamos a poder hacer variaciones de las mismas.

Expression browser

El expression browser, es una herramienta en donde podemos encontrar un set de expresiones bastante interesante, una vez entendiendo los conceptos explicados anteriormente, vamos a poder contra con la seguridad de poder editar las expressions del expression browser.

Para probar el expression browser, vamos a hacer click en el canal x posicion y vamos a dar click en el boton expression browser.

Lo primero que nos muestra es el xchannel que nos indica el canal o canales que tenemos seleccionado con el expression browser, el expression browser es un modo visual en donde podemos controlar la creacion de las mismas, desde aca variando cada uno de los parametros podemos llegar a crear automatizaciones interesantes.

El picon frame, corresponde a la duraccion de frames de nuestra composicion

Las expressions del browser se dividen en simples, complejas, randoms , three dimensionals, asi mismo dependiendo del canal seleccionado asi mismo se habilitaran las expresiones que se pueden aplicar, al seleccionar un solo canal, ej: x pos, se habilitan expresiones que solo van afectar a este canal, de igual manera al seleccionar los canales xy pos, tenemos acceso a un Nuevo set de expresiones aplicable a esos dos canales. Y l mismo pasa al seleccionar 3 canales, xyz pos, accedemos a una expression 3d.


Link Buttons

Los link bottons son utilizados para poder linkiar cualquier parametro, es decir por medio de ellos podemos automatizar dos funciones a la vez, y hacer que un expression se comporte influenciada a la modificacion de otro canal.

Contamos con dos tipos de link.

1. link absoluto(/):

se usa cuando queremos que un objeto herrede las expresiones del padre. Lo que hace este tipo de link es, general una conexion buscando informacion del objeto linkiado y hace referencia al nombre del composite.

CB.GetChannelValue( "Branch 'Composite - Untitled'/Composite - Untitled/Onbject b/Transformation/X Position", CB.GetCurrentFrame() );

Si refrescamos el nombre del composite automaticamente el la renombra en un link absoluto.


Ej: tenemos dos objetos , un objeto que se esta desplazando en el x pos, con un expression sine, y otro que permanence estatico, para hacer que el Segundo objeto copie la propiedades de expresiones de padre (absoluto), seleccionamos el Segundo objeto , ubicamos la trasnformacion en el mismo canal xpos, damos click en link absolute (/) y la linkiamos con el xpos del objeto uno, al hacer el objeto dos herreda las posiciones del padre y genera el mismo movimiento del mismo.

Al modificar la expression del objeto padre automaticamente es herredada al objeto dos.

Al estar linkiado absolutamente al padre el objeto 2, adquire la propiedad GetChannelValue

CB.GetChannelValue( "Branch 'Composite - Untitled'/Composite - Untitled/Onbject b/Transformation/X Position", CB.GetCurrentFrame() );

El parametro GetChannelValue me obliga a combustion a buscar la informacion del canal en la posicion x del objeto b, si bien podemos usar esta misma expression podemos partir de ella para modificiarla para que el objeto a actue un poco diferente al padre. Podriamos hacerlo por medio de la anterior expression modificada

CB.GetChannelValue( "Branch 'Composite - Untitled'/Composite - Untitled/Onbject b/Transformation/X Position", CB.GetCurrentFrame())+100;

De esta forma desplazamos en 100 pixel en la posicion x el objeto a. este seria un cambio de posicion.

Ahora, si queremos hacer un cambio en el timing tendriamos que usar la misma expression pero poniendo el valor entre el getcurrentframe

CB.GetChannelValue( "Branch 'Composite - Untitled'/Composite - Untitled/Onbject b/Transformation/X Position", CB.GetCurrentFrame()+100);

Eso va a permitir que la expression se desfase en time.

Bien, recordemos usar la opcion channel filtering, que es con la depuramos el timeline y dejamos los canales que solo vamos a utilizar en este caso dejariamos only channels witrh expressions.


2. link realtivo(..)

el link relativo, a diferencia del absoluto, Lo que hace este tipo de link es generar una conexion buscando informacion del objeto linkiado y pero no hace referencia al nombre del composite. Solo hace referencia al layer.
Los dos tipos de links funcionan de igual manera, el cambio lo vamos a ver a la hora de exportar e importar una expression. Ya que al abrir un link absoluto en una nueva composicion por medio del import expression el va a hacer referencia al nombre de la composicion con la que se exporto la expression. Aca vamos a ver que la expression se va a romper y no va a generar la animacion que por el contrario si haria el link relativo por que este solo se referencia al nombre del layer y no al composite.

Para corregir el link absuluto solo tendriamos que corregir la ruta de la misma para que funcione.



Link de dos channels

Para linkiar dos channels, vamos a usar el boton de link absute. Ponemos en el objeto a una expression random con valores de –15 y 15. esta expression la ponemos en el y position del objecto a. ahora, damos link absuluto y la linkiamos con el y rotation del objeto b, ahora vemos que cuando la expression del objeto a se anima gracias a la expression automaticamente se anima la rotacion en y del objeto b.

Al quedar linkiado el y rotation del objeto a con el y position del objeto b, el objeto b general la siguiente expression

CB.GetChannelValue( "Branch 'Composite - Untitled'/Composite - Untitled/Object a/Transformation/Y Position", CB.GetCurrentFrame() );

De esta manera tambien podemos modificar los parametros de las expression, si nos vamos al yrotation del objeto b y modificamos la expression anterior y le agregamos el siguiente valor

CB.GetChannelValue( "Branch 'Composite - Untitled'/Composite - Untitled/Object a/Transformation/Y Position", CB.GetCurrentFrame()-100 );

Lo que hacemos es darle un cambio den la y rotation de –100.

Convert Expressions

Este parametro nos permite traduccir un expression a keyframes, cuenta con un valor llamado accurancy, el cual a mayor numero crea menos keyframes y a menor numero crea mas keyframes, para convertir una expression seleccionamos los canales que queremos convertir y le damos click al boton math operations/convert expression. Para visualizar el cambio del convert expression es necesario estar en modo graph del timeline.

Una vez la tenemos convertida podemos modificar los keys de manera manual.

espero ayudarles a comprender un poco la logica de las expressions de combustion para que asi empiecen a automatizar animaciones mas complejas.

-m-
  Responder Citando

Antiguo 20-jul-2007, 14:17   #2 (permalink)
Senior Member
 
Avatar de Jorge Ivanovich
 
Jorge Ivanovich está desconectado
Fecha de Ingreso: julio-2004
Ubicación: Mar del Plata
Edad: 34
Mensajes: 411
Jorge Ivanovich llegará a ser famoso muy prontoJorge Ivanovich llegará a ser famoso muy pronto
Poder de Credibilidad: 59
Enviar un mensaje por MSN a Jorge Ivanovich
Predeterminado

Che....perdon la pregunta pero ,a que obedece el descuelgue?

No tendria que estar en tutoriales o algo asi?

Igual gracias!!!
__________________
--------------------------------------------------------
http://cgcore.com/jorge%20ivanovich
http://jorgeivanovich.cgsociety.org/gallery/
http://www.miuska.com.ar/
--------------------------------------------------------
  Responder Citando

Antiguo 20-jul-2007, 16:10   #3 (permalink)
viefex
 
Avatar de Mentalboy
 
Mentalboy está desconectado
Fecha de Ingreso: abril-2006
Ubicación: En una caja traslucida
Edad: 25
Mensajes: 995
Mentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la famaMentalboy tiene una reputación que sobrepasa la fama
Poder de Credibilidad: 59
Enviar un mensaje por MSN a Mentalboy
Predeterminado

concuerdo con Jorge
esta copado el tuto, guia o lo q sea
pero hay algunos (me incluyo) q no tenemos ni la mas remota idea q son las expressions
estaria una pequeña introduccion, no?
saludos!
  Responder Citando

Antiguo 22-jul-2007, 01:31   #4 (permalink)
Super Moderador
 
Avatar de EzequielM
 
EzequielM está desconectado
Fecha de Ingreso: abril-2004
Mensajes: 962
EzequielM tiene un brillante futuroEzequielM tiene un brillante futuroEzequielM tiene un brillante futuroEzequielM tiene un brillante futuroEzequielM tiene un brillante futuroEzequielM tiene un brillante futuroEzequielM tiene un brillante futuroEzequielM tiene un brillante futuroEzequielM tiene un brillante futuro
Poder de Credibilidad: 74
Predeterminado

esto esta muy bueno para hacer capsules en combustion para automatizar compos

mentalboy, busca alguna intro de lenguaje C, con eso vas a tener una lindo intro "generica" para usar en cualquier programa q tenga expressions o scripting

pixeleye3d, lo escribiste vos?si lo escribiste vos lo podriamos meter en la seccion tutoriales si te parece

maniana lo leo bien a fondo

gracias por el aporte!
__________________
--
Ezequiel Mastrasso
http://www.ezequielm.com
Te: 11-3611-3887
  Responder Citando

hola a todos
Antiguo 22-jul-2007, 22:08   #5 (permalink)
Junior Member
 
Avatar de pixeleye3d
 
pixeleye3d está desconectado
Fecha de Ingreso: julio-2006
Mensajes: 16
pixeleye3d llegará a ser famoso muy prontopixeleye3d llegará a ser famoso muy pronto
Poder de Credibilidad: 31
Predeterminado hola a todos

si es un aporte que queria hacer al foro, pues es un material que vengo desarrollando a fondo debido a la poco info que se encuentra sobre el tema. la idea es poder aportar y compartir, asi todos podemos aprender cosas nuevas cada dia. espero que para los interesados sea un material que les sirva para aclarar dudas. saludos!
  Responder Citando

ok
Antiguo 22-jul-2007, 22:09   #6 (permalink)
Junior Member
 
Avatar de pixeleye3d
 
pixeleye3d está desconectado
Fecha de Ingreso: julio-2006
Mensajes: 16
pixeleye3d llegará a ser famoso muy prontopixeleye3d llegará a ser famoso muy pronto
Poder de Credibilidad: 31
Predeterminado ok

y estoy de acuerdo en que lo publiques en la seccion de tutos, yo lo postee aca por que se me hace importante que la gente que navegue por la seccion de post se encuentre con esta info!.
  Responder Citando

introduccin
Antiguo 22-jul-2007, 22:49   #7 (permalink)
Junior Member
 
Avatar de pixeleye3d
 
pixeleye3d está desconectado
Fecha de Ingreso: julio-2006
Mensajes: 16
pixeleye3d llegará a ser famoso muy prontopixeleye3d llegará a ser famoso muy pronto
Poder de Credibilidad: 31
Predeterminado introduccin

chicos, ya le agregue al post una pequeña introduccion. para que quede mas completo el apunte.
  Responder Citando

Antiguo 06-ago-2007, 18:41   #8 (permalink)
Member
 
Avatar de pauchionly
 
pauchionly está desconectado
Fecha de Ingreso: agosto-2005
Edad: 29
Mensajes: 58
pauchionly llegará a ser famoso muy prontopauchionly llegará a ser famoso muy pronto
Poder de Credibilidad: 42
Enviar un mensaje por MSN a pauchionly
Predeterminado

Cita:
Iniciado por Jorge Ivanovich Ver Mensaje
Che....perdon la pregunta pero ,a que obedece el descuelgue?

No tendria que estar en tutoriales o algo asi?

Igual gracias!!!
Es groso, ya que en tema de expresiones hay poco y nada, lo que hay es sobre flash, esta muiy bueno para animar en combustion, after effects, etc.
__________________
artebit.blogspot.com
  Responder Citando
Respuesta

Marcadores


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado




La franja horaria es GMT -3. Ahora son las 22:06.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43