Animación ascensor

Soliman - 01/01/2008 22:23
Bueno, no estoy muy seguro de si va en animación o va a tener que ir en otro foro. Estoy haciendo una prueba con un ascensor, en Blender.

He creado solo dos plantas y estoy probando con ipo. ascensor4.blend.

Cargo este archivo para que se vea más claro lo que quiero decir.

Estando en planta baja, presiono tecla a y se abre la puerta, entro en el ascensor y presiono tecla 1 (teclado normal) para subir al primer piso. Cuando llego al primer piso presiono tecla s y se abre la puerta. Si ahora bajo, no hay ningún problema, pues el ascensor también baja, pero si bajo por la escalera y vuelvo a presionar a en la planta baja, el ascensor todavía está en la primera.

Este problema es solo con 2 plantas, y cuando tenga 4?
Me gustaría saber, que opción tengo si utilizar algún script o algún tipo de expresión?

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #63579

SHAZAM - 01/01/2008 22:37
Este tema creo que va mejor en videojuegos ya que supongo que, te refieres al Game Engine, te lo mudo para, allá. Edito: confirmado, Game Engine.
Soliman - 01/01/2008 22:42
Gracias. Si que es para Game Engine, pero tampoco estoy muy seguro, que al final va a ser del foro de Python.
Caronte - 01/01/2008 22:44
No necesitas ningún script ni expresión para hacer algo tan sencillo, pero debes pensar con lógica. Debes de usar una sola tecla para abrir el ascensor, para saber que puerta debe abrirse, puedes usar un sensor de contacto con el suelo en cada planta o de cercanía en cada puerta, antes de abrir la puerta debes comprobar que el ascensor esté en esa planta y eso debes hacerlo con una variable (property) donde guardaremos en que planta está el ascensor y a la que le asignaremos el valor muy fácilmente en el momento en que pulsamos el número de la planta a donde queremos ir, después usamos esa variable para comprobar si el ascensor está en esa planta y de no ser así, la puerta no se abrirá.

En definitiva puedes hacer que el ascensor funcione exactamente igual que uno real, usando únicamente logic-briks.
Soliman - 01/01/2008 23:03
Estoy un poco espeso, me voy a dormir y mañana me lo miro. Gracias.
SHAZAM - 01/01/2008 23:59
Caronte, ¿sabes si el libro Blender game kit sigue vigente o ha quedado como objeto de culto? Por ahora lo he tenido como lo último, pero es por si merece la pena echarle una ojeada, por los principios básicos claro, o mejor ir directamente a la documentación actual.
Mars Attacks - 02/01/2008 01:54
Hombre, la forma más limpia y bonita de hacerlo sería que el botón de cada planta le mandará al ascensor un mensaje con la z a la que tiene que ir el ascensor.

Desde el ascensor, un script simple comprobaría si su z es mayor, igual o menor a la que tiene que ir, y dirigirse a ella mientras sean distintas.

Pero ahí ya hay que codear un poco. La ventaja es que es muy escalable y fácil de mantener, tengas 1, 2 o 400 plantas.
Caronte - 02/01/2008 07:26

Caronte, ¿sabes si el libro Blender game kit sigue vigente o ha quedado como objeto de culto? Por ahora lo he tenido como lo último, pero es por si merece la pena echarle una ojeada, por los principios básicos claro, o mejor ir directamente a la documentación actual.

Sigue vigente, habrá alguna cosa distinta, pero poca cosa, porque no han tocado mucho el game-engine desde entonces.
SHAZAM - 02/01/2008 09:47

Sigue vigente, habrá alguna cosa distinta, pero poca cosa, porque no han tocado mucho el game-engine desde entonces.

Mola, muchas gracias, a empollar entonces.
fisicomolon - 04/01/2008 22:44
Ahí tienes un pequeño ejemplo de un ascensor funcionando con logics bricks, pulsas 1, 2 o 3, para que vaya a la planta 1 2 o 3. Tiene algunos bugs. Pero creo que es la idea que querías.

Está hecho con logic bricks porque no sé si controlas Python.

Consideralo un regalo de reyes, saludos a todos.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #63739

Caronte - 05/01/2008 00:12
Hombre, ya que te pones hazlo del todo. Para ser correcto:
[list=1]
  • solo debería haber un botón (tecla) de llamada de ascensor.
  • las puertas deben abrirse al llegar a la planta destino y cerrarse cuando entremos o salgamos (no antes).
  • los botones (teclas) que llevan a las plantas deberían funcionar solo dentro del ascensor.[/list]
  • fisicomolon - 05/01/2008 03:55

    Hombre, ya que te pones hazlo del todo. Para ser correcto:
    [list=1].

  • solo debería haber un botón (tecla) de llamada de ascensor.
  • las puertas deben abrirse al llegar a la planta destino y cerrarse cuando entremos o salgamos (no antes).
  • los botones (teclas) que llevan a las plantas deberían funcionar solo dentro del ascensor.[/list]

  • Tu por pedir que no quede ¿no?
    1.- Los ascensores reales no tienen un solo botón de llamada. Hay un por planta y, aunque parezcan iguales, no son el mismo.
    2.- Las puertas se cierran y se abren solas, solo que se quedan abiertas si hay alguien en medio. Eso es cuestión de que ponga un plano o algo en la entrada, mi demo no tiene personajes, eso ya que lo ponga quien quiera.
    3.- Como no he hecho personajes pues no puedo hacer que funcionen solo dentro. Además, de la manera que lo he hecho, puede reutilizarse los botones es decir pueden usarse los mismos para llamar al ascensor como para pulsar el piso al que quieres ir.

    No se me ocurre que más hacerle, sin adaptarlo a algún juego o escenario concreto. Pero eso ya que se lo curre el que quiera.

    Yo creo que para lo que me han pagado tampoco esta tan mal ¿no?
    Felices reyes a todos.
    Soliman - 05/01/2008 19:01
    Gracias a todos, físico molón gracias por el regalo de reyes, mirar este blend, en el cual he puesto los logic como me has contado.

    De momento, he puesto la apertura de puerta con las teclas a,s,d y luego intentaré que se abran cuando llegue el ascensor o si ya está en esa planta que se abra directamente, pero eso será luego, lo de los diferentes números, está muy bien, porqué entonces lo que voy a hacer es colocar esa conexión con los diferentes botones de planta.

    Pero resulta que no se el porqué, el cubo que he puesto en escena, no lo sube el ascensor?
    He tardado en responder porque estoy de traslado de vivienda y tengo un cacao fenomenal.

    -- IMÁGENES ADJUNTAS --

    🖼️

    Estamos trabajando para mostrar las imágenes del foro

    Adjunto #63740

    Caronte - 05/01/2008 19:17

    Tu por pedir que no quede ¿no?

    1.- Los ascensores reales no tienen un solo botón de llamada. Hay un por planta y, aunque parezcan iguales, no son el mismo.

    De la forma en que tú lo has hecho, tendría que haber tantos botones por planta como plantas, porque desde cualquier planta se puede pulsar cualquiera de los números.

    2.- Las puertas se cierran y se abren solas, solo que se quedan abiertas si hay alguien en medio. Eso es cuestión de que ponga un plano o algo en la entrada, mi demo no tiene personajes, eso ya que lo ponga quien quiera.

    De este modo un personaje podría quedar atrapado en la puerta.

    3.- Como no he hecho personajes pues no puedo hacer que funcionen solo dentro. Además, de la manera que lo he hecho, puede reutilizarse los botones es decir pueden usarse los mismos para llamar al ascensor como para pulsar el piso al que quieres ir.

    Eso hay que cambiarlo.

    Yo creo que para lo que me han pagado tampoco esta tan mal ¿no?

    Es algo extremadamente simple, lo de pagarte es aparte.

    Felices reyes a todos.

    Idem.
    Caronte - 05/01/2008 19:41

    Pero resulta que no se el porqué, el cubo que he puesto en escena, no lo sube el ascensor?

    Al ascensor cambia el Bound de Cube a static trianglemesh.
    Soliman - 06/01/2008 01:41
    Correcto. Ya funciona la primera parte, ahora a por la segunda. Gracias otra vez y en breves días volveré a preguntar, casi seguro.
    fisicomolon - 06/01/2008 16:20

    De la forma en que tú lo has hecho, tendría que haber tantos botones por planta como plantas, porque desde cualquier planta se puede pulsar cualquiera de los números.

    Según yo lo veo, de la forma que yo lo he hecho hay 1 botón por planta. Si hay 3 plantas, dentro del ascensor debería haber 3 botones, y en cada planta un único botón de llamada.

    En la planta 1 el botón 1, en la 2 el 2, en la 3 el 3, y en el ascensor los 3.

    Que no digo que mi forma de hacerlo sea la mejor ni la peor, solo digo, como lo he planteado.
    Caronte - 06/01/2008 20:35
    No me has entendido, lo que quería decir es que como lo tienes ahora, se pueden pulsar todos los botones esté donde esté el ascensor y esté donde esté el personaje (incluso si está fuera donde no hay botones de otras plantas).

    Bueno, tampoco vamos a mover más la porquería con un palito supongo que ya lo hará como mejor le parezca.
    fisicomolon - 07/01/2008 19:08
    A ver nadie remueve aquí nada, estamos discutiendo la idea. Como yo lo he hecho es cierto lo que tú dices. Se supone que para adaptarlo a un juego, tendrías que cambiar los botones en vez de que sean pulsando teclas, que tengas que hacer click con el ratón, o que solo funcionen las teclas cuando estés cerca del botón apropiado. Entonces sí, se puede hacer como lo he dicho antes.

    Discutiendo es cómo se aprende.