Firmansjk/blendergis-terrain

Construye un mapa de terreno BlenderGIS y un renderizado de elevación en escala de grises a partir de coordenadas proporcionadas por el usuario, límites de Map Range y nombre de salida. Útil para este flujo de trabajo georreferenciado de mapa base a SRTM, no para trabajo no relacionado con Blender.

¿Qué es blendergis-terrain?

Esta habilidad automatiza el flujo de trabajo completo de creación de terrenos con BlenderGIS, desde la configuración del mapa base satelital hasta la obtención de datos de elevación SRTM y el renderizado en escala de grises de 16 bits. Está diseñada para usarse con el proyecto activo de Blender y el add-on BlenderGIS, preservando la escena actual y reutilizando los materiales existentes del usuario siempre que sea posible. El flujo recopila las coordenadas de latitud y longitud, los límites de Map Range y el nombre del archivo de salida; utiliza la API de OpenTopography con la clave local del usuario (sin exponerla nunca) y gestiona cuidadosamente la privacidad de las coordenadas al geocodificar. La salida es una imagen PNG en escala de grises de 16 bits guardada junto al archivo .blend activo, verificando que el archivo cumpla con las especificaciones. Soporta Blender con el add-on BlenderGIS y está pensada para agentes de IA como Claude Code, Codex y Cursor.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Firmansjk/BlenderGIS-Terrain-Export-AISkill/tree/HEAD/blendergis-terrain

Installed? Explore more Investigación y análisis de datos skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Flujo de Trabajo de Terreno con BlenderGIS

Usa el proyecto activo de Blender y el add-on BlenderGIS. Preserva la escena activa y reutiliza el material existente del usuario cuando esté disponible.

Recopila las entradas de ejecución

Pregunta por cualquier valor faltante antes de comenzar. No arrastres valores de una ejecución anterior a menos que el usuario pida explícitamente reutilizarlos.

  • Latitud
  • Longitud
  • From Min de Map Range
  • From Max de Map Range
  • Nombre del archivo de renderizado, sin extensión

Usa la clave de API de OpenTopography configurada en las preferencias de BlenderGIS. Nunca incluyas una clave de API, coordenadas exactas o valores de rango por ejecución en esta habilidad, AGENTS.md, control de versiones o un registro público. Si la clave está ausente, pide al usuario que la configure localmente.

Construye el mapa base y el terreno

  1. Confirma que BlenderGIS esté habilitado e inspecciona la escena activa, la ruta del proyecto y el objeto de terreno seleccionado antes de cambiar nada.
  2. Centra la escena georreferenciada en la latitud y longitud proporcionadas. Usa el mapa base Google Satellite con zoom 14 y exporta la vista actual como un plano texturizado.
    • La búsqueda de ubicación G de BlenderGIS usa el geocodificador Nominatim. Si el usuario no ha autorizado enviar las coordenadas a ese servicio, establece la georreferencia de la escena localmente en lugar de enviar una consulta de búsqueda.
    • El proveedor de mosaicos de mapa recibirá solicitudes de mosaicos para el área seleccionada. Confirma el proveedor con el usuario cuando su solicitud no autorice claramente esa solicitud externa.
  3. Solicita datos de elevación SRTM de OpenTopography con resolución de 30 m para la extensión del mapa base y aplícalos a la malla del mapa base seleccionada. Usa la clave de API local del usuario; no imprimas ni registres la URL de la solicitud.
    • Prefiere una ruta de ráster temporal y empaqueta la imagen/textura resultante en el proyecto de Blender antes de limpiar el archivo temporal. Evita sobrescribir un ráster existente o escribir junto a un .blend fuera de la carpeta de proyecto autorizada.
  4. En Modo Edición, selecciona toda la geometría del terreno y subdivide con 6 cortes. Vuelve al Modo Objeto.
  5. Aplica los modificadores del terreno en el orden de la pila.
  6. Elimina la asignación de material anterior y usa el material Material.001 existente del usuario si está presente. Si falta, pregunta qué material usar en lugar de crear un reemplazo sin instrucciones.
  7. En ese material, busca el nodo llamado Map Range. Establece sus sockets escalares From Min y From Max con los valores proporcionados. Blender puede exponer sockets duplicados de tipo flotante y vectorial; edita los sockets VALUE. Deja los demás valores y conexiones de nodos sin cambios.

Configura la cámara y el renderizado

  1. Crea o reutiliza una cámara ortográfica activa en vista superior. Centra su posición X/Y en los límites mundiales evaluados del terreno. Establece Clip Start en 0.1 m y Clip End en 12000 m.
  2. Comienza con la escala ortográfica solicitada (9000 en el flujo de trabajo establecido) y coloca la cámara sobre el terreno. Elige un valor Z que esté por encima del punto más alto de la superficie y mantenga todo el terreno dentro del rango de recorte.
  3. La Z de la cámara ortográfica no cambia el encuadre. Compara el marco de la cámara desde camera.data.view_frame(scene=scene) con los límites mundiales del terreno. Si la escala solicitada recorta la superficie, explica las dimensiones y pregunta antes de cambiar la escala especificada por el usuario. Una escala de encuadre completo debe cumplir frame_width >= terrain_width y frame_height >= terrain_height.
  4. Cambia al espacio de trabajo Layout y renderiza con la cámara activa. Guarda la imagen junto al .blend activo usando el nombre de archivo proporcionado y la extensión .png, formato PNG, modo de color BW y profundidad de 16 bits. No guardes el .blend a menos que el usuario lo pida.
  5. Verifica que el archivo guardado exista y sea un PNG en escala de grises de 16 bits. Informa su ruta, configuración de renderizado y si el .blend mismo fue guardado.

Portabilidad y manejo de archivos

  • Resuelve la carpeta de salida desde el .blend activo en tiempo de ejecución; no hardcodees una ruta específica de la máquina.
  • Si la carpeta del proyecto está fuera del espacio de trabajo escribible, prepara el renderizado en un espacio de trabajo autorizado y usa la ruta de copia de archivos aprobada para colocarlo junto al proyecto. Nunca eludas los permisos del sistema de archivos mediante scripting de Blender.
  • No sobrescribas una imagen de salida existente sin consultar primero con el usuario.

Skills relacionados