Jednota | |
---|---|
Typ | herní engine , integrované vývojové prostředí , konstruktor , framework |
Vývojář | Unity Technologies |
Zapsáno v | C++ (Runtime), C# |
Operační systém | Microsoft Windows , macOS , Linux , Android a iOS |
Jazyky rozhraní | Angličtina |
První vydání | 8. června 2005 |
Hardwarová platforma |
PC PlayStation 4 PlayStation 5 Xbox One Xbox Series X Apple TV |
Nejnovější verze | |
beta verze |
|
Stát | aktivní |
Licence | proprietární |
webová stránka | unity.com _ |
Mediální soubory na Wikimedia Commons |
Unity ( jednota v překladu z angličtiny - "jednota", vyslovováno jako "jednota") je multiplatformní vývojové prostředí pro počítačové hry [3] , vyvinuté americkou společností Unity Technologies . Unity umožňuje vytvářet aplikace, které běží na více než 25 různých platformách, včetně osobních počítačů , herních konzolí , mobilních zařízení , internetových aplikací a dalších [4] . Vydání Unity proběhlo v roce 2005 a od té doby probíhá neustálý vývoj.
Hlavními výhodami Unity jsou přítomnost vizuálního vývojového prostředí , podpora napříč platformami a modulární systém komponent. Mezi nevýhody patří výskyt potíží při práci s vícesložkovými obvody a potíže při připojování externích knihoven .
Na Unity jsou napsány tisíce her, aplikací, vizualizací matematických modelů, které pokrývají mnoho platforem a žánrů. Unity přitom využívají jak velcí vývojáři, tak nezávislá studia .
Editor Unity má jednoduché rozhraní Drag&Drop a také instalaci pluginů KALI, které se snadno konfigurují a sestávají z různých oken, takže hru můžete ladit přímo v editoru . Engine používá C# [5] k psaní skriptů . Dříve byly podporovány také Boo ( dialekt Pythonu , odstraněno ve verzi 5) a úprava JavaScriptu známá jako UnityScript (zastaralá ve verzi 2017.1) . Fyzikální výpočty jsou prováděny fyzikálním enginem NVIDIA PhysX pro 3D fyziku a Box2D pro 2D fyziku [6] . Graphics API - DirectX (aktuálně podporováno DX 11 , DX 12 )
Projekt v Unity je rozdělen do scén ( levelů ) – samostatných souborů obsahujících jejich herní světy s vlastní sadou objektů, scénářů a nastavení. Scény mohou obsahovat jak ve skutečnosti objekty (modely), tak prázdné herní objekty – objekty, které nemají model („figurína“) [7] . Objekty zase obsahují sady komponent, se kterými komunikují skripty. Objekty mají také název (v Unity jsou v jedné scéně povoleny dva a více objektů se stejnými názvy), může tam být tag (popis) a vrstva, na které se má zobrazit. Každý objekt na scéně tedy musí mít komponentu Transform – ta ukládá souřadnice umístění, natočení a velikost objektu podél všech tří os.
Unity také podporuje fyziku tuhého těla a látky, stejně jako fyziku typu Ragdoll (hadrová panenka).
Editor má systém dědičnosti objektů; podřízené objekty budou opakovat všechny změny polohy, rotace a měřítka nadřazeného objektu.
Skripty v editoru jsou připojeny k objektům jako samostatné komponenty.
Při importu textury do Unity můžete generovat alpha-channel , mip-levels , normal-map , light-map , reflexní mapu, ale nemůžete připojit texturu přímo k modelu - vytvoří se materiál, ke kterému bude shader bude přiřazen a poté bude materiál připojen k modelu. Editor Unity podporuje psaní a úpravy shaderů. Editor Unity má komponentu pro vytváření animace, ale animaci lze předem vytvořit v 3D editoru a importovat ji spolu s modelem a poté rozdělit do souborů.
Unity 3D podporuje systém Level Of Detail (zkr. LOD), jehož podstatou je, že ve velké vzdálenosti od hráče jsou vysoce detailní modely nahrazeny méně detailními a naopak, stejně jako Occlusion culling systém, jehož podstatou je, že se nevykreslují objekty, geometrie a kolize, které nejsou v zorném poli kamery, což snižuje zátěž centrálního procesoru a umožňuje optimalizovat projekt. Při kompilaci projektu se vytvoří spustitelný (.exe) soubor hry (pro Windows ) a v samostatné složce - data hry (včetně všech herních úrovní a dynamicky propojených knihoven).
Motor podporuje mnoho populárních formátů. Modely, zvuky, textury, materiály, skripty lze zabalit do formátu .unitypackage a přenést dalším vývojářům nebo nahrát k bezplatnému přístupu. Stejný formát je použit i v interním Unity Asset Store, kde mohou vývojáři zdarma a za peníze sdílet různé prvky potřebné k tvorbě her. Chcete-li používat Unity Asset Store, musíte mít vývojářský účet Unity.
UNet (knihovna pro implementaci multiplayeru ve hrách Unity) byla od verze 2018.4 odstraněna; neexistuje žádné hotové řešení pro multiplayer. Můžete také použít uživatelsky přívětivý způsob správy verzí. Například Tortoise SVN, Git nebo Source Gear .
Unity zahrnuje Unity Asset Server, nástroj pro spolupráci založený na Unity, což je doplněk, který přidává správu verzí a řadu dalších řešení na straně serveru.
Herní engine obvykle poskytuje mnoho funkcí, které jim umožňují použití v různých hrách, které zahrnují fyzikální simulaci, normální mapy, dynamické stíny a další. Na rozdíl od mnoha herních enginů má Unity dvě hlavní výhody: přítomnost vizuálního vývojového prostředí a podporu napříč platformami [8] . První faktor zahrnuje nejen nástroje pro vizuální modelování, ale také integrované prostředí , montážní řetězec , který je zaměřen na zlepšení produktivity vývojářů, zejména ve fázích prototypování a testování. V rámci podpory napříč platformami jsou poskytovány nejen weby pro nasazení (instalace na osobní počítač, mobilní zařízení, konzole atd.), ale také dostupnost vývojových nástrojů (integrované prostředí lze použít pod Windows a Mac OS) [4] .
Třetí výhodou je modulární systém komponent Unity, který se používá ke konstrukci herních objektů, kdy se jedná o kombinovatelné balíčky funkčních prvků. Na rozdíl od mechanismů dědičnosti jsou objekty v Unity vytvářeny kombinováním funkčních bloků , nikoli umístěním do uzlů stromu dědičnosti. Tento přístup usnadňuje tvorbu prototypů, což je důležité při vývoji her [9] .
Jako nevýhody se uvádí omezení vizuálního editoru při práci s vícesložkovými diagramy, kdy je vizuální práce ve složitých scénách obtížná. Druhou nevýhodou je chybějící podpora Unity pro odkazy na externí knihovny , které si programátoři musí sami nakonfigurovat, aby s nimi pracovali, a to také ztěžuje týmovou práci. Další nevýhoda je spojena s používáním šablon instancí ( anglicky prefabs ). Tento koncept Unity nabízí na jednu stranu flexibilní přístup k vizuální úpravě objektů, na druhou stranu je však úprava takových šablon obtížná [9] . Také WebGL verze enginu má vzhledem ke specifikům své architektury (překlad kódu z C# do C++ a dále do JavaScriptu) řadu nevyřešených problémů s výkonem, spotřebou paměti a výkonem na mobilních zařízeních [10] [11 ] .
Na Unity jsou napsány stovky her, aplikací a simulací [12] , Unity využívají jak velcí vývojáři (například Blizzard [13] ), tak i při tvorbě indie her . Počítačové hry na Unity pokrývají mnoho platforem a žánrů, jejichž typickými příklady jsou [14] :
První verze Unity se objevila v roce 2005, kdy byl herní engine oznámen na Worldwide Developers Conference . Zpočátku byla Unity určena výhradně pro počítače Mac a v srpnu byla vydána aktualizace, která umožnila její fungování pod Windows. Následující verze postupně přidávaly nové platformy a nasazení: crossplatformní webový přehrávač v roce 2006, iPhone v roce 2008, Android v roce 2010 a dále na herních konzolích Xbox a Playstation [4] .
Je možné vytvářet aplikace pro běh v prohlížečích pomocí speciálního plug-inu Unity (Unity Web Player) a také pomocí implementace technologie WebGL. Dříve existovala experimentální podpora implementace projektů v rámci modulu Adobe Flash Player [15] , později však vývojový tým Unity učinil těžké rozhodnutí od toho upustit [16] .
V prosinci 2009 byla Unity Gamasutrou jmenována jedním z nejvýznamnějších hráčů na trhu herních společností [17] .
Bezplatná verze Unity má určitá omezení, ale je možné, aby distribuovala hry za předpokladu, že roční příjem ze hry nepřesáhne 100 000 $ [18] .
Typ licence | Příjem společnosti za rok | Uvítací obrazovka | Funkce pro více hráčů | Zabudujte cloudové úložiště | Tmavé téma | Přehledy výkonu | Prémiová podpora | Přístup ke zdrojovému kódu | Cena (v dolarech ) |
---|---|---|---|---|---|---|---|---|---|
Osobní | Až 100 000 $ | "Made With Unity" a volitelná vlastní animace | 20 CCU | Standard | Ano | Ne | Ne | Ne | Je zdarma |
Plus | Až 200 000 $ | Vlastní animace a/nebo „Made With Unity“ | 50 CCU | Přednost | Ano | Ano | Ne | Ne | 399 ročně nebo 40 měsíčně |
Pro | Bez omezení | Vlastní animace a/nebo „Made With Unity“ | 200 CCU | Simultánní | Ano | Ano | Ano | Ne | 1800 ročně nebo 150 měsíčně |
Podnik | Bez omezení | Vlastní animace a/nebo „Made With Unity“ | Vlastní multiplayer | Vyhrazené zdroje | Ano | Ano | Ano | Ano | 200 $ měsíčně |
Herní motory | |||||||
---|---|---|---|---|---|---|---|
Grafický | Volný, uvolnit GLScene Horde3D Irrlicht OGRE OpenSceneGraph Proprietární Outerra | ||||||
Fyzický | Volný, uvolnit Box2D Kulka Chipmunk newton ÓDA. Tokamak Proprietární DMM Havok fyzika PhysX | ||||||
obecný účel |
| ||||||
Specializované |
| ||||||
Seznam herních enginů |