Comunidad de Artistas 2D/3D
 

 
Retroceder   CGCore > Noticias, Ayuda & Consejos > Ayuda & Pruebas

Respuesta
 
LinkBack Herramientas Desplegado

Max Script material segun altura
Antiguo 28-ago-2008, 15:29   #1 (permalink)
Senior Member
 
Avatar de LordEnfermo
 
LordEnfermo está desconectado
Fecha de Ingreso: diciembre-2004
Ubicación: Buenos Aires
Edad: 24
Mensajes: 1.229
LordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuro
Poder de Credibilidad: 66
Enviar un mensaje por MSN a LordEnfermo
Predeterminado Max Script material segun altura

Hola! Ando con un dilema. Estoy tratando de hacer un scriptcito que me permita que un objeto cambie de color rojo cuando esta en altura media, que cambie a rosa cuando este en su altura maxima, y que cuando este en su altura minima cambie a azul.

Estuve buscando en script spot pero no encontre nada que me pudiera ayudar...
Me podrian dar una sugerencia de como encarar el tema?
No lo puedo hacer animando el material porque son muchos objetos que van cambiando de altura en diferentes momentos y tienen que tener esos mismos parametros.
gracias!
  Responder Citando

Antiguo 28-ago-2008, 18:16   #2 (permalink)
Senior Member
 
Avatar de jabier
 
jabier está desconectado
Fecha de Ingreso: enero-2007
Ubicación: Rio IV
Edad: 26
Mensajes: 231
jabier Es un nombre conocido por todosjabier Es un nombre conocido por todosjabier Es un nombre conocido por todosjabier Es un nombre conocido por todos
Poder de Credibilidad: 29
Predeterminado

Pues nose como es la toma, pero si es frontal mas o menos frontal, no necesitas un scrip, solo una imagen que tenga los tres colores como franjas horizontales, primero la azul después rojo y por ultimo el de arriba de todo, el roza, luego la pones en el difuce y en el Mapping del Bitmap, pones Environ, Screen, pero así se aria sin scrip, con scrip sin duda quedaria mejor saludos
  Responder Citando

Antiguo 28-ago-2008, 19:40   #3 (permalink)
FX enfermo
 
Avatar de HoriPoi
 
HoriPoi está desconectado
Fecha de Ingreso: noviembre-2005
Edad: 22
Mensajes: 479
HoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuroHoriPoi tiene un brillante futuro
Poder de Credibilidad: 51
Enviar un mensaje por MSN a HoriPoi
Predeterminado

pudiste resolverlo ya? ta bueno como ejercicio, mostra avances!
  Responder Citando

Antiguo 29-ago-2008, 01:10   #4 (permalink)
Senior Member
 
Avatar de LordEnfermo
 
LordEnfermo está desconectado
Fecha de Ingreso: diciembre-2004
Ubicación: Buenos Aires
Edad: 24
Mensajes: 1.229
LordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuroLordEnfermo tiene un brillante futuro
Poder de Credibilidad: 66
Enviar un mensaje por MSN a LordEnfermo
Predeterminado

si, esta bueno como ejercicio de max script jejee.
no suena muy complicado de hacer... pasa que yo tengo cero max script. Sino lo que estaba pensando es que lo puedo resolver con luces, jugando con los parametros de attenuation. Pongo tres luces, y seteo la atenuacion para cada rango de alturas...
otra alternativa no se me ocurre
  Responder Citando

Antiguo 29-ago-2008, 12:07   #5 (permalink)
Senior Member
 
Avatar de arkangel
 
arkangel está desconectado
Fecha de Ingreso: noviembre-2007
Ubicación: Lejos, muy lejos!
Edad: 23
Mensajes: 352
arkangel tiene un brillante futuroarkangel tiene un brillante futuroarkangel tiene un brillante futuroarkangel tiene un brillante futuroarkangel tiene un brillante futuroarkangel tiene un brillante futuroarkangel tiene un brillante futuroarkangel tiene un brillante futuroarkangel tiene un brillante futuroarkangel tiene un brillante futuro
Poder de Credibilidad: 26
Enviar un mensaje por MSN a arkangel
Predeterminado

no es para nada complicado scriptear lo que vos queres hacer.
lo que si tenes complicado es que necesitas 1 shader unico para cada esfera.
de hecho, nisiquiera necesitas scriptear, basta con el wire editor.
ponele que tus objectos se muevan entre 0 y 10 en Z(que seria la altura en max).
lo unico que tenes q hacer es conectar la posicion en Z de cada objeto, con el gradient del material. lo que si tenes q hacer, es agregar la exprecion para que en vez de 0 a 10, valla de 0 a 1, esto es simple solo usas =/ 10.

cualquier cosita q no se haya entendido me avisas.
__________________
Cristian Hinz
http://ngons.blogspot.com/


VENDO: ATI FireGL v5200 256Mb GDDR3 PCI-E (400u$s)
  Responder Citando

Antiguo 29-ago-2008, 19:59   #6 (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

No necesita un shader para cada objeto. Eso seria una locura

No se en max, pero en maya se podria hacer de varias formas, quizas te sirva de guia
creo que la mas facil y que se me ocurre ahora rapido seria:
1-Crea un nodo samplerInfo, llamemoslo samplerInfo (jeje mas facil)
2-un surfaceShader
3-dos setRange
4-2 blendColors
(estoy pensando en usar nodos del hyperGraph para no codear mucho y que sea mas "user friendly")

Usando el samplerInfo.pointWorldY como input del setRange ya tenes un valor float de la altura...
Por ejemplo, queres en 0 tenga color verde, al 10 rojo y al 20 rosa haces:
primer setRange: input 0 10 ouput 0 1
segundo setRange: input 10 20 output 0 1

Esos dos setRanges se va a ir activando segun la altura (uno de 0 a 10 y el otro de 10 a 20), y el output de esos dos nodos podes conectarlos a los dos blendColors
Seteas el blendColors1 a color1: verde, y color2: rojo
y el blendColors2 a color2:rosa

setRange1.output->blendColor1.blender
setRange2.output->blendColor2.blender

blendColor1.output->blendColor2.color1

Y listo, con eso anidaste los 2 blendColors
el primer color del colorBlend1 es el color que tendria por "default" y en translacion Y<=0, el segundo color es el que tendria "puro" cuando llega a ty=10
y el colorBlend2 blendea al rosa (de t=10 a 20)

Si conectas el blendColors2 al outColor.surfaceShader, y asignas el mismo shader a todos los objetos, te mostrarian todos el color que deberian segun la altura, y te manejas mas facil que con muchos shaders

Sino se podria hacer por
-particulas, intancias y un ramp
-una proyeccion de un ramp con los colores que queres, a la escala que quieras y usar ese color proyectado para cambiar el shader
-y si se me ocurre otra la posteo
__________________
--
Ezequiel Mastrasso
http://www.ezequielm.com
Te: 11-3611-3887

Última edición por EzequielM; 29-ago-2008 a las 20:22.
  Responder Citando

Antiguo 29-ago-2008, 20:19   #7 (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

si se te ocurre en max como sacar informacion de translacion global en Y durante el sampleo, despues el setRange lo podrias reemplazar por

de 0 a 1:
(((clamp (salidaMenor,salidaMayor, Y))-salidaMenor)/salidaMayor)
__________________
--
Ezequiel Mastrasso
http://www.ezequielm.com
Te: 11-3611-3887
  Responder Citando

Antiguo 29-ago-2008, 20:21   #8 (permalink)
Baneado
 
Avatar de eSlacK
 
eSlacK está desconectado
Fecha de Ingreso: marzo-2004
Ubicación: Buenos Aires - Argentina
Mensajes: 2.026
eSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la fama
Poder de Credibilidad: 103
Predeterminado

eso se puede hacer con wire parameters en max, fijate que es facil, mucho no me acuerdo pero es bastante intuitivo
  Responder Citando

Antiguo 29-ago-2008, 23:03   #9 (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

alguna manera que no sea el wireparameter?
parecido al maya en el sentido de poder usar un mismo shader y no duplicar el shader tantas veces como objetos tengas en la escena?
__________________
--
Ezequiel Mastrasso
http://www.ezequielm.com
Te: 11-3611-3887
  Responder Citando

Antiguo 30-ago-2008, 02:47   #10 (permalink)
Baneado
 
Avatar de eSlacK
 
eSlacK está desconectado
Fecha de Ingreso: marzo-2004
Ubicación: Buenos Aires - Argentina
Mensajes: 2.026
eSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la famaeSlacK tiene una reputación que sobrepasa la fama
Poder de Credibilidad: 103
Predeterminado

no necesitas varios materiales/shaders, solo necesitas uno... aca hice un mini tutorial...

1)agarras un standard material, le pones en el diffuse un gradient
2)elegis los 3 colores y cambias todo como en la imagen
3)click derecho en el objeto ---> wire parameters
4)elegis lo de la imagen
5)te aparece una banda ke tenes ke soltar en el mismo objeto en este caso, porke el movimiento en Z de la esfera modifica el color del material de la misma
6)pones todo como dice la imagen y probas, si ves un cambio muy brusco en los colores cambia "Z_Position/15" por "Z_Position/PROBA NUMBEROS MAS ALTOS ACA" (ver imagen #6 en el siguiente post)

y listo move tu esfera arriba/abajo!
Miniatura de Adjuntos
max-script-material-segun-altura-1.jpg
ID: 2261  max-script-material-segun-altura-2.jpg
ID: 2267  max-script-material-segun-altura-3.jpg
ID: 2268  max-script-material-segun-altura-4.jpg
ID: 2269  max-script-material-segun-altura-5.jpg
ID: 2270  

  Responder Citando
Respuesta

Marcadores

Etiquetas
altura, material, script, segun


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 12:56.


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