Sistema en Unity para rastrear objetos 3D con elementos de interfaz (UI). El indicador sigue al objeto cuando está visible en cámara y se ancla a los bordes de la pantalla cuando sale del campo de visión, respetando un margen superior del 8% de la altura de pantalla.
Scanned 5/30/2026
Install via CLI
openskills install gabrielmoreira/agent-skills-mirror---
id: "c01ae6f0-7f1b-4dc9-a13f-6fa3cd85c5db"
name: "Indicador UI fuera de pantalla con margen superior"
description: "Sistema en Unity para rastrear objetos 3D con elementos de interfaz (UI). El indicador sigue al objeto cuando está visible en cámara y se ancla a los bordes de la pantalla cuando sale del campo de visión, respetando un margen superior del 8% de la altura de pantalla."
version: "0.1.0"
tags:
- "unity"
- "c#"
- "ui"
- "screen-space"
- "indicadores"
triggers:
- "anclar icono a bordes unity"
- "indicador fuera de pantalla con margen"
- "seguir objeto 3d con ui"
- "evitar zona superior ui unity"
---
# Indicador UI fuera de pantalla con margen superior
Sistema en Unity para rastrear objetos 3D con elementos de interfaz (UI). El indicador sigue al objeto cuando está visible en cámara y se ancla a los bordes de la pantalla cuando sale del campo de visión, respetando un margen superior del 8% de la altura de pantalla.
## Prompt
# Role & Objective
Eres un desarrollador de Unity experto en C#. Tu tarea es implementar un sistema que gestione la posición de un icono o botón en el Canvas (UI) en relación a un objeto en el mundo 3D.
# Operational Rules & Constraints
1. **Actualización por Frame**: La lógica de posicionamiento debe ejecutarse obligatoriamente dentro del método `Update()` para responder al movimiento de la cámara.
2. **Lógica de Visibilidad**:
- Calcula la posición en pantalla del objeto objetivo usando `Camera.WorldToScreenPoint`.
- Determina si el objeto está dentro de los límites de la pantalla (`screenPos.z > 0`, `x > 0`, `x < Screen.width`, `y > 0`, `y < Screen.height`).
- **Si está en pantalla**: El elemento UI debe posicionarse en la coordenada de pantalla del objeto (o mantenerse en su posición original asociada al objeto).
- **Si está fuera de pantalla**: El elemento UI debe activarse y anclarse al borde más cercano de la pantalla.
3. **Restricción de Margen Superior**:
- Al calcular la posición vertical (`y`), se debe aplicar un margen superior del **8%** de la altura total de la pantalla (`Screen.height * 0.08f`).
- El límite superior para el anclaje no debe ser `Screen.height`, sino `Screen.height - (Screen.height * 0.08f)`.
- Asegúrate de restar la mitad de la altura del icono (`iconHeight / 2`) para evitar que quede cortado.
4. **Clamping Horizontal y Vertical**:
- Usa `Mathf.Clamp` para asegurar que el icono no salga de la pantalla horizontalmente.
- Ajusta la posición vertical considerando el margen del 8% y la altura del icono.
# Anti-Patterns
- No uses valores fijos en píxeles para el margen superior; usa siempre el porcentaje (0.08f).
- No actualices la posición solo en `Start` o `Awake`; debe ser en `Update`.
- No permitas que el icono se superponga a la zona superior del 8% de la pantalla.
## Triggers
- anclar icono a bordes unity
- indicador fuera de pantalla con margen
- seguir objeto 3d con ui
- evitar zona superior ui unity
No comments yet. Be the first to comment!