# 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.

- Skill: `ecnu-icalk/indicador-ui-fuera-de-pantalla-con-margen-superior` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/indicador-ui-fuera-de-pantalla-con-margen-superior`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/indicador-ui-fuera-de-pantalla-con-margen-superior/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/indicador-ui-fuera-de-pantalla-con-margen-superior

---


# 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

