Gracias Gracias:  0
Resultados 1 al 5 de 5

Tema: Colisiones en Blitz3D

  1. #1
    Miembro Avatar de Jhonatan00_00
    Fecha de ingreso
    Oct 2016
    Mensajes
    85

    Colisiones en Blitz3D

    Buenas tardes, estoy con el tema de las colisiones en Blitz3D y con según que objetos me funcionan bien o no, a ver si alguien sabe decirme que puedo estar haciendo mal.

    Me explico:
    - Creo el escenario, creo los enemigos, la cámara y los objetos repartidos por el escenario.
    - Defino los tipos de objetos que voy a usar para las colisiones enumerandolos: Tipo_escenarios=1 Tipo_personajes=2...
    - Indico que tipo de entidad es cada objeto para las colisiones aplicando las numeraciones que he creado anteriormente: Entitytype Escenario1,Tipo_escenarios.
    - Indico las dimensiones de cada objeto con entity box (para los cubos) o entity radius (para objetos esféricos) y si queremos que las colisiones sean polígono a polígono entonces no pongo nada.
    - Activo las colisiones entre dos objetos (y aquí es donde falla): Collisions Tipo_personajes,Tipo_escenario,2,2 (con los "2" estamos diciendo que la primera entidad es esférica y la segunda polígono a polígono y que lo que queremos cuando colisionan es que se deslicen).

    La cámara tiene esa misma programación y funciona, choca con las paredes y se desliza, no las atraviesa, pero con el protagonista o los enemigos empieza a meterse por el suelo o de pronto comienza a atravesar las paredes en un momento dado, cuando él quiere... ¿Por qué?.

    Un saludo.

  2. #2
    Miembro Avatar de Jhonatan00_00
    Fecha de ingreso
    Oct 2016
    Mensajes
    85

    Re: Colisiones en Blitz3D

    Buenas tardes, ya he resolvido el problema.
    El error ocurre porque las colisiones polígono a polígono son poco exactas en Blitz3D, tenemos que tener en cuenta que el modelado del objeto no tenga fisuras ni nada que pueda dar pie a confusión a Blitz3D, por lo que cuanto más complejo sea el modelado mas impreciso puede ser a la hora de detectar colisiones.

    ¿Como lo he solucionado?.
    Separando los objetos del escenario y clasificándolos en esferas o en cubos y dándoles unas dimensiones especificas a cada objeto con enetitybox o entityradius para que así no falle en las colisiones. El problema ahora es que al ser medidas "imaginarias" no puedo saber si las dimensiones que estoy dando a un objeto son las que quiero, no se si me estoy explicando bien.

    Imaginemos una habitación y el personaje dentro, ¿como se que medidas tiene que tener ese cubo que sirve para detectar las colisiones si no se lo que mide el habitaculo y no puedo ver el cubo?. ¿Existe alguna forma de ver las colisiones para ajustar las medidas?.

    Un saludo.

  3. #3
    Miembro Avatar de Jhonatan00_00
    Fecha de ingreso
    Oct 2016
    Mensajes
    85

    Re: Colisiones en Blitz3D

    ¿Alguien conoce alguna manera de saber las dimensiones de un objeto en 3DS Max para así poder aplicarlas a la caja de colisiones de Blitz3D?. Podría ser la solución.

    EDITO:
    Ya he visto donde salen las dimensiones y las coordenadas de un objeto en 3DSMax. Seleccionamos el objeto, después la herramienta para mover y a pié de pantalla nos aparecerán las coordenadas. Si queremos saber que dimensiones tiene solo tenemos que seleccionar el objeto, clicar en la herramienta de escalar y nos dará también las dimensiones.

    Colisiones en Blitz3D-coordenadas.jpg

    El problema es ¿por que |@#~€ introduzco las coordenadas y las dimensiones en Blitz3D y no coinciden?.
    He cogido un objeto al azar, una mesa que tengo modelada y he creado el cubo imaginario para las colisiones desde Blitz3D dándole las mismas coordenadas que dice 3DSmax que tiene el objeto y el personaje me choca como si la mesa estuviese al lado y fuese más pequeña.

    ¿Por qué?.
    Última edición por Jhonatan00_00; 19-01-2017 a las 12:30

  4. #4
    Senior Member Avatar de pyros
    Fecha de ingreso
    May 2005
    Ubicación
    Vancouver, Canadá
    Mensajes
    1,101

    Re: Colisiones en Blitz3D

    La herramienta escalar no da las dimensiones del objeto, te da el valor de la escala que multiplica las dimensiones del objeto. Esto puede ser algo lioso al principio.
    Si creas un cubo de 20x20x20 unidades y lo escalas al 200% ( por defecto un objeto no escalado en max es 100%). Si miras en el panel modificar, el cubo seguirá poniendo que sus medidas son de 20x20x20,, y si miras la escala esta te dira que es de 200% en cada eje si la escala era uniforme. Pero tus medidas reales del objeto son la combinación de las unidades iniciales por la escala. Este cubo será de 40x40x40.
    Para no liarte, si tienes un objeto lo mejor es crearte un dummy "tape" que es una cinta métrica que te da medidas en max, o un cubo sin escalar, y modificar sus dimensiones en el panel creación o de modificación.

    Solo ten en cuenta que hay programas que no interpretan las medidas de la misma manera. Por ejemplo 1 unidad en maya equivalen a 10 en max, pero seguro encuentras esto fácil con un par de prueba y error.

  5. #5
    Miembro Avatar de Jhonatan00_00
    Fecha de ingreso
    Oct 2016
    Mensajes
    85

    Re: Colisiones en Blitz3D

    Gracias por la información, a veces uno se ve solo en esto porque tiene dudas y nadie le responde, así que terminas tirando de ingenio para solucionar los problemas, pero bueno, ya lo he solucionado.

    - Crea tantos cubos como necesites para las colisiones con Createcube. De esta forma si verás la caja de colisiones porque de hecho es el cubo.
    - Posicionados en el lugar del objeto que quieres crear las colisiones con Positionentiy.
    - Redimensionados para que los objetos queden dentro con Scaleentity (para hacer colisiones tipo paredes, donde estamos dentro del cubo, las dimensiones del cubo deberán de ser negativas, para que los polígonos miren hacia dentro, de lo contrario no funcionarán).
    - Y una vez está en su lugar usa Entityalpha para hacerlo invisible. También puedes usar Entityalpha mientras estas acomodando un cubo para hacerlo transparente y así observar mejor si queda en su lugar.
    - Cuando tengas el trabajo hecho, usa el tipo de colisiones "Esfera a polígono" con Collisions y funcionará todo a la perfección, sin bajada de frames ni exceso de polígonos porque los cubos de Blitz3D son objetos muy simples a parte de que no tienen polígonos solapados ni errores de ningún tipo para que Blitz3D pueda fallar.

    Es la única manera que da buenos resultados, porque usando colisiones tipo cubo de la forma tradicional con Entitybox no veremos el cubo para darle las dimensiones y lo tendremos que hacer a ojo, siendo muy complicado o imposible a veces con según que objetos.

    Un saludo.

Temas similares

  1. Colisiones con 3ds max
    Por javitooling en el foro Animación y Rigging
    Respuestas: 1
    Último mensaje: 07-03-2013, 18:58
  2. Colisiones 3DMax
    Por Piper87 en el foro Videojuegos
    Respuestas: 0
    Último mensaje: 03-11-2012, 13:58
  3. Colisiones en x3d
    Por FANTASMAA2004 en el foro Quien eres tu - Aqui puedes presentarte
    Respuestas: 1
    Último mensaje: 13-03-2009, 12:02
  4. Colisiones
    Por enaamorado en el foro Partículas y Dinámicas
    Respuestas: 25
    Último mensaje: 10-06-2006, 18:36
  5. Colisiones en Max
    Por Beleashar en el foro Partículas y Dinámicas
    Respuestas: 3
    Último mensaje: 02-02-2005, 01:01

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •