XSIforum.com

multiresolution

0 Usuarios y 1 Visitante están viendo este tema.

dingdong

  • **
  • 522
  • espera, que ya llegoooo!!!!!
multiresolution
« en: 04 Julio 2003, 10:04:07 »
tengo una duda (creciente) a ver si alguien me echa una manita:

gracias a |3|D| me apaño con los reference models. De este modo tengo tres modelos externos a distintas resoluciones, en una escena he importado un modelo y los otros dos les he utilizado para Filenames for Model Resolutions dentro de las propiedades del modelo externo.

mediante Modify\Model\Set resolution establecemos la resolución del modelo (es decir el tipo de modelo fuente)

alguien sabe cómo hacer que cambie el modelo fuente según la distancia a al cámara? he pensado en crear una expresión pero no sé a qué parámetro aplicársela

muchos zankius

Dingdong

Tomás

  • O_O
  • *****
  • 4621
  • Mi no entender
Re:multiresolution
« Respuesta #1 en: 04 Julio 2003, 13:33:21 »
mm
tendre ke mirarlo, eso si me suena que lo tenia el MAX, y se que con el xsi se puede hacer lo mismo pero aplicado a los materiales, pero con objetos ahora no caigo.

lo consultare, pero debe ser con una expresion si

ZiNox

Re:multiresolution
« Respuesta #2 en: 04 Julio 2003, 15:02:47 »
Holas dingdong

Weno pues ahora mismo toy mirando a ve si se puede hacer lo que quieres..

En XSI hay una opcion que es para ver la distancia de un objeto hasta la camara...
Estoy intentando hacer la expresion pero aun no he conseguido nada "bueno"

El script que he hecho es el siguiente:

If attrseldistfromcamera < 30 Then
   SetValue "Sources.ModelSource_Model.active_resolution", 3
      else
      SetValue "Sources.ModelSource_Model.active_resolution", 2
End If


ModelSource_Model seria el nombre del Source name del modelo referenciado.

attrseldistfromcamera es el valor de la distancia de un objeto sobre la camara, pero asin no rula :/

Lo que me falla es el disparador, osea hacer la historia para ke a tal distancia ponga una u otra resolucion... vamos lo mas importante =)

Posteo esto mas que nada para ver si a alguien se le ocurre algo, yo seguire intentandolo.

Un Saludo
« Última modificación: 04 Julio 2003, 15:06:53 por ZiNox »

ZiNox

Re:multiresolution
« Respuesta #3 en: 09 Julio 2003, 16:30:29 »
Aun no he conseguido lograrlo.... y ya me ha rayao un poquito.

Si argun dia lo logro lo posteare =)

Un saludo

Tomás

  • O_O
  • *****
  • 4621
  • Mi no entender
Re:multiresolution
« Respuesta #4 en: 09 Julio 2003, 20:55:56 »
Pues por lo que parece, no se puede no, lo que si puedes hacer es animar el nivel de subdivision de la malla a mano, otra cosa no se me ocurre, que yo sepa solo se puede introducir el factor de distancia a la camara en los shaders.

Un saludo

dingdong

  • **
  • 522
  • espera, que ya llegoooo!!!!!
Re:multiresolution
« Respuesta #5 en: 14 Julio 2003, 13:35:25 »
gracias por el interés, yo digo que sí!!!! que tiene que haber alguna manera.
sigo estrujandome los sesos..... ya os pondré al tanto si encuentro algo

Ding Dong

jdracon

Re:multiresolution
« Respuesta #6 en: 22 Julio 2003, 09:49:37 »
Buenas

Acabo de descubrir este foro y parece q tiene buena pinta, ya va siendo hora q haya más foros en castellado sobre XSI. Aunq seria mejor q hubiese más empresas q usasen XSI.

Y ahora al asunto, lo q quieres hacer se hace de la siguiente manera, digamos q tengo una esfera y dependiendo de la distancia a cámara tendra una u otra resolución:

1- Selecciono esfera y Property - Geometry Aproximation
2- Dentro de este selecciono icono de animación de Surface U y lo arrastro sobre Surface V
3- Se abre Expresion Editor, doy Validate, Apply y cierro el cuadro de dialogo
4- Sobre icono animación Surface U, botón dcho y Expression Editor y creo una condicional
5- Fuction - Conditions - Condition
6- Y aparece lo siguiente:..................cond( <cond> , <true_expr> , <false_expr> )
7- Me posiciono sobre <cond>  y lo cambio por Fuction - Distance - To camera
8- Con lo q quedaria  una cosa tal q asi: cond( ctr_dist_cam( <elem1>......... donde elem1: a q elemento se fija la distancia, en ejemplo esfera
9- Me posiciono sobre <elem1> y Object y busco sphere.
10- Luego me posiciono detras de (sphere.) y voy a Fuction - Conditions - Greater than (<)
11- Con lo q me quedaria una expresión así: cond( ctr_dist_cam( sphere. )>30 , 1, 3)
12- Lo q haria q si la distancia a la esfera es mayor de 30 lo pone el G.A. a 1 si no es mayor de 30 lo pone a 3
13- Habria q refrescar para q funcione

Espero q te sea de ayuda.

dingdong

  • **
  • 522
  • espera, que ya llegoooo!!!!!
Re:multiresolution
« Respuesta #7 en: 23 Julio 2003, 08:49:46 »
hola jdracon,
 gracias por la ayuda y el interés pero no eso eso exactamente lo que buscaba; si no te he entendido mal lo que haces es animar el nivel de suavizado del objeto segun la distancia a la cámara, lo que yo buscaba era poder intercambiar modelos distintos según esa distancia.

Hombre, se podría jugar con la visibilidad de varios modelos según una expresión, pero yo me iba por los reference models....

gracias de todas formas

duardito

Re:multiresolution
« Respuesta #8 en: 23 Julio 2003, 10:25:48 »
pues me parece que ya se como hacer lo que quieres , tienes que conectar los valores de movimiento de la camara con el model en cuestion por ejemplo:

'INFO : "4152 - Data loaded from file D:\softimage\XSI_3.5\Data\tutos\Models\Biped_Skeleton.emdl was created with build number: 3.5.2003.0528 - compatibility version: 350"
SetValue "Sources.ModelSource.active_resolution", 2

 esta seria la informacion en el script editor referente al modelo .

Translate , -0.996087216643275, 0, -7.7847954102333, siRelative, siView, siObj, siXYZ
SaveKey "Camera1.kine.local.posx,Camera1.kine.local.posy,Camera1.kine.local.posz", 20

y esta seria la informacion referente al punto donde se mueve la camara, si los conectas deberia funcionarte.

duardito

Re:multiresolution
« Respuesta #9 en: 23 Julio 2003, 10:59:32 »
pues ya lo he probado abres el script editor y alli pones:

Translate "chasca" , 0, 0, -8.58622322986741, siRelative, siView, siObj, siXYZ
SetValue "Sources.ModelSource.active_resolution", 3

lo ejecutas y se mueve la camara a un sitio y ademas cambia el model, "chasca" es el nombre de la camara y el numero ultimo de la frase  de abajo es  para indicar que modelo quieres. ;D
supongo que esto lo que querias.