Unity (pelimoottori)

Yhtenäisyys
Tyyppi pelimoottori , integroitu kehitysympäristö , rakentaja , kehys
Kehittäjä Unity Technologies
Sisään kirjoitettu C++ (ajoaika), C#
Käyttöjärjestelmä Microsoft Windows , macOS , Linux , Android ja iOS
Käyttöliittymäkielet Englanti
Ensimmäinen painos 8. kesäkuuta 2005
Laitteistoalusta PC
PlayStation 4
PlayStation 5
Xbox One
Xbox Series X
Apple TV
uusin versio
beta-versio
Osavaltio aktiivinen
Lisenssi omistusoikeus
Verkkosivusto unity.com
 Mediatiedostot Wikimedia Commonsissa

Unity ( englannin kielestä käännettynä  unity  -  "unity", äännetään nimellä "unity") on amerikkalaisen Unity Technologies -yrityksen kehittämä tietokonepelien [3] monikäyttöympäristö . Unityn avulla voit luoda sovelluksia, jotka toimivat yli 25 eri alustalla, mukaan lukien henkilökohtaiset tietokoneet , pelikonsolit , mobiililaitteet , Internet-sovellukset ja muut [4] . Unity julkaistiin vuonna 2005 ja sen jälkeen kehitystä on tapahtunut jatkuvasti.

Unityn tärkeimmät edut ovat visuaalisen kehitysympäristön läsnäolo , eri alustojen tuki ja modulaarinen komponenttijärjestelmä. Haittoja ovat monikomponenttipiirien kanssa työskentelyyn liittyvien vaikeuksien ilmeneminen ja ulkoisten kirjastojen liittämisen vaikeudet .

Unitylle on kirjoitettu tuhansia pelejä, sovelluksia, matemaattisten mallien visualisointeja, jotka kattavat monia alustoja ja genrejä. Samaan aikaan Unitya käyttävät sekä suuret kehittäjät että itsenäiset studiot .

Ominaisuudet

Unity-editorissa on yksinkertainen Drag&Drop -käyttöliittymä sekä KALI-liitännäisten asennus, joka on helppo konfiguroida ja joka koostuu useista eri ikkunoista, joten voit tehdä pelin virheenkorjauksen suoraan editorissa . Moottori käyttää C# [5] komentosarjojen kirjoittamiseen . Boo ( Python -murre , poistettu versiosta 5) ja JavaScript -muutos , joka tunnetaan nimellä UnityScript (poistettu käytöstä versiossa 2017.1) , tuettiin myös aiemmin . Fysiikkalaskelmat suorittaa NVIDIAn PhysX - fysiikkamoottori 3D-fysiikkaa varten ja Box2D 2D-fysiikkaa varten [6] . Graphics API - DirectX (tällä hetkellä DX 11 , DX 12 tuettu )

Projekti Unityssa on jaettu kohtauksiin ( tasoihin ) - erillisiin tiedostoihin, jotka sisältävät heidän pelimaailmansa omilla esineillä, skenaarioilla ja asetuksilla. Kohtaukset voivat sisältää sekä itse asiassa esineitä (malleja) että tyhjiä peliobjekteja - esineitä, joilla ei ole mallia ("nukke") [7] . Objektit puolestaan ​​sisältävät joukkoja komponentteja, joiden kanssa komentosarjat ovat vuorovaikutuksessa. Objekteilla on myös nimi (Unityssä kaksi tai useampi samanniminen objekti on sallittu yhdessä kohtauksessa), voi olla tunniste (etiketti) ja taso, jolla se pitäisi näyttää. Joten missä tahansa lavan objektissa on oltava Transform-komponentti - se tallentaa kohteen sijainnin, pyörimisen ja koon koordinaatit kaikilla kolmella akselilla.

Unity tukee myös jäykkää vartalo- ja kangasfysiikkaa sekä Ragdoll (rag doll) -tyyppistä fysiikkaa.

Editorissa on objektin periytymisjärjestelmä; aliobjektit toistavat kaikki muutokset pääobjektin sijainnissa, kierrossa ja mittakaavassa.

Editorissa olevat komentosarjat liitetään objekteihin erillisinä komponentteina.

Kun tuot tekstuurin Unityyn, voit luoda alfa-kanavan , mip-tasot , normaalikartan , valokartan , heijastuskartan, mutta et voi liittää pintakuvioita suoraan malliin - syntyy materiaali, johon varjostin osoitetaan , ja sitten materiaali liitetään malliin. Unity-editori tukee varjostimien kirjoittamista ja muokkaamista. Unity-editorissa on komponentti animaation luomiseen, mutta animaatio voidaan myös luoda valmiiksi 3D-editorissa ja tuoda mallin mukana ja jakaa sitten tiedostoiksi.

Unity 3D tukee Level Of Detail (lyhennetty LOD) -järjestelmää, jonka ydin on, että kaukana soittimesta erittäin yksityiskohtaiset mallit korvataan vähemmän yksityiskohtaisilla ja päinvastoin, samoin kuin Occlusion-teurastusjärjestelmä, jonka ydin on, että esineitä, geometriaa ja törmäyksiä, jotka eivät ole kameran näkökentässä, ei renderöidä, mikä vähentää keskusprosessorin kuormitusta ja mahdollistaa projektin optimoinnin. Projektia käännettäessä luodaan suoritettava (.exe) pelitiedosto ( Windowsille ) ja erilliseen kansioon - pelitiedot (mukaan lukien kaikki pelitasot ja dynaamisesti linkitetyt kirjastot).

Moottori tukee monia suosittuja formaatteja. Mallit, äänet, tekstuurit, materiaalit ja skriptit voidaan pakata .unitypackage-muotoon ja siirtää muille kehittäjille tai ladata ilmaiseksi. Samaa muotoa käytetään sisäisessä Unity Asset Storessa, jossa kehittäjät voivat jakaa erilaisia ​​pelien luomiseen tarvittavia elementtejä ilmaiseksi ja rahalla. Jotta voit käyttää Unity Asset Storea, sinulla on oltava Unity-kehittäjätili.

UNet (kirjasto moninpelin toteuttamiseen Unity-peleissä) on poistettu versiosta 2018.4 lähtien; moninpeliin ei ole valmiita ratkaisuja. Voit myös käyttää käyttäjäystävällistä versionhallintamenetelmää. Esimerkiksi Tortoise SVN, Git tai Source Gear .

Unity sisältää Unity Asset Serverin, Unityyn perustuvan yhteistyökehitystyökalun, joka on lisäosa, joka lisää versionhallinnan ja useita muita palvelinpuolen ratkaisuja.

Edut ja haitat

Tyypillisesti pelimoottori tarjoaa paljon toimintoja, joiden avulla niitä voidaan käyttää erilaisissa peleissä, mukaan lukien fysiikan simulointi, normaalit kartat, dynaamiset varjot ja paljon muuta. Toisin kuin monilla pelimoottoreilla, Unitylla on kaksi pääetua: visuaalisen kehitysympäristön läsnäolo ja eri alustojen tuki [8] . Ensimmäinen tekijä ei sisällä vain visuaalisia mallinnustyökaluja, vaan myös integroitua ympäristöä , kokoonpanoketjua , jonka tarkoituksena on parantaa kehittäjien tuottavuutta, erityisesti prototyyppien ja testauksen vaiheita. Monialustaisen tuen yhteydessä ei tarjota vain käyttöönottosivustoja (asennus henkilökohtaiseen tietokoneeseen, mobiililaitteeseen, konsoliin jne.), vaan myös kehitystyökalujen saatavuus (integroitua ympäristöä voidaan käyttää Windows- ja Mac OS -käyttöjärjestelmissä) [4] .

Kolmas etu on Unityn modulaarinen komponenttijärjestelmä, jota käytetään peliobjektien rakentamiseen, kun viimeksi mainitut ovat yhdistettäviä toiminnallisten elementtien paketteja. Toisin kuin periytymismekanismit , Unityn objektit luodaan yhdistämällä toimintolohkoja sen sijaan, että ne sijoitettaisiin perintöpuun solmuihin. Tämä lähestymistapa helpottaa prototyyppien luomista, mikä on tärkeää pelien kehityksessä [9] .

Haittapuolena on visuaalisen editorin rajoitus, kun työskennellään monikomponenttikaavioiden kanssa, kun visuaalinen työ on vaikeaa monimutkaisissa kohtauksissa. Toinen haittapuoli on Unity-tuen puute linkeille ulkoisiin kirjastoihin , jotka ohjelmoijien on määritettävä toimimaan, ja tämä vaikeuttaa myös ryhmätyötä. Toinen haitta liittyy ilmentymämallien käyttöön ( englanninkieliset  prefabs ). Yhtäältä tämä Unity-konsepti tarjoaa joustavan lähestymistavan objektien visuaaliseen muokkaamiseen, mutta toisaalta tällaisten mallien muokkaaminen on vaikeaa [9] . Lisäksi moottorin WebGL - versiolla on sen arkkitehtuurin erityispiirteiden vuoksi (koodin kääntäminen C#:sta C++:aan ja edelleen JavaScriptiin) useita ratkaisemattomia ongelmia suorituskyvyn, muistin kulutuksen ja mobiililaitteiden suorituskyvyn suhteen [10] [11 ] .

Games on Unity

Unitylle on kirjoitettu satoja pelejä, sovelluksia ja simulaatioita [12] , Unitya käyttävät sekä suuret kehittäjät (esim. Blizzard [13] ) että indie-pelien luomisessa . Unityn tietokonepelit kattavat monia alustoja ja genrejä, joista tyypillisiä esimerkkejä ovat [14] :

Historia

Unityn ensimmäinen versio ilmestyi vuonna 2005, kun pelimoottori julkistettiin Worldwide Developers Conferencessa . Alun perin Unity oli tarkoitettu yksinomaan Mac-tietokoneille, ja elokuussa julkaistiin päivitys, jonka avulla se toimisi Windowsissa. Seuraavat versiot lisäsivät vähitellen uusia alustoja ja käyttöönottoja: cross-platform web player vuonna 2006, iPhone vuonna 2008, Android vuonna 2010 ja edelleen Xbox- ja Playstation-pelikonsolit [4] .

On mahdollista luoda selaimissa toimivia sovelluksia käyttämällä erityistä Unity -laajennusta (Unity Web Player) sekä käyttämällä WebGL-teknologiaa. Aiemmin Adobe Flash Player -moduulin projektien toteuttamiseen oli kokeellista tukea [15] , mutta myöhemmin Unityn kehitystiimi teki vaikean päätöksen luopua tästä [16] .

Joulukuussa 2009 Gamasutra nimesi Unityn yhdeksi peliyhtiömarkkinoiden merkittävimmistä toimijoista [17] .

Lisenssit

Unityn ilmaisella versiolla on joitain rajoituksia, mutta se on mahdollista jakaa pelejä, mikäli pelistä saatavat vuositulot eivät ylitä 100 000 dollaria [18] .

Lisenssi-tyyppi Yrityksen tulot vuodessa Tervetuloa-näyttö Moninpeliominaisuudet Rakenna pilvitallennustilaan Tumma teema Tehokkuusraportit Premium-tuki Pääsy lähdekoodiin Hinta ( dollareissa )
Henkilökohtainen Jopa 100 000 dollaria "Made With Unity" ja valinnainen mukautettu animaatio 20 CCU:ta Vakio Joo Ei Ei Ei On ilmainen
Plus Jopa 200 000 dollaria Mukautettu animaatio ja/tai "Made With Unity" 50 CCU:ta Prioriteetti Joo Joo Ei Ei 399 vuodessa tai 40 kuukaudessa
Pro Ei rajoitettu Mukautettu animaatio ja/tai "Made With Unity" 200 CCU:ta Samanaikainen Joo Joo Joo Ei 1800 vuodessa tai 150 kuukaudessa
Yritys Ei rajoitettu Mukautettu animaatio ja/tai "Made With Unity" Mukautettu moninpeli Omat resurssit Joo Joo Joo Joo 200 dollaria kuukaudessa

Muistiinpanot

  1. https://unity3d.com/get-unity/download/archive
  2. Unity 2022.1 beta on nyt saatavilla  (englanniksi) – 2021.
  3. Hawking, 2016 , s. 16.
  4. 1 2 3 Hawking, 2016 , s. 22.
  5. Unity Technologies. Unity - Manual : Unity - arkkitehtuuri  . docs.unity3d.com . Haettu 13. toukokuuta 2022. Arkistoitu alkuperäisestä 13. toukokuuta 2022.
  6. Unity Technologies. Unity - Manual: Physics  (englanniksi) . docs.unity3d.com . Haettu 13. toukokuuta 2022. Arkistoitu alkuperäisestä 13. toukokuuta 2022.
  7. Unity Technologies. Unity - Manual : Kohtaukset  . docs.unity3d.com . Haettu 13. toukokuuta 2022. Arkistoitu alkuperäisestä 18. huhtikuuta 2022.
  8. Hawking, 2016 , s. 21.
  9. 1 2 Hawking, 2016 , s. 23.
  10. Muistin huomioitavaa WebGL-kohdistuksessa . Haettu 24. elokuuta 2018. Arkistoitu alkuperäisestä 24. elokuuta 2018.
  11. Verge3D vs. Unity WebGL - Pipeline and Performance . Haettu 24. elokuuta 2018. Arkistoitu alkuperäisestä 24. elokuuta 2018.
  12. Hawking, 2016 , s. 24-26.
  13. Jopa Hearthstone toimii Unityssa – ja siksi se on jo iPadissa . Haettu 29. syyskuuta 2017. Arkistoitu alkuperäisestä 5. marraskuuta 2017.
  14. Hawking, 2016 , s. 25-.
  15. Dean Takahashi. Unity Technologies -kehittäjät voivat julkaista 3D-pelejä Adobe Flashin  kautta . VentureBeat (21. joulukuuta 2011). Haettu 11. maaliskuuta 2012. Arkistoitu alkuperäisestä 9. kesäkuuta 2012.
  16. David Helgason. Auringonlaskun  salama . Unity-blogi (23. huhtikuuta 2013). Käyttöpäivä: 9. joulukuuta 2014. Arkistoitu alkuperäisestä 29. marraskuuta 2014.
  17. Christian Nutt. Gamasutran vuoden 2009 parhaat: 5 parasta  peliyritystä . Gamasutra. - "Unitysta on tullut merkittävä toimija markkinoilla vuodesta 2009 lähtien, ja lisää on tulossa." Haettu 11. maaliskuuta 2012. Arkistoitu alkuperäisestä 9. kesäkuuta 2012.
  18. Unity-ohjelmiston käyttöoikeussopimus 4.x. Käyttöpäivä: 6. maaliskuuta 2014. Arkistoitu alkuperäisestä 7. maaliskuuta 2014.

Kirjallisuus

Linkit