Unidad | |
---|---|
Tipo de | motor de juego , entorno de desarrollo integrado , constructor , framework |
Desarrollador | Tecnologías de la unidad |
Escrito en | C++ (tiempo de ejecución), C# |
Sistema operativo | Microsoft Windows , macOS , Linux , Android e iOS |
Idiomas de la interfaz | inglés |
Primera edición | 8 de junio de 2005 |
plataforma de hardware |
PC PlayStation 4 PlayStation 5 Xbox One Xbox Series X Apple TV |
ultima versión |
|
versión beta |
|
Estado | activo |
Licencia | propiedad |
Sitio web | unidad.com _ |
Archivos multimedia en Wikimedia Commons |
Unity ( unidad en traducción del inglés - "unidad", pronunciado como "unidad") es un entorno de desarrollo multiplataforma para juegos de computadora [3] , desarrollado por la compañía estadounidense Unity Technologies . Unity le permite crear aplicaciones que se ejecutan en más de 25 plataformas diferentes, incluidas computadoras personales , consolas de juegos , dispositivos móviles , aplicaciones de Internet y otros [4] . El lanzamiento de Unity tuvo lugar en 2005 y desde entonces ha habido un desarrollo constante.
Las principales ventajas de Unity son la presencia de un entorno de desarrollo visual , soporte multiplataforma y un sistema modular de componentes. Las desventajas incluyen la aparición de dificultades al trabajar con circuitos multicomponente y dificultades al conectar bibliotecas externas .
Miles de juegos, aplicaciones, visualizaciones de modelos matemáticos están escritos en Unity, que cubren muchas plataformas y géneros. Al mismo tiempo, Unity es utilizado tanto por grandes desarrolladores como por estudios independientes .
El editor de Unity tiene una interfaz simple de arrastrar y soltar , así como la instalación de complementos de KALI, que es fácil de configurar, consta de varias ventanas, para que pueda depurar el juego directamente en el editor . El motor usa C# [5] para escribir scripts . Boo ( dialecto de Python , eliminado en la versión 5) y una modificación de JavaScript conocida como UnityScript (en desuso en la versión 2017.1) también eran compatibles anteriormente . Los cálculos de física los realiza el motor de física PhysX de NVIDIA para física 3D y Box2D para física 2D [6] . API de gráficos: DirectX (actualmente compatible con DX 11 , DX 12 )
El proyecto en Unity se divide en escenas ( niveles ), archivos separados que contienen sus mundos de juego con su propio conjunto de objetos, escenarios y configuraciones. Las escenas pueden contener, de hecho, objetos (modelos) y objetos de juego vacíos, objetos que no tienen un modelo ("dummy") [7] . Los objetos, a su vez, contienen conjuntos de componentes con los que interactúan los scripts. Los objetos también tienen un nombre (en Unity, se permiten dos o más objetos con los mismos nombres en una escena), puede haber una etiqueta (etiqueta) y una capa en la que debe mostrarse. Por lo tanto, cualquier objeto en el escenario debe tener un componente Transformar: almacena las coordenadas de ubicación, rotación y tamaño del objeto a lo largo de los tres ejes.
Unity también es compatible con la física de cuerpo rígido y de tela, así como con la física de tipo Ragdoll (muñeca de trapo).
El editor tiene un sistema de herencia de objetos; los objetos secundarios repetirán todos los cambios en la posición, rotación y escala del objeto principal.
Los scripts en el editor se adjuntan a los objetos como componentes separados.
Al importar una textura a Unity, puede generar alpha-channel , mip-levels , normal-map , light-map , reflection map, pero no puede adjuntar una textura directamente al modelo: se creará un material al que se le agregará un shader . se asignará y, a continuación, el material se adjuntará al modelo. El editor de Unity admite la escritura y edición de sombreadores. El editor de Unity tiene un componente para crear animaciones, pero la animación también puede crearse previamente en un editor 3D e importarse junto con el modelo y luego dividirse en archivos.
Unity 3D es compatible con el sistema Level Of Detail (abreviatura LOD), cuya esencia es que, a una gran distancia del jugador, los modelos muy detallados se reemplazan por otros menos detallados, y viceversa, así como el sistema Occlusion culling, cuya esencia es que los objetos, la geometría y las colisiones que no están en el campo de visión de la cámara no se renderizan, lo que reduce la carga en el procesador central y le permite optimizar el proyecto. Al compilar un proyecto, se crea un archivo de juego ejecutable (.exe) (para Windows ) y en una carpeta separada: datos del juego (incluidos todos los niveles del juego y bibliotecas vinculadas dinámicamente).
El motor admite muchos formatos populares. Los modelos, sonidos, texturas, materiales y guiones pueden empaquetarse en formato .unitypackage y transferirse a otros desarrolladores o cargarse para obtener acceso gratuito. El mismo formato se usa en la tienda interna de activos de Unity, donde los desarrolladores pueden compartir varios elementos necesarios para crear juegos gratis y por dinero. Para usar la tienda de activos de Unity, debe tener una cuenta de desarrollador de Unity.
UNet (una biblioteca para implementar multijugador en juegos de Unity) se eliminó desde la versión 2018.4; no existe una solución lista para usar para multijugador. También puede utilizar el método fácil de usar de control de versiones. Por ejemplo, Tortoise SVN, Git o Source Gear .
Unity incluye Unity Asset Server, una herramienta de desarrollo colaborativo basada en Unity que es un complemento que agrega control de versiones y una serie de otras soluciones del lado del servidor.
Por lo general, un motor de juego proporciona una gran cantidad de funciones que les permite usarse en varios juegos, que incluyen simulación física, mapas normales, sombras dinámicas y más. A diferencia de muchos motores de juegos, Unity tiene dos ventajas principales: la presencia de un entorno de desarrollo visual y soporte multiplataforma [8] . El primer factor incluye no solo herramientas de modelado visual, sino también un entorno integrado , la cadena de ensamblaje , que tiene como objetivo mejorar la productividad de los desarrolladores, en particular, las etapas de creación de prototipos y pruebas. Bajo el soporte multiplataforma, no solo se proporcionan sitios de implementación (instalación en una computadora personal, en un dispositivo móvil, consola, etc.), sino también la disponibilidad de herramientas de desarrollo (el entorno integrado se puede usar bajo Windows y Mac OS) [4] .
La tercera ventaja es el sistema de componentes modulares de Unity, que se utiliza para construir objetos de juego cuando estos últimos son paquetes combinables de elementos funcionales. A diferencia de los mecanismos de herencia , los objetos en Unity se crean combinando bloques de funciones , en lugar de colocarlos en nodos de un árbol de herencia. Este enfoque facilita la creación de prototipos, lo cual es importante en el desarrollo de juegos [9] .
Como desventajas, la limitación del editor visual se da cuando se trabaja con diagramas multicomponentes, cuando el trabajo visual se dificulta en escenarios complejos. El segundo inconveniente es la falta de soporte de Unity para enlaces a bibliotecas externas , que los programadores tienen que configurar para trabajar, y esto también dificulta el trabajo en equipo. Otra desventaja está asociada con el uso de plantillas de instancia ( prefabs en inglés ). Por un lado, este concepto de Unity ofrece un enfoque flexible para la edición visual de objetos, pero por otro lado, editar dichas plantillas es difícil [9] . Además, la versión WebGL del motor, debido a las características específicas de su arquitectura (traducción de código de C# a C++ y luego a JavaScript), tiene una serie de problemas no resueltos con el rendimiento, el consumo de memoria y el rendimiento en dispositivos móviles [10] [11 ] .
Cientos de juegos, aplicaciones y simulaciones están escritos en Unity [12] , Unity es utilizado tanto por grandes desarrolladores (por ejemplo, Blizzard [13] ) como en la creación de juegos independientes . Los juegos de computadora en Unity cubren muchas plataformas y géneros, ejemplos típicos de los cuales son [14] :
La primera versión de Unity apareció en 2005 cuando se anunció el motor del juego en la Conferencia Mundial de Desarrolladores . Inicialmente, Unity estaba destinado exclusivamente a computadoras Mac, y en agosto se lanzó una actualización para permitir que funcione en Windows. Las siguientes versiones agregaron gradualmente nuevas plataformas e implementaciones: reproductor web multiplataforma en 2006, iPhone en 2008, Android en 2010 y más en las consolas de juegos Xbox y Playstation [4] .
Es posible crear aplicaciones para ejecutar en navegadores utilizando un complemento especial de Unity (Unity Web Player) , así como utilizando la implementación de la tecnología WebGL. Anteriormente, había soporte experimental para la implementación de proyectos dentro del módulo Adobe Flash Player [15] , pero luego el equipo de desarrollo de Unity tomó la difícil decisión de abandonarlo [16] .
En diciembre de 2009, Gamasutra nombró a Unity como uno de los jugadores más importantes en el mercado de las empresas de juegos [17] .
La versión gratuita de Unity tiene algunas limitaciones, pero es posible que distribuya juegos, siempre que los ingresos anuales del juego no superen los 100.000 dólares [18] .
Tipo de licencia | Ingresos de la empresa por año | Pantalla de bienvenida | Características multijugador | Construir en almacenamiento en la nube | tema oscuro | Informes de rendimiento | Soporte prémium | Acceso al código fuente | Precio (en dólares ) |
---|---|---|---|---|---|---|---|---|---|
Personal | Hasta $ 100,000 | "Hecho con Unity" y animación personalizada opcional | 20 CCU | Estándar | Sí | No | No | No | Está libre |
Más | Hasta $ 200.000 | Animación personalizada y/o "Hecho con Unity" | 50 CCU | Prioridad | Sí | Sí | No | No | 399 por año o 40 mensuales |
Pro | No limitado | Animación personalizada y/o "Hecho con Unity" | 200 CCU | Simultáneo | Sí | Sí | Sí | No | 1800 por año o 150 mensuales |
Empresa | No limitado | Animación personalizada y/o "Hecho con Unity" | multijugador personalizado | Recursos dedicados | Sí | Sí | Sí | Sí | 200$ por mes |
Motores de juego | |||||||
---|---|---|---|---|---|---|---|
Gráfico | Libre Escena GLS Horda3D Irrlicht OGRO OpenSceneGraph Propiedad Exterior | ||||||
Físico | Libre Caja2D Bala Ardilla newton ODA. Tokamak Propiedad multímetro digital Física Havok PhysX | ||||||
propósito general |
| ||||||
Especializado |
| ||||||
Lista de motores de juego |