Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Deaymon

#1
Scripting / Duda sobre colisiones
Diciembre 20, 2019, 02:44:45 PM
@pioj
 
¿No sería más corto hacer
 
GameObject objetillo = collision.transform.gameObject;
 
directamente? ¿O hay alguna razón para hacer esa comparación de tag antes?
#2
Pues no sabía que era tan sencillo aplicar ese tipo de efectos visuales a la cámara. :0 Tendré que probar a trastear con esos efectos. Gracias por la aportación.
#3
Scripting / Disparo con ángulos
Noviembre 22, 2019, 01:38:58 PM
Perdón por salirme del tema pero, ¿la línea "transform.up = direction" de verdad funciona? xD ¿La nave sigue el mouse con ese método? Suena como una alternativa bastante peculiar.
 
Volviendo al tema, para hacer que la bala se mueva en una cierta dirección, lo único que te faltaría sería añadir al prefab de la bala el componente Rigidbody (o Rigidbody2D si usas Physics2D) y un script a la bala tipo:
 

// Aquí asignas el Rigidbody2D del propio prefab
public Rigidbody2D rb;
public float velocidadDisparo;
private void Awake() {
rb.velocity = transform.up * velocidadDisparo // a lo mejor en lugar de transform.up tiene que ser transform.forward o transform.right dependiendo de cómo quieras orientar el objeto
}

 
La bala se moverá constantemente con la velocidad y dirección que le asignes hasta que choque con algo o se le aplique alguna fuerza.
 
Otra alternativa sería ponerle un Update() que haga que se mueva a cada frame en la dirección que veas, pero no estoy seguro de cómo afectará eso a las colisiones.
#4
Proyectos / Lamentum | Pixel Art Survival Horror
Noviembre 05, 2019, 11:41:15 AM
¡Quepintazaquepintazaquepintazaquepintaza! Me voy de cabeza a seguiros en Twitter
#5
Recursos / [Asset Gratis] Basic Motions - Animaciones 3D
Noviembre 02, 2019, 11:41:31 AM
¡Genial! ¡Gracias por el aporte! Este se va de cabeza a mi librería de assets por si alguna vez hago un juego 3D
#6
Proyectos / Time Room: Enigma
Octubre 18, 2019, 06:59:36 PM
Parece que no puedo descargarlo en mi dispositivo porque no es compatible. Qué pena. :/
#7
Proyectos / Time Room: Enigma
Octubre 17, 2019, 07:07:41 PM
Impaciente aquí, jaja. Voy a descargar y probarlo. Luego leo el resto y comento.
#8
Proyectos / Jetpack 2019
Octubre 14, 2019, 05:09:51 PM
Está difícil, sí. Buen desafío. No sé yo si me convence esa física como que el personaje siempre está sobre hielo (no sé si me explico), que hace que cueste controlar los saltos. Sobre todo porque algunos saltos son precisos y he tenido que reiniciar bastantes veces por un solo fallo.
 
El único problema que me he encontrado es que pulsar ESC para reiniciar el nivel no funciona si el personaje tiene invencibilidad.
 
Me ha gustado bastante y la distorsión de los efectos de sonido está graciosa. ¿Has pensado en subirlo a itch.io?
#9
Arte / Ayuda! Consejos camara 2d para nuevo proyecto
Octubre 11, 2019, 03:22:42 AM
La respuesta dependería de la visión que tengas del proyecto y de cómo de complejo lo quieras hacer, por supuesto.

Pero así de pronto y sin más detalles, te respondería el top-down sin dudarlo. Te ahorras la parte de físicas de un plataformas, que puede tener su propio conjunto de problemas con los que lidiar.

Claro que si te consigues unos assets con código para juegos de plataformas ya listo, igual te ahorras ir por esos derroteros.
 
En resumen: desde mi experiencia, que uses motor de física o no es el factor decisivo en la dificultad de programar un juego de esos 2 tipos.
#10
Recursos / Catlikecoding
Septiembre 27, 2019, 12:17:34 PM
Ostras, sí, yo la re-recomiendo. La mayoría de cosas que he aprendido de Unity3D han sido de ahí. Me encanta la forma que tiene de explicar.
#11
¿Cómo instancias la bala? Porque podrías usar el constructor de la clase BulletManager en lugar del Awake() para iniciar el movimiento de la bala. Así, pasas como parámetro la referencia al PlayerController y te ahorras usar el FindGameObjectWithTag().
#12
Scripting / Problema con la gravedad y fuerza
Agosto 31, 2019, 01:09:25 AM
Cita de: Sreaver date=1567126582Physics2D.gravity = new Vector3((Input.acceleration.x)* speedX, ejey, 0);
   


Nota sobre esto: speedX cambia la gravedad de TODO, no solo la "velocidad" de la pelota, así que creo que deberías de dejar ese factor como un valor constante, ya sea 9.8f, que es el valor por defecto de la gravedad, o bien cambiarlo a otro valor que te dé mejor resultado (a no ser que quieras cambiar la fuerza de la gravedad a mitad de juego, en cuyo caso, no lo hagas constante, claro).
 
En cualquier caso, si hasta ahora te ha funcionado decentemente ese enfoque, lo que haría yo sería
 

const float GRAVEDAD = 9.8f;
private void FixedUpdate() {
// Convertimos Input.acceleration.x del rango "-1 ~ 1" a "0 ~ π" radianes para simplificar cálculos
float angulo = (Input.acceleration.x + 1f) * Mathf.PI * 0.5f;
// Aplicamos trigonometría para "rotar" la gravedad
Physics2D.gravity = new Vector2( -Mathf.Cos(angulo), Mathf.Sin(angulo) ) * GRAVEDAD;
}

 
EDIT: Sobre cambiar la fuerza de la gravedad a mitad de juego, puedes usar Rigidbody2D.gravityScale para cambiar cuánto afecta la gravedad a ese Rigidbody en particular.

EDIT2: ¡Mathf.Sin(angulo) hará que la gravedad vaya hacia arriba! Ponle un '-' delante para invertirlo (xD Socorro, qué fallo más básico)
#13
Website / Funcionamiento del "Mark as Best Answer"
Agosto 30, 2019, 02:42:22 AM
Me he encontrado con este botón y quería saber qué hace exactamente. ¿Marca la respuesta como la mejor sólo a mis ojos o para todo el que vea el hilo? Me resulta extraño que yo, como usuario no administrador, sea capaz de marcar una mejor respuesta de un hilo que no he creado.
#14
Scripting / Problema con la gravedad y fuerza
Agosto 30, 2019, 02:21:50 AM
Cita de: Sreaver date=1567088679Si el acelerómetro maneja la pelota en el eje x funciona bien, pero cuando el móvil la rampa está totalmente horizontal, la pelota sigue actuando como si tuviese inclinación.
   


La inclinación casi nunca será cero en el dispositivo, siempre oscila en cantidades diminutas. ¿Tal vez lo que buscas es que cuando Input.acceleration.x sea muy pequeño y esté entre -0.1f y 0.1f (las cantidades son un ejemplo), ignore esas pequeñas cantidades y haga como que Input.acceleration.x sea igual a 0.0f?
 
Aunque si la pelota se mueve más rápido que una simple inclinación diminuta, podría ser algo que me pasó a mí hasta que descubrí que los ejes del acelerómetro cambian con el modo de orientación de la pantalla (mira los comentarios del ejemplo). Vamos, que Input.acceleration no funciona igual si el dispositivo está con la pantalla en "apaisado" o "retrato". A lo mejor Input.acceleration.x no es el eje que necesitas y te está registrando la inclinación adelante/atrás en lugar de la de izquierda/derecha (por lo de que la gente tiende a sujetar los dispositivos "recostados" sobre la mano, nunca rectos). ¿Has probado a usar otros ejes del Input.acceleration?
 
Cita de: Sreaver date=1567088679Creando los dibujos se me ha ocurrido una posible solución. Ir restando a la fuerza de la gravedad una cantidad limitada del ángulo de inclinación, pero no se si es posible.
   


Creo que es demasiado complicado para lo que quieres hacer, pero poder, se puede hacer.
 
Como idea alternativa: en lugar de mover la pelota con el acelerómetro, podrías cambiar Physics.gravity en FixedUpdate() y que eso afecte a todos los Rigidbody del juego. Da un resultado diferente a lo que describes, pero quizá te resulte más cómodo. ¯\_(ツ)_/¯
 
Si necesitas ayuda con el código de cualquiera de estos enfoques, te echo una mano encantado (salvo la de restar fuerza). Pero especifica con cuál en concreto, que prefiero no tener que escribir tanto (ni llenar el hilo) para nada. xD
 
Cita de: Sreaver date=1567089669lo he probado, pero entonces lo que giro es la plataforma y no es lo que quiero.
   


JAJAJAJAJA  Esta idea es tremenda, pero yo no la aconsejaría para nada. Aún así, SI QUISIERAS, se arreglaría, por ejemplo, haciendo que todos los objetos del nivel (pelota, plataformas, obstáculos y cía.) sean ahijados (child) de un mismo objeto vacío y rotar ese objeto padre (parent). Pero repito: mala idea. Cambiar el Transform de un Rigidbody = problemas de rendimiento.
#15
Scripting / Aumentar la velocidad de un personaje
Agosto 28, 2019, 11:35:27 AM
La solución de @lightbug es la que uso yo tal cual. A veces incluso uso un script aparte que se dedique exclusivamente a leer inputs (InputManager o algo así) y, luego, cualquier otro script que necesite saber acerca de esos inputs, use una referencia a este (InputManager).

Eso sí, lo de usar OR al asignar los inputs para acumularlos entre cada FixedUpdate; excelente añadido que me voy a copiar a partir de ahora.  Gracias por el aporte.