Mis Proyectos

El espacio para mis dibujos Unity y mis primeros pasos con Swift.

Desarrollo Unity

Arcade Rail Shooter

Sistema de disparo para juegos sobre raíles. Implementación de Raycasting para detección precisa de impactos, integración de mirilla 2D en entorno 3D con cálculos de perspectiva.

UnityC#Raycasting

using UnityEngine;
using UnityEngine.InputSystem;

public class ShootController2 : MonoBehaviour
{
    public Camera mainCamera;
    public float shootRange = 100f;
    public GameObject bulletPrefab; // Opcional, para efectos visuales
    public RectTransform mira; // Asume que la mirilla es parte de la UI
    public float fireRate = 0.5f;

    private float timeUntilFire = 0f;
    private InputAction Fire1; // Accin de disparo

    private void Start()
    {
        // Obtener la accin de disparo desde Input System
        Fire1 = InputSystem.actions.FindAction(class="text-orange-600 dark:text-[#CE9178]">"Fire1");
        if (Fire1 != null)
            Fire1.Enable();
    }

    void Update()
    {
        if (Fire1 != null && Fire1.ReadValue<float>() > 0.5f && timeUntilFire < Time.time)
        {
            Shoot();
            timeUntilFire = Time.time + fireRate;
        }
    }

    void Shoot()
    {
        Debug.Log(class="text-orange-600 dark:text-[#CE9178]">"Disparo ejecutado");

        // Obtener la direccin de enfoque cmara
        Vector2 screenPoint = mira.position;

        // Crear el rayo
        Ray ray = mainCamera.ScreenPointToRay(screenPoint);

        // Disparar el raycast
        if (Physics.Raycast(ray, out RaycastHit hit, shootRange))
        {
            Debug.Log(class="text-orange-600 dark:text-[#CE9178]">"Impacto en: " + hit.collider.name);
            Debug.DrawLine(ray.origin, hit.point, Color.red, 5f);
        }
        else
        {
            // Si no hay impacto, dibujar el rayo hasta el lmite de alcance
            Debug.DrawRay(ray.origin, ray.direction * shootRange, Color.blue, 5f);
        }
    }
}

Desarrollo Swift

App Icon

Gestor de Tareas

Productivity & Tools

Gestor de tareas nativo con arquitectura reactiva y persistencia local.

SwiftUICodableAppStorage
Media 1
Media 2
Media 3