Unity-də kiçik bir komanda ilə oyun yaratmaq: texnologiyanın xüsusiyyətləri. Unity3d

Bu gün mən sizə 2D oyunları yaratmaq üçün Unity-ə daxil olan yeni 2D alətlərindən necə istifadə edəcəyinizi göstərəcəyəm.

Tətbiqə ümumi baxış

Bu dərslikdə siz Unity-də 2D mobil oyun yaratmağı öyrənəcəksiniz. Proqramlaşdırma dili kimi C# istifadə olunacaq.

Oyunun məqsədi Burenoku anbarın təhlükəsizliyinə çatmazdan əvvəl teleportasiya şüasında tutmaqdır.

Bu layihədə siz Birliyin inkişafının aşağıdakı aspektlərini öyrənəcəksiniz:

  • Unity-də 2D layihəsi yaratmaq
  • Unity interfeysi ilə tanışlıq
  • prefabrikin yaradılması
  • oyun obyektlərinə skriptlərin əlavə edilməsi
  • toqquşma idarəsi
  • taymerlərdən istifadə etməklə
  • səslə işləmək

Birlikdə Layihənin Yaradılması

Unity-i yükləyin və yeni layihə dialoqunu açmaq üçün Fayl menyusundan Yeni Layihə seçin. Layihəniz üçün kataloq seçin və 2D.Open üçün standart parametrləri təyin edin

Parametrlər

Növbəti addım sizi Unity interfeysi ilə tanış edəcək. üzərinə klikləməklə mobil inkişaf layihəsi yaradın Quraşdırma Parametrləri menyuda Fayl və gələcək oyununuz üçün lazım olan platformanı seçmək.

Unity-də siz iOS, Android, BlackBerry və Windows Phone 8 üçün oyunlar yarada bilərsiniz. 2D oyunlar yaratmağa hazırlaşacağımız üçün platforma seçdikdən sonra etməli olduğumuz ilk şey proqramda istifadə edəcəyimiz şəkillərin ölçüsünü seçməkdir. oyun:

  • Retinasız iPad: 1024px x 768px
  • Retina ilə iPad: 2048px x 1536px
  • Retinasız 3,5" iPhone/iPod Touch: 320px x 480px
  • Retina ilə 3,5" iPhone/iPod: 960px x 640px
  • 4" iPhone/iPod Touch: 1136px x 640px

Android açıq platforma olduğundan, müxtəlif ekran qətnamələri və piksel sıxlığı olan bir çox cihaz var. Ən ümumi olanlardan bəziləri aşağıda verilmişdir:

  • Asus Nexus 7 Planşet: 800px x 1280px, 216 ppi
  • Motorola Droid X: 854px x 480px, 228 ppi
  • Samsung Galaxy SIII: 720px x 1280px, 306 ppi

Windows Phone və BlackBerry üçün:

  • Blackberry Z10: 720px x 1280px, 355 ppi
  • Nokia Lumia 520: 400px x 800px, 233 ppi
  • Nokia Lumia 1520: 1080px x 1920px, 367 ppi

Ancaq bu dərslikdə iOS platformasına diqqət yetirsək belə, oyunu istənilən başqa platformada oynamaq olar.


Hədəflədiyiniz cihazdan asılı olaraq, şəkillərinizi tövsiyə olunan ölçüyə və piksel sıxlığına çevirməlisiniz. Bunu sevimli qrafik redaktorunuzda edə bilərsiniz.

Birlik interfeysi

Səhnə panelində 2D düyməsini sıxmağı unutmayın. Siz həmçinin səhnəni paneldə göstərmək üçün istifadə olunan qətnaməni dəyişə bilərsiniz Oyun.

Oyun interfeysi


Oyunumuzun oyun interfeysi olduqca sadə olacaq. Bu dərsliyə daxil olan mənbə fayllarında şəkillər və skriptləri tapa bilərsiniz.

Unity-də proqramlaşdırma dilləri

Unity-nin dəstəklədiyi üç proqramlaşdırma dilindən birini istifadə edə bilərsiniz: C#, sintaksis baxımından JavaScript-ə bənzər UnityScript və Boo. Hər bir dilin öz müsbət və mənfi cəhətləri var və oyununuzu hansı dildə yaratmaq sizə bağlıdır. Mən C# dilini daha çox bəyənirəm, ona görə də istifadə edəcəyik.

Başqa dildə proqramlaşdırmaq istəyirsinizsə, öyrənmək üçün Unity-nin Skript Referansına müraciət edin.

Kodlaşdırmaya başlamazdan əvvəl aktivlərimizi Unity layihəsinə əlavə etməliyik. Bunu etmək üçün bir neçə yol var:

  • seçin Yeni aktivi idxal edin menyudan Aktivlər
  • layihədəki aktivlər qovluğuna təfərrüatlar əlavə edin
  • aktivləri layihə pəncərəsinə sürükləyin

Bu addımı tamamladıqdan sonra qovluqda layihənizin aktivlərini görməlisiniz Aktivlər paneldə Layihə.

Səhnənin yaradılması

Biz obyektləri panelə sürükləyərək oyun səhnəmizi yaratmağa hazırıq İyerarxiya(İyerarxiya) və ya Səhnə(Səhnə).

Fon

Fonu (gameBg.png faylı) panelə dartın İyerarxiya panellər. Daha sonra Səhnə panelində görünməlidir.

Nişandan bəri Səhnə(Səhnə) 2D rejiminə qurulub, siz Əsas Kamera ( Əsas Kamera) iyerarxiya panelində və kameranın nə göstərəcəyini görəcəksiniz. Siz bunu Səhnə nişanından 'a keçməklə də görə bilərsiniz Oyun(Oyun). Bütün səhnəni görünən etmək üçün parametri dəyişdirin Ölçü(Ölçü) paneldə Əsas kamera 1.6 üçün Müfəttiş(Müfəttiş).


Uçan boşqab

Oyunumuzdakı gəmi statik bir elementdir və oyunçu onunla heç bir şəkildə qarşılıqlı əlaqədə deyil. Gəlin onu səhnənin mərkəzinə yerləşdirək, bunun üçün sadəcə olaraq təyyarəni Layihə panelində yerləşən Aktivlər qovluğundan Səhnə nişanına sürükləyin; UFO-da olduğu kimi, gəlin inəklərimiz üçün tövləni səhnəyə daşıyaq və ekran görüntüsündə göstərildiyi kimi təşkil edək:


Anbar toqquşdurucusu

Anbarın içəri girmək istəyəndə inəklə toqquşmasına reaksiya verdiyinə əmin olmaq üçün bir komponent əlavə etməlisiniz, daha doğrusu Box Collider 2D.

Səhnədə və nişanda anbar seçin Müfəttiş düyməsinə basın Komponent əlavə edin(komponent əlavə edin). Komponentlər siyahısından bölməni seçin Fizika 2d, və onun tərkibində Box Collider 2D var. Parametrin yanında olduğundan əmin olun Tətikdir gənə var. Əgər orada deyilsə, onu quraşdırın.


Biz tətiğimizin anbarın qapısına dəyməsini istəyirik, buna görə də toqquşdurucunu kiçik etməliyik. Müfəttiş sekmesine keçin və toqquşdurucu dəyərlərini Ölçü (kollayderin hündürlüyü və eni) və Mərkəz (kollayderin mərkəzinin koordinatları) qarşısında dəyişdirin ki, o, anbarın qapısına yaxın olsun. Mən belə bir şey aldım:


Toqquşma İdarəetmə Skripti

İlk kodumuzu yazmağın vaxtı gəldi. Bizə hər dəfə inək tövləyə girəndə tətbiqi toqquşmaya cavab verməyə məcbur edəcək bir ssenari lazımdır. Anbarı seçin və Müfəttiş panelində Komponent əlavə et düyməsini basın. Yeni Skript seçin və onu OnCollision adlandırın. Dili C#-a dəyişməyi unutmayın.

Yeni yaradılmış faylı açın və aşağıdakı kod parçasını əlavə edin:

UnityEngine istifadə edərək; System.Collections istifadə edərək; ictimai sinif OnCollision: MonoBehaviour ( void OnTriggerEnter2D(Collider2D other) ( if (other.gameObject.name == "cow(Clone)") ( /* Kömək üçün fəryad çalın */ audio.Play(); /* İnəyi məhv edin */ Məhv et(digər.gameObject);

Snippet skriptin qoşulduğu obyektlər, anbar və inək (Clone) adlı obyekt arasında toqquşmaya reaksiya verir - prefabını sonra yaradacağımız inək nümunələrindən biridir. Toqquşma baş verdikdə, səs və obyekt çalınır inək məhv edilir.

Səs əlavə etmək

İnək tövləyə girəndə səs çıxarmaq üçün əvvəlcə səsi tövləyə bağlamaq lazımdır. İyerarxiya tabında və ya səhnənin özündə (Səhnə nişanı) anbara vurun, düyməni basın Komponent əlavə edin tabda Müfəttiş və bölmədə seçin Audio paraqraf Audio Mənbə Audio Mənbə. İndi səs faylımızı onunla əlaqələndirməliyik. Elementin sağındakı dairəyə klikləyin Audio klip və anbar səsini seçin. yanındakı qutunun işarəsini silin Oyanışda oynayın

Siz üzərinə klikləməklə Unity UI-də (Gizmos) nişanların ölçüsünü artıra bilərsiniz Gizmos tabda Səhnə və kaydırıcının mövqeyini tənzimləmək.

kosmik şüa

Kosmik şüa şəklini tabdan dartın Aktivlər hadisə yerinə və ona bir kollayder əlavə edin (bunu necə edəcəyinizi artıq bilirsiniz). Bu şüanın yavaş hərəkət edən inəklərlə toqquşmasını aşkar etmək üçün lazımdır. Keçiddən əmin olun Tətikdir daxildir.

Şüa skripti

Əvvəlki addımları təkrarlayaraq yeni bir skript yaradın. Skripti Bullet adlandırın və ona aşağıdakı kodu yazın:

UnityEngine istifadə edərək; System.Collections istifadə edərək; ictimai sinif Bullet: MonoBehaviour ( ictimai AudioClip cowSound; // İnisializasiya üçün istifadə olunur void Start() ( renderer.enabled = false; /* Obyekti görünməz edir */ ) // Hər bir çərçivənin boşluğunu yeniləyin Update() ( /* Sağ klikləyin siçan düyməsini və ya ekrana toxunmaq */ if (Input.GetButton("Fire1")) ( renderer.enabled = true; /* Obyekti görünən edir */ /* Şüa atan gəminin səsini səsləndirin */ audio.Play( ) əgər (renderer.enabled == true) (transform.position += Vector3.down * (Time.deltaTime * 2); ) /* Həddindən artıq olub olmadığını yoxlayın */ əgər (this.transform.position). y

Burada çoxlu kod var, lakin heç də mürəkkəb deyil. Gəlin görək nə baş verir. Əvvəlcə audio faylı saxlamaq üçün istifadə edəcəyimiz cowSound adlı AudioClip nümunəsi yaradırıq. Bir obyektə iki audio komponenti əlavə etmək istəmirsinizsə, bu, audio oxutmaq üçün başqa bir seçimdir. Biz dəyişəni ictimai elan etdik ki, ona tabdan daxil ola bilək Müfəttiş. Sağ tərəfdəki kiçik nöqtəyə klikləyin inək səsi və cowSound audio faylını seçin.

Daha sonra renderini söndürərək şüanı görünməz etdik. Resurslara qənaət etmək üçün eyni obyektdən istifadə edirik. Bu nöqtə aşağı güclü cihazlar üçün optimallaşdırma üçün çox vacibdir.

Ekranda toxunuşları aşkar edirik, şüanın görünməsini təmin edirik və şüanın səsini çalırıq (aşağıya bax). Şüamız görünəndə inəyi vurmaq üçün aşağı hərəkət etməyə başlayır.

Şüamızın səhnənin hüdudlarından kənarda olub olmadığını yoxlamaq üçün bir yoxlama da daxil etdik. Əgər belədirsə, biz onu öz yerinə qaytarırıq və UFO-muz yenidən vura biləcək (Müfəttişdə şüanın x və y dəyərlərini yoxlayın).

Sonuncu hissə şüanın inəyə toxunub-toxunmadığını yoxlayır. Bu baş verərsə, bir səs çalınır və inək yox olur. Sonra şüa yenidən görünməz hala gətirilir, ilkin vəziyyətinə keçir və UFO yenidən atəş açmağa hazırdır.

Şüa üçün səs əlavə edilməsi


Kosmik şüamıza səs əlavə etmək üçün tabda seçməlisiniz İyerarxiya və ya Səhnə işıq şüamız və düyməni basın Komponent əlavə edin tabda Müfəttiş. seçin Audio Mənbə bölməsindən Audio. İşarəni silin Oyanışda oynayın və sağdakı kiçik nöqtəyə klikləyin Audio klip bizzed adlı səs faylını seçmək üçün.

Bir inək əlavə edin

İnəyimizi paneldən dartın Aktivlər Aşağıdakı şəkildə göstərildiyi kimi Səhnə sekmesine keçin:


Sərt Bədən 2D

Toqquşmanın qeydə alınması üçün komponenti əlaqələndirməlisiniz RigidBody2D iştirak edən obyektlərdən ən azı biri ilə. İnək həm tövlə, həm də şüa ilə toqquşa bildiyi üçün inəyə bir komponent əlavə etmək yaxşıdır. Burenkamızı seçin və düyməni basın Komponent əlavə edin Nişanda (komponent əlavə et). Müfəttiş(Müfəttiş). Bir element seçin Fizika 2d, və içərisində RigidBody2D. Biz sadəcə bir komponent əlavə etdik RigidBody2D. İçindəki parametri təyin edin Qravitasiya Ölçüsü sıfıra bərabərdir:


İnək toqquşdurucusu

Biz həmçinin tövlə və tir ilə toqquşmaları aşkar etmək üçün inəyə bir toqquşdurucu bağlamalıyıq (bunu necə edəcəyinizi artıq bilirsiniz). Onay qutusunu işarələməyi unutmayın Tətikdir V Müfəttiş.

İnək hərəkəti ssenarisi

İnəyin köçürülməsinə cavabdeh olacaq bir skript yaradın və ona aşağıdakı kodu yazın:

UnityEngine istifadə edərək; System.Collections istifadə edərək; ictimai sinif MoveCow: MonoBehaviour ( ictimai Vector3 moveSpeed; ictimai float spawnTime = 2f; ictimai float spawnDelay = 2f; // Başlanğıc üçün istifadə olunur void Start() ( moveSpeed ​​= Vector3.left * Time.deltaTime; InvokeRepeating("ChangeSpeed", spawnDelay, spawnTime ) void ChangeSpeed() ( moveSpeed ​​= new Vector3(Random.Range(-1, -2), 0, 0) * 0.05f; ) // Hər bir çərçivəni boşaldın Update() ( transform. mövqe += hərəkət sürəti ) ;

MoveCow sinfi, moveSpeed ​​dəyişənindən istifadə edərək ekranda hərəkət edərkən inəyi canlandırır. InvokeRepeating metodu inəyin sürətini dəyişdirərək səhnənin mərkəzinə çatdığı andan onun çapmasına səbəb olur. Bu, oyunu daha da çətinləşdirir.

Bir inək üçün prefabrik yaratmaq

İndi bütün lazımi komponentləri inəyə bağladığımız üçün onu prefabrikə çevirməyin vaxtı gəldi.

"Prefabrikdir GameObject saxlanılan təkrar istifadə üçün Layihə Görünüşü. Prefabrik istənilən sayda səhnəyə bir neçə dəfə daxil edilə bilər. Səhnəyə prefab əlavə etdiyiniz zaman onun nümunəsini yaradırsınız. Bütün prefabrik nümunələr orijinal prefabrik ilə əlaqəlidir və əslində onun klonlarıdır. Layihəniz üçün nə qədər nüsxə yaratmağınızdan asılı olmayaraq, orijinal prefabda edilən hər hansı dəyişiklik onun bütün nümunələrinə tətbiq olunacaq."

İnəyi prefabrikə çevirmək üçün inəyi İerarxiya tabından panelə dartın Aktivlər. Nəticədə, ad İyerarxiya mavi rəngə çevriləcək.

İnəyi prefabrikə çevirmək ondan istifadə etməyə imkan verir, bu, artıq lazımi komponentləri ehtiva etdiyi üçün çox rahatdır.

Yumurtlama skripti

Spawner skripti inəklərin nümayişinə cavabdehdir. MonoDevelop və ya sevimli C# redaktorunuzu açın və yeni skript yaradın:

UnityEngine istifadə edərək; System.Collections istifadə edərək; ictimai sinif Yumurtlayan: MonoBehaviour ( ictimai float spawnTime = 2f; ictimai float spawnDelay = 2f; ictimai GameObject inək; // Başlamaq üçün istifadə olunur void Start() ( InvokeRepeating("Spawn", spawnDelay, spawnTime); ) void Spawn() ( / * Bir inək nümunəsi yaradın */ GameObject klonu = GameObject kimi Instantiate (inək, transform.position, transform.rotation) ) )

SpawnTime və spawnDelay üçün təyin edilmiş dəyərlərdən istifadə edərək inəkləri klonlaşdırmaq üçün InvokeRepeating metodundan istifadə edirik. GameObject inək ictimai təyin edilir və istifadə edərək yaradılmışdır Müfəttiş. Sağdakı kiçik nöqtəyə vurun və inək prefabını seçin.

Bir inək prefabrikinin çoxsaylı nümunələrini yaratmaq üçün bir neçə dəqiqə əvvəl səhnəyə əlavə etdiyimiz inək qrafikindən istifadə edin. Onu seçin və komponentlərini silin. Sonra Spawner skriptini əlavə edin.

Test

Oyunumuzu sınamağın vaxtı gəldi. Unity-də oyunu başlamaq üçün Command + P düymələrini basın. Hər şey lazım olduğu kimi işləyirsə, son mərhələyə hazırsınız.

Oyunçu parametrləri

Uğurlu sınaqdan sonra diqqətinizi oyunçu parametrlərinə yönəldə bilərsiniz. seçin Quraşdırma Parametrləri menyu menyusundan Fayl və düyməni basın Oyunçu Parametrləri(oyunçu parametrləri). Siz indi tətbiqiniz üçün proqram başlayanda göstərilən Tətbiq İkonu və ya Splash Şəkil kimi parametrləri fərdiləşdirə bilərsiniz. Oyununuz üçün gözəl bir simvol yaratmaq üçün qrafik redaktorlardan istifadə edin. Unity sizə tətbiqinizdən asılı olan İkon bölməsində tələb olunan ölçüləri göstərəcək.


Nəşr

Layihəniz konfiqurasiya edildikdən sonra səhifəyə qayıdın Quraşdırma Parametrləri və düyməni basın qurmaq. Mobil cihazlarda sınaqdan keçirmək və ya oynamaq üçün oyununuzu yaratmaq üçün sizə lazım olan hər şey budur.

Xcode

Əgər siz iOS üçün oyunlar hazırlayırsınızsa, proqram üçün son ikili faylı tərtib etmək üçün sizə Xcode lazımdır. Xcode layihənizi açın və seçin qurmaq menyudan Məhsul.

Nəticə

Bu dərslikdə biz Unity-nin yeni 2D imkanları, toqquşmanın aşkarlanması və Unity üçün oyun inkişafının digər aspektləri haqqında öyrəndik.

Nəticələrlə sınaqdan keçirin və öz oyununuzu yaratmaq üçün konfiqurasiyanı dəyişdirin. Ümid edirəm bu məqalə sizə kömək etdi.

Bu məhsul müxtəlif tarif planlarında mövcuddur. Indie developer üçün pulsuz versiya başlamaq üçün əla yerdir. "İndi Yüklə" düyməsini basın və OS üçün versiyanı endirin. Unity Mac OS və Windows üçün əlçatandır, lakin kompüterinizin sistem tələblərinə cavab verdiyinə əmin olun.

Sonra qeydiyyatdan keçməlisiniz. Bu, Unity Asset Store-dan yükləmə tarixçənizi saxlayacaq. Tətbiq yükləndikdən dərhal sonra başlayacaq. OS-dən asılı olaraq quraşdırma iki ilə on dəqiqəyə qədər çəkə bilər. Proses zamanı məlumatlarınızı daxil etməli olduğunuz bir informasiya qutusu görünəcək. Yeni layihə yaratmaq üçün hesabınıza daxil olun.

Yeni Layihəni seçin və onu "Mənim Şəhərim" adlandırın. Hələ heç bir paket seçməyə ehtiyac yoxdur.

Layihələriniz üçün qovluğu diqqətlə seçin, çünki bütün fayllar bir yerdə qalmalıdır. Bu layihə üçün standart qovluğu tərk edin. Layihə açıldıqdan sonra Fayl > Yeni Səhnə seçin və səhnəni "MyFirstCity" adlandırın.

Birlik interfeysi

İnterfeys ilk baxışda mürəkkəb görünə bilər, lakin biz onun bütün elementlərini ardıcıllıqla təhlil edəcəyik. Qarşınızda aşağıdakı pəncərə görünməlidir:

Aşağıdan başlayaq.

  • Tab Layihə bütün layihə fayllarını ehtiva edir: şəkillər, fakturalar və prefabriklər. Fayllarınızı əvvəldən qaydasında saxlayın, çünki siz işlədikcə onların sayı sürətlə artacaq və gec-tez çaşqınlıq riski ilə üzləşəcəksiniz.
  • Nişanda Konsol xəta kodu və ya mesajlar göstərilir.
  • Paneldə İyerarxiya cari səhnənin obyektlərini ehtiva edir. İstənilən layihə İşıq və Əsas Kamera elementləri ilə başlayır.
  • Tab Səhnəəsas kamera mövqeyindən cari səhnəni göstərir.
  • Tab Oyun oyunçu onu görəcəyi kimi oyunu göstərir.
  • Nişanda Animator Siz xarakterinizin animasiya nəzarətçisinə əmrlər əlavə edə bilərsiniz.
  • Panel Müfəttiş rəng, faktura, skriptlər və s. kimi cari səhnə obyektləri üçün parametrləri ehtiva edir.

Yuxarı sol küncdəki alətlər səhnə ətrafında əl ilə hərəkət etməyə və onun elementlərini hərəkət etdirməyə imkan verir. Səhnəyə element əlavə etdiyiniz zaman o, oyunda real vaxt rejimində görünəcək. Əhəmiyyətli: səhnə elementlərinin istədiyiniz mövqeyi saxlaması üçün hərəkətlərinizi yadda saxlamağı unutmayın.

  • Alət Əl səhnədə sərbəst hərəkət etməyə imkan verir.
  • Çapraz Ox səhnə elementlərini hərəkət etdirmək üçün istifadə olunur.
  • Dairəvi Oxlar səhnə elementlərini döndərir.
  • Xarici Oklar səhnə elementlərinin ölçüsünü dəyişdirin.
  • Qutu səhnəyə birinci şəxs nöqteyi-nəzərindən baxmağa imkan verir.

Üst paneldə də nişanlar var Fayl, Redaktə, Aktivlər, Oyun Obyektləri, Komponent, Mobil Giriş, Pəncərə və Yardım. Zamanla siz onların bütün yarımbəndlərini öyrənəcək və onlardan necə istifadə edəcəyinizi öyrənəcəksiniz.

İnterfeys elementinin tərtibatı


Unity-i ilk dəfə açdığınız zaman yuxarıdakı ekran görüntüsündə olduğu kimi interfeys elementlərinin tərtibatını görəcəksiniz. Dəyişmək üçün bura keçin Pəncərə > Planlar. Sizə ən uyğun olanı tapana qədər təklif olunan variantların hər birini nəzərdən keçirin.

Siz həmçinin nişanları sol klikləməklə və onları lazım olan yerə sürükləməklə elementlərin düzülməsini özünüz də fərdiləşdirə bilərsiniz. Məsələn, mən iki monitorda işləyirəm, ona görə də birində Oyun sekmesi, digərində isə Səhnə nişanı açıqdır.

Aktivlər yüklənir

İndi səhnəni yaratdıq və elementlərin düzülməsini qurduq, lazımi aktivləri yükləməyin vaxtı gəldi. Unutmayın ki, istənilən aktiv bir çox layihələrdə istifadə edilə bilər.

Getmək Pəncərə > Aktiv Mağazası. Mağaza açıldıqda bir ton Unity obyekti, tekstura, simvol və alətlər görəcəksiniz. Əlbəttə ki, istədiyinizi ala bilərsiniz, amma bu dərslikdə mən sizə dokuları özünüz necə yaratacağınızı, həmçinin pulsuz aktivlərdən necə istifadə edəcəyinizi söyləyəcəyəm. Mağazanı ilk dəfə açdığınız zaman sizdən hesabınıza daxil olmanız tələb oluna bilər.

daxil edin " Yughues Pulsuz Beton Materialları" Aşağıdakı pəncərə açılacaq:

klikləyin Yüklə, yükləmənin bitməsini gözləyin və vurun İdxal. Əməliyyat sisteminizdən asılı olaraq proses iki ilə on dəqiqəyə qədər çəkə bilər. İdxal tamamlandıqdan sonra yeni aktiv tabda görünəcək Layihə.

Eynilə, mağazadan yükləyin və idxal edin Şəhər Props Paketi.

Bizə həmçinin skybox lazımdır - tapın və idxal edin Wispy Skybox.

İndi Unity paketlərini əlavə etməyin vaxtıdır. seçin Aktivlər > İdxal Paketi. Paketlərə ehtiyacımız olacaq Personajlar, Kameralar və Ətraf Mühit.

Pulsuz aktivləri axtarın

Yol fakturasını tapmaq üçün Bing axtarış sisteminə “yol fakturaları” daxil etdim və “Şəkillər” sekmesine keçdim. Axtarışın pulsuz lisenziyası olan fayllarda aparıldığına əmin olmalısınız.

İstədiyiniz hər hansı bir faktura seçin, ancaq unutmayın ki, təmiz bir şəkil istifadə etmək məsləhətdir - fonlar və ya hər hansı digər lazımsız detallar olmadan. Bununla belə, lazım gələrsə, bəyəndiyiniz şəkli redaktə edə bilərsiniz.

İndi eyni şəkildə binalar üçün dokuları tapaq. Mən “tikinti toxumaları” sorğusundan istifadə etdim. Fayllarınızı nizamlı saxlamağı və şəkillərinizi müvafiq Birlik qovluğunda saxlamağı unutmayın.

Qeyd: Unity-də kommersiya layihəsi üzərində işləyərkən, aktivlərinizin lisenziyalı olduğundan əmin olun. Telifsiz şəkilləri Envato Marketdən almaq olar.

Nişanda bir qovluq yaradın Layihə və ona zəng et Sənət əsəri. Getmək Aktiv > Aktivi İdxal et və şəkli seçin, sonra onu Artwork qovluğuna köçürün.

Qeyd: Layihəni saxladıqdan dərhal sonra şəkli köçürsəniz, o görünməyə bilər və ya fakturasız görünə bilər.

Bütün aktivlər yükləndikdən sonra şəhəri yaratmağa başlaya bilərsiniz. Ancaq bundan əvvəl yadda saxlayın: Fayl > Səhnəni Saxla.

Mənzərə

seçin GameObject > 3D Obyekt > Ərazi səhnəyə mənzərə əlavə etmək.

Qeyd:Əl aləti seçildikdə, siçan çarxından istifadə edərək kameranı obyektlərə nisbətən böyüdə və kiçiltə bilərsiniz.

Nəticə yuxarıdakı şəkildəki kimi görünməlidir. Unity 5-i ilk dəfə açdığınız zaman şeyder problemləri ilə bağlı bir neçə mesaj ala bilərsiniz. Layihəniz aşağıdakı ekran görüntüsünə bənzəyirsə, narahat olmayın, onu düzəltmək asandır. seçin Ərazi, sonra dərhal aşağıda dişli çarx simgesini klikləyin Müfəttiş, üçün aşağı diyirləyin Material və seçimi seçin Quraşdırılmış Legacy Diffuse. Bu kömək etməlidir.

Kamera mövqeyi

Paneldə obyekt seçdiyiniz zaman İyerarxiya, bu barədə məlumat pəncərədə görünür Müfəttiş. Burada obyekti fərdiləşdirə, fakturalar, toqquşdurucular və kod əlavə edə bilərsiniz.

Kamera üçün düzgün mövqe təyin edək. seçin İyerarxiyada əsas kamera. İndi nişana keçin Müfəttiş və blokda çevirməküçün aşağıdakı dəyərləri daxil edin Vəzifə: 265, 20, 20.

Landşaft üçün tekstura

seçin İyerarxiyada ərazi və Müfəttiş pəncərəsindəki fırça simgesini vurun. Sonra, sol klikləyin Dokuları redaktə edin blokun altında Dokular, daha sonra - Doku əlavə edin. Kiçik bir pəncərə açılacaq, orada bir toxuma seçmək lazımdır. Tamamlandıqdan sonra Asset Store-dan idxal etdiyiniz teksturalar görünəcək. Bəyəndiyinizə iki dəfə vurun. dayandım Qara Beton.

Skybox

Unity olduqca yaxşı standart skybox ilə gəlir, lakin mən əvvəllər endirdiyimizə üstünlük verirəm. Əsas Kameranı seçin, sonra Müfəttişə gedin və pəncərənin altındakı Komponent əlavə et düyməsini basın. Skybox-a daxil olun, sağdakı dairəvi işarəyə klikləyin və görünən pəncərədə istədiyiniz göy qutusunu seçin. İndi Oyun sekmesini açdığınız zaman ora əlavə edilmiş göy qutusunu görəcəksiniz.

Bina formaları

Bina forması əlavə etmək üçün seçin Oyun Obyekti > 3D Obyekt > Kub. Əvvəlcə bu kubu görməyəcəksiniz, çünki o, uzaqda olacaq. Seçməklə onu görünən sahəyə köçürün kub pəncərədə İyerarxiya və ona aşağıdakı yeri verin: 300, 25, 100. Ölçüsünü 20, 50, 20 olaraq təyin edin. Ölçü ya sol üst paneldəki xüsusi alətlə, ya da paneldəki dəyərləri dəyişdirməklə dəyişdirilə bilər. müvafiq sahələr. Kub əlavə etdikdən sonra İerarxiyada üzərinə sağ klikləyin və adını Bina 1 olaraq dəyişdirin.

Əla, indi bir neçə bina əlavə edək. Yuxarıdakı addımları təkrarlayın. İerarxiya pəncərəsində Cube (1) adlı başqa bir kub görünəcək, onun adını Bina 2 adlandırın. Ona 20, 70, 20 ölçüsü və 275, 25, 100 mövqeyi verin.

Binaları əlavə edərkən onların ölçüsünü və yerini dəyişdirin. Onların eyni sətirdə düzüldüyünə əmin olun, bunun üçün orta qiymət 25-də qalmalıdır. Ölçü kimi, obyektlərin mövqeyini təkcə qiymətlər daxil etməklə deyil, həm də hərəkət alətindən istifadə etməklə dəyişmək olar. Beş bina olana qədər təkrarlayın, 1-ci Binadan 5-ci binaya qədər. Mən binaları 25 vahid məsafədə yerləşdirdim: 250, 0, 100, 225, 0, 100 və s. Səhnəni yadda saxlamağı unutmayın.

Qeyd: siz həmçinin binanı kopyalayıb yapışdırmaq üçün İerarxiya pəncərəsində binanın üzərinə sağ klikləyə bilərsiniz.

Tikinti dokuları

Bu yaramaz fiqurları binaya çevirməyin vaxtıdır. Qovluğun üzərinə klikləyin Sənət əsəri tabda Layihə(tikinti teksturalarını yüklədiyiniz yerdə), fakturanı seçin və onu Səhnə pəncərəsinə sürükləyin. Pəncərələrdə dəyişiklikləri görəcəksiniz SəhnəOyun. İstədiyiniz nəticəni əldə edənə qədər parametrləri dəyişdirin, binaları köçürün və fırladın.

Qeyd: faktura geriyə doğrudursa, onu Z oxu boyunca 180? çevirin.

Yol

Yol əlavə etmək üçün seçin Oyun Obyekti > 3D Obyekt > Təyyarə və ona aşağıdakı mövqeyi verin: 250, 0.2, 80. Onu Y oxu boyunca fırladın 90? və ölçüsünü 1, 1, 15-ə dəyişin. İndi yolun teksturasını seçin və onu yaradılmış müstəviyə əlavə edin, sonuncunun adını dəyişdirin. Yol.

Küçə tikirik

Tam Birlik layihələri adətən minlərlə obyekt, skript və prefabrikdən ibarətdir, ona görə də fayllarda nizamı qorumaq çox vacibdir. İndi biz Hiyerarşi pəncərəsinin məzmununu bir az təşkil edəcəyik.

İstənilən şəhər adətən bloklara və küçələrə bölünür, bizimkilər də istisna olmayacaq. Oyun Obyekti > Boş Yarat seçin və İerarxiyada GameObject adlı yeni element görünəcək. Block1(L) adını dəyişin, sonra bütün binalarınızı seçin və onları bu obyektin altına köçürün, onları onun uşaqları edin.

İndi başqa küçədəki binaların teksturasını dəyişdirə və ya istəsəniz yenilərini yükləyə bilərsiniz. Doku dəyişdirmək üçün hər bir binanı fərdi olaraq seçməlisiniz, əks halda siz dərhal cərgədəki bütün binalar üçün toxuma dəyişdirəcəksiniz. Kamera mövqeyini 340, 10, 80-ə dəyişin və onu -80?-ə çevirin. Kayd etməyi unutmayın.

Qeyd: hər hansı bir elementin mövqeyini bəyənmirsinizsə, onu öz istəyinizlə dəyişdirin.

Şəhər Props Paketi

Bu addımdan başlayaraq yuxarı sol küncdəki keçid paneli alətlərindən istifadə edəcəyəm.

Nişanı açın Layihə və qovluğu genişləndirin Şəhər Props Paketi. Prefabriklər qovluğuna aşağı diyirləyin, açın və çağırılan elementi axtarın Dayanma işarəsi. Onu seçin və Müfəttiş pəncərəsində görünəcək.

Kameranı birinci binaya yaxınlaşdırın, işarəni seçin və onu səhnə pəncərəsinə sürükləyin. Lazım gələrsə, ölçüsünü dəyişdirin. Aşağıdakı parametrlərdən istifadə etdim: 0.2, 0.2, 0.2.

Bir az daha təfərrüat əlavə edək. Bəyəndiyiniz bütün elementləri seçin və onları küçə boyunca yerləşdirin. İstənilən obyekt iyerarxiya pəncərəsində bir neçə dəfə kopyalana və yapışdırıla bilər. Fayllarınızı mütəşəkkil saxlamaq üçün City Props adlı boş əsas element yaradın və bütün müvafiq elementləri ora köçürün. Səhnəni saxla.

Qeyd: Səhnədəki obyektlər ağ rəngdə parlayırsa, şader parametrlərini dəyişdirin Legacy Shaders / Bumped Diffuse.

Ağaclar

Unity standart ağac paketi ilə gəlir, lakin siz həmişə mağazadan əlavə aktivlər yükləyə bilərsiniz.

Basın İyerarxiyada ərazi. Sonra Müfəttiş pəncərəsinin Terrain blokunda ağac işarəsinə klikləyin. Parametrlər altında Fırça Ölçüsü dəyərini 1-ə təyin edin və sonra klikləyin Ağacları redaktə et > Ağac əlavə et. Blokda Ağac Prefabrikası sağdakı dairəvi işarəyə klikləyin.

Bir ağac seçin (məskunlaşdım enliyarpaq) və iki dəfə klikləməklə əlavə edin. İndi pəncərədə Ağaclar blokunun altında görünəcək Müfəttiş. Ağacı səhnədə yerləşdirmək üçün siçanınızdan istifadə edin. Kursorun yanındakı mavi göstərici onun əlavə olunacağı yeri göstərəcək. Fırça ölçüsü dəyərimiz 1 olduğundan, hər dəfə bir ağac əlavə edəcəksiniz. Seçimdən istifadə edərək ağacların ölçüsünü dəyişə bilərsiniz Ağac hündürlüyü. Nəticə sizi qane etmirsə, hər zaman klikləyə bilərsiniz Ağacları redaktə edin və ağacı çıxarın.

Üçüncü şəxs xarakteri

Virtual şəhərimizin ilk sakinini yaratmağın vaxtı gəldi. Layihə sekmesinde Standart Aktivlər qovluğunu genişləndirin və üzərinə klikləyin Simvollar > Üçüncü Şəxs Simvol. Prefabriklər qovluğuna gedin və çağırılan obyekti dartın Üçüncü Şəxs Nəzarətçisi sənin səhnənə. Nəzarətçiyə 315, 0.1, 78 mövqeyini və 3, 3, 3 ölçüsünü verin.

O, həmçinin istədiyiniz istiqamətə döndərə bilər. Oynat üzərinə klikləyin və xarakterinizin hərəkətlərini idarə etmək üçün klaviaturadan istifadə etməyə çalışın.

Bizə personajı izləmək üçün kamera lazımdır, əks halda o, gözdən itəcək. Element seçin İyerarxiyada əsas kamera və onu ThirdPersonController-in altına sürükləyin ki, kamera uşaq olsun. İndi Play düyməsini basdığınız zaman kamera personajı izləyəcək.

Birinci şəxs nəzarətçisi

Siz həmçinin birinci şəxsin baxış qabiliyyətini əlavə edə bilərsiniz. Bunu etmək üçün Layihə sekmesine keçin və seçin Standart Aktivlər > Prefabrik > FPS Nəzarətçisi. Kontrolleri səhnəyə sürükləyin, onu fırladın və ölçüsünü tənzimləyin. qeyd edin ki FPS nəzarətçisiöz kamerasına malikdir, ona görə də ondan istifadə etmək üçün onu çıxarmaq lazımdır Əsas Kamera.

Qeyd: xarakteriniz yerə yıxılırsa, çox güman ki, onu çox aşağı yerləşdirmisiniz. İerarxiya pəncərəsində simvola iki dəfə klikləyin və o, Səhnə pəncərəsində görünəcək. Nəzarətçini əl ilə yuxarı qaldırın və ya Y-nin əksinə 1 dəyəri daxil edin.

Təbrik edirik! Siz indicə ilk Unity 5 3D şəhərinizi yaratdınız! Gördüyünüz kimi, asan və əyləncəlidir. Siz öz təxəyyülünüzü göstərə və ora daxil etdiyiniz hər şeyi əlavə edə bilərsiniz: avtomobillər, mağazalar, evlər və s.

  • Dərslik

Unity-də oyundaxili menyunu necə yaratmaq olar

Unity sizə parametrlər menyusu yaratmamağa imkan verir, çünki oyuna başlamazdan əvvəl daxili keyfiyyət və qətnamə parametrləri dialoqu var. Bununla belə, oyununuzu unikal etmək və bir dizayner kimi nəyə qadir olduğunuzu göstərmək istəyirsinizsə, bu məqalə məhz sizin üçündür. Bu təlimatı tamamladıqdan sonra siz aşağıdakı funksiyalarla öz menyuunuzu yarada biləcəksiniz - səs səviyyəsini, ayırdetmə qabiliyyətini, təsvirin keyfiyyətini tənzimləmək, tam ekran və pəncərə rejimlərini dəyişdirmək. Maraqlıdır? Sonra Unity-i işə salın və gedək!
Əsas menyunun və parametrlər menyusunun yaradılması və dizaynı
1. İki səhnə yaradın: Menyu və Oyun
2. File->BuildSettings-i açın və yaradılmış səhnələri qurulmada olan səhnələrə sürükləyin.

İndi istifadəçi interfeysini yaratmağa başlaya bilərik. Menyu səhnəsini açın və Panel əlavə edin. Canvas dərhal əlavə edilir və Panel uşaq obyekt kimi əlavə olunur.


Canvas üçün inspektora diqqət yetirək. Məhz, Canvas komponentinə.


Render Rejimi avtomatik olaraq Ekran Məkanı - Üst-üstə düşür.

Bir az məlumat:

Ekran sahəsi - Üst-üstə düşmə:

Kətanın birbaşa ekrana bağlandığı göstərmə üsulu. Ekranın təsvir ölçüsünü və ya ölçüsünü dəyişdirsəniz, bu parametrlə Canvas da öz miqyasını uyğun olana dəyişəcək. Bu halda, UI digər obyektlərin üzərinə çəkiləcək.

Obyektlərin iyerarxiyada yerləşdirilmə ardıcıllığı vacibdir. Ekran Məkanı – Üst-üstə düşən kətan iyerarxiyanın ən yuxarı hissəsində olmalıdır, əks halda o görünüşdən itə bilər.


Ekran sahəsi - Kamera:

Bu vəziyyətdə, kətan kameraya yapışdırılır. Bu parametr üçün Canvas uyğun gələn kameranı göstərməlisiniz. Əvvəlki paraqrafda olduğu kimi, Canvas ekranın həlli və ölçüsündən, həmçinin kameranın baxış sahəsindən asılı olaraq öz miqyasını dəyişəcək.

Həmçinin, belə parametrləri olan Canvas üçün digər obyektlərə nisbətən yerləşdirmə vacibdir. Ön planda UI və ya digər GameObjects olmasından asılı olmayaraq kameraya daha yaxın olan obyektlər olacaq.


Dünya Kosmosu:

Kətan kameraya və ya ekrana bağlanmadan hər hansı digər obyekt kimi yerləşdirilir, o, istədiyiniz istiqamətə yönəldilə bilər, Kətanın ölçüsü RectTransform istifadə edərək təyin olunur, lakin oyun zamanı onun necə görünəcəyi ekranın mövqeyindən asılı olacaq. kamera.
Bu tapşırıqda biz Screen Space – Overlay istifadə edəcəyik.
Panelin rəngini fərdiləşdirək. Siz həmçinin fona şəkil əlavə edə bilərsiniz. Bunun üçün Panel Müfəttişində Image komponentinə diqqət yetirmək lazımdır.


Göründüyü kimi, şəkil Mənbə Şəkil sahəsinə əlavə olunur. Siz sadəcə olaraq layihə fayllarından şəkli sürükləyə və ya sahənin sağındakı dairəyə klikləyə bilərsiniz.

Rəng Rəng sahəsində və ya damcı alətindən istifadə etməklə seçilir.
Bilmək vacibdir ki, damcı sizə Unity xaricində rəng seçməyə imkan verir.
Rəng və ya şəkil seçdikdən sonra hər şeyi, eləcə də mətni idarə edəcək düymələri yerləşdirməliyik. İşi asanlaşdırmaq üçün Panelə Şaquli Layout Qrupu adlı başqa bir komponent əlavə edəcəyik. Və onu dərhal quracağıq.

Bütün düymələri və mətni ekranın ortasına yerləşdirməliyik. Bunu etmək üçün Vertical Layout Group komponentində Uşaq Alignment elementini tapın və Orta Mərkəz seçin. İndi bütün elementlərimiz, istər düymələr, istərsə də mətn, ekranın təsvir ölçüsündən asılı olmayaraq mərkəzləşəcək.

Biz həmçinin ChildForceExpand işarəsini çıxarırıq. Bu belə görünməlidir:


Bu komponent əldə etmək istədiyiniz görünüşdən asılı olaraq fərdiləşdirilə bilər.

Menyumuzda aşağıdakı düymələr olmalıdır:

1. Oyuna başlayın
2.Parametrlər
3. Çıxın

İndi Panelimizin uşaq elementi kimi Mətni əlavə edək. Mərkəzdə necə bağlandığını görə bilərsiniz. Bəzən bu, sadəcə olaraq Səhnə pəncərəsində yaradılmış elementi Panelə köçürməyi tələb edir və sonra o, hizalanacaq. Biz inspektordakı Text(Script) komponentindən istifadə edərək mətni istədiyimiz kimi fərdiləşdiririk.


Sonra Düyməni əlavə edirik. Düymə mətnin altına əlavə olunacaq.

Düyməmizin Button komponentinə baxaq. Bizi keçid maraqlandırır - düymənin siçan hərəkətlərinə necə reaksiya verəcəyi. Birlikdə bunu etməyin bir neçə yolu var. Hələlik, gəlin kifayət qədər sadə Rəng Rənginə baxaq. Bu o deməkdir ki, düymə müəyyən şərtlər altında öz rəngini dəyişəcək. Quraşdırma interfeysi olduqca rahatdır. İstədiyiniz şəkildə fərdiləşdirin.


Button obyektində uşaq Mətn obyekti də var - bu, düymədə göstəriləcək mətndir. Mətndə Play yazırıq.

Görünür, Mətn və Düymələr bir-birinə çox yaxındır.

Bunu düzəltmək üçün Menyu Mətnimizə Layout Element adlı başqa bir komponent əlavə edirik. Və Layout İqnorun yanındakı qutuyu işarələyin.


Bundan sonra Anchor-u Orta Mərkəzə təyin etdik.


Sonra daha üç düymə əlavə edirik və onları Parametrlər, Kreditlər, Çıxış adlandırırıq.
Düymələrin ölçüsünü dəyişə bilərsiniz. Bu mərhələdə menyu belə görünür:

Əsas menyu və parametrlər arasında keçidlər
Seçimlər menyusuna getmək üçün yeni səhnə yaratmaq lazım deyil.
Birincisi, biz Canvas Uşaqı olaraq boş bir GameObject (Boş Yarat) yaradırıq. Gəlin onu Əsas menyu adlandıraq. Sonra bütün alətlərlə birlikdə bu obyektin uşaq elementləri ilə panelimizi edəcəyik. Bu belə görünməlidir:


MainMenu obyektimizi seçin və onun dublikatını yaradın. Seçilmiş elementlə Ctrl+D düymələr kombinasiyasını basın. Yeni obyektimiz olacaq.


Yeni obyektin adını Parametrlərə dəyişdirin. İdarəetmə asanlığı üçün biz MainMenu-nu qeyri-aktiv edirik.


Sonra, Parametrlər panelində mətni Parametrlərə yenidən yazın və həmçinin bütün düymələri silin.
Parametrlərdə aşağıdakıları edəcəyik - Tam ekran, səs parametrləri, görüntü keyfiyyəti, ekran həlli.

Keçid elementi Tam ekrana nəzarət etmək üçün cavabdeh olacaq.
Həcmi üçün - Kaydırıcı.
Şəkil keyfiyyəti və həlli üçün - Açılan menyu.

Hər bir element arasında hər parametrin adını göstərən mətn yerləşdirməlisiniz. Bizi əsas menyuya qaytaracaq bir düymə də əlavə etməliyik.

Elementlər arasında bir az boşluq olması üçün Vertical layout qrupunda Spacing qura bilərsiniz. Panelə bir şəkil əlavə edək və sonda aşağıdakı nəticəni əldə edəcəyik:

Düymələrin proqramlaşdırılması
Menyu skriptinin yazılmasına keçək.

Bizə lazımdır ki, Play düyməsini sıxdıqda oyunumuzla başqa bir səhnəyə başlayaq, Exit düyməsini basdıqda isə oyun bağlanır.

Ssenarimizde yazacağımız budur.

MainMenu üçün yeni MenuControls.cs komponenti əlavə edin və onu qoparın.

Ediləcək ilk şey mövcud Start() və Update() metodlarını silməkdir - burada onlara ehtiyacımız yoxdur.

UnityEngine.SceneManagement-dən istifadə;
Bundan sonra Play düyməsini basmaq üçün öz üsulumuzu yazacağıq. Metod ictimai olmalıdır - biz onu skriptimizdən kənarda görə bilməliyik.

SceneManager səhnənin yüklənməsinə cavabdehdir və LoadScene metoduna malikdir. Bir neçə metodun həddindən artıq yüklənməsi var. Yükləmək istədiyiniz səhnənin adını verə bilərsiniz. Bizim vəziyyətimizdə bu, “Oyun” səhnəsidir.

Nəticədə funksiya bu kimi görünəcək.

İctimai etibarsız PlayPressed() ( SceneManager.LoadScene("Oyun"); )
Oyundan çıxmaq üçün bir üsul da yaradırıq:

Ümumi etibarsız ExitPressed() ( Application.Quit(); )
Bununla belə, Birlikdə bu metodun nəticəsini görməyəcəyik, çünki bu, yalnız quruluşda işləyir. Hər şeyin düzgün işlədiyini yoxlamaq üçün metoda xətt əlavə edin

Debug.Log("Çıxışa basıldı!");
İndi bu üsullara düymə hadisələrini əlavə etməliyik. Oynat düyməsini seçin və müfəttişdə aşağıdakıları tapın:


Bu, kliklədikdə hadisəyə abunə olan metodları çağıracaq bir düymə hadisəsidir. + üzərinə klikləməklə metod əlavə edin.

Görünən pəncərədə istədiyiniz skripti ehtiva edən obyekti sürükləməlisiniz. Bizim vəziyyətimizdə bu, Əsas Menyudur.

Bundan sonra MenuControls skriptini seçməli və PlayPressed() metodunu tapmalısınız.


Çıxış düyməsi üçün də eyni şeyi edirik. Yalnız indi ExitPressed() metodunu seçirik.
Parametrlər düyməsi üçün heç bir kod yazmağa ehtiyac yoxdur, çünki bəzi funksiyalar artıq quraşdırılmışdır.

Məsələ ondadır ki, biz GameObject-i aktivləşdirəcəyik. Bu nöqtədə sizdə MainMenu aktiv olmalıdır və Parametrlər görünməməlidir. Həmçinin görürük ki, biz Parametrləri aktivləşdirəndə o, Menyu ilə tamamilə üst-üstə düşür. Məsələ burasındadır ki, Canvas uşaq obyektlərinin sırası rol oynayır - onlar iyerarxiyada hansı ardıcıllıqla yerləşiblər, həmin ardıcıllıqla çəkiləcəklər. Parametrlər Əsas Menyunun üstündə yerləşdiyi üçün onlar menyunu üst-üstə düşür.
İstifadə edəcəyimiz budur.

Parametrlər düyməsini seçin və Parametrlər obyektimizi OnClick() üzərinə sürükləyin. Funksiyalarda GameObject ->SetActive(); və bir işarə qoyun. Bunun kimi:


Yaxşı, seçimlər menyusunda yerləşən Geri düyməsi üçün SetActive hadisəsini Parametrlər obyekti üçün eyni şəkildə birləşdirə bilərik, lakin bu dəfə obyektimizi inaktivləşdirməyə ehtiyacımız var, ona görə də sadəcə qutuyu işarələmirik.

Hamısı budur, biz menyunu yaratmağı bitirdik və növbəti hissədə davam edəcəyik və oyunu parametrlərdəki dəyişikliklərə cavab verəcəyik.

Parametrlər
Tam Ekran Parametrləri

Yazacağımız ilk şey tam ekran və pəncərə rejimləri arasında keçiddir.
Dəyişdirici elementimizdə Is On elementinin işarəsini silməliyik.
Parametrlər obyekti üçün skript yaradın. Gəlin onu Settings.cs adlandıraq.

Birincisi, cari vəziyyəti göstərəcək bool tipli dəyişəni saxlamalıyıq - tam ekran rejimi və ya yox. Və sonra, keçidi dəyişdirərək, bu dəyişən əks qiymətə keçəcək.

Ekran bool tipli Screen.fullScreen xassəsinə malikdir. Biz sadəcə olaraq isFullScreen dəyişənimizin dəyərini bu xassə təyin edə bilərik.

Kod belə görünür:

İctimai etibarsız FullScreenToggle() ( isFullScreen = !isFullScreen; Screen.fullScreen = isFullScreen; )
Nəticəni yalnız quruluşda görə bilərsiniz. Gəlin bunu indi edək. Nəzərə alın ki, quruluşun düzgün olması üçün yalnız MainMenu obyekti aktiv və Parametrlər deaktiv edilməlidir. Əgər bu edilərsə, o zaman File->BuildSettings vasitəsilə quruluşu işə salın və Build düyməsini klikləyin.

Bundan sonra proqramın işini yoxlaya bilərsiniz. Hər şey düzgündürsə, onay qutusuna klikləməklə rejimi dərhal dəyişəcək.

Oyundaxili səsin həcmini dəyişir
Səs parametrləri ilə işləmək üçün bizə əvvəlcə AudioMixer, həmçinin parametrlərimizin işini yoxlayacağımız bəzi trek lazımdır.

Bu iki elementi əlavə edək. Əvvəlcə AudioMixer əlavə edirik. Layihə pəncərəsində sağ klikləyin ->Yarat->AudioMixer.

Gəlin onu GameSettings adlandıraq. Bundan sonra AudioMixer pəncərəsini açın: Window->Audio Mixer (Ctrl + 8).

Mikser parametrlərini skript vasitəsilə idarə etmək üçün onları bu skriptdə görünən etmək lazımdır. Bu prosedur ExposeParameters adlanır. Bunu etmək üçün Mikser üzərinə klikləyin və müfəttişdə həcmi tapın və sağ klikləyin. Skriptə ifşa et:


İndi Audio Mixer pəncərəsində yuxarı sol hissədəki Exposed Parameters elementinə diqqət yetirin.
İndi orada bir parametr var. Bunun üzərinə klikləyin və masterVolume parametrimizə zəng edin. Ona təyin etdiyimiz adı yadda saxlamalısınız - onu kodda göstərməlisiniz.

Settings.cs səhifəsinə keçin və kodda ona keçid əldə etmək üçün AudioMixer sahəsini yaradın.

İctimai AudioMixer;
sonra bir üsul yaradırıq

İctimai etibarsız AudioVolume(float sliderValue) (am.SetFloat("masterVolume", sliderValue); )
SetFloat metodu kaydırıcımızın dəyərlərini götürəcək və bu dəyəri "masterVolume" parametrinə təyin edəcəkdir.

Qalır ki, bizim metodumuzu slayder hadisələrinə əlavə edək. Slayder inspektorunda Dəyişən Dəyər sahəsini tapın və obyekti eyni şəkildə əlavə edin. Amma indi biz sadəcə siyahıdan metod seçməklə kifayətlənməli, Dinamik float sahəsindən istifadə etməliyik. Gördüyünüz kimi, bizim metodumuz artıq mövcuddur və o, slayderin özündən dəyişən alacaq. Siz həmçinin AudioMixer-i Settings.cs komponentində müvafiq sahəyə sürükləməyi yadda saxlamalısınız.


Nəzərə alın ki, biz kaydırıcının dəyərini audio mikser dəyərlərinə birbaşa bağlayırıq. Audio mikserdə səs səviyyəsi -80-dən 20-yə dəyişir. Bizim üçün -80-dən (səssiz) 0-a (normal səs) dəyişmək kifayətdir. Slayder parametrlərində minimum dəyəri -80, maksimumu 0-a təyin edin.
İndi skripti yoxlamaq üçün oyunumuza səslər əlavə edək.
Gəlin kətana Audio Mənbə komponenti əlavə edək.
Onu aşağıdakı kimi konfiqurasiya edək:


Audio Klip – soundtrack
Çıxış – Mikserimizin ustası (alt obyekt)
Döngə – qutunu işarələyin – mahnını daim çalması üçün dövrələyin.
Şəkil keyfiyyəti
Unity artıq daxili görüntü keyfiyyəti parametrlərinə malikdir. Redaktə et->Layihə Parametrləri->Keyfiyyət. Müfəttişdə Keyfiyyət parametrlərini görürük. Onlar əlavə edilə və fərdiləşdirilə bilər.

Keyfiyyət parametrləri ilə işləməyin özəlliyi aşağıdakılardır:
Hər parametrin müvafiq indeksi var, onu Açılan siyahıdan əldə edə bilərik. Etməli olduğunuz şey, müvafiq elementləri UI elementimizdə tələb olunan indekslərə yenidən yazmaqdır. Onu açın və müfəttişdə Dropdown(Script) və içindəki Seçimlər elementini tapın. Sonra, lazımi qaydada parametrləri daxil edin. Mən bunu belə aldım:


Sonra kodu yazmalısınız. Biz Settings.cs skriptimizə üsullar əlavə etməyə davam edirik
Biz seçilmiş elementin indeksini int qəbul edəcək bir üsul yaradırıq.

İctimai etibarsız Keyfiyyət(int q) ( QualitySettings.SetQualityLevel(q); )
Skripti saxlayırıq və metodu menyumuzdakı hadisə ilə əlaqələndiririk. Bu dəfə açılan hadisədir - Dəyər Dəyişdirildi.

Metodumuz dəyəri UI elementinin özündən alacağı üçün metodun adını Dymanic int qrupundan seçirik. əvvəlki paraqrafa bənzətməklə.

Ekran həlli
Hər kəsin ekranları fərqlidir və hansı qətnamələrin dəstəklənəcəyini əvvəlcədən təxmin etmək mümkün deyil. Buna görə də, ekran həllini təyin etmək üçün əvvəlcə bütün mümkün qətnamələri əldə etməlisiniz, sonra isə qətnamələr siyahısını bu dəyərlərlə doldurmalısınız.

Bizə lazım olan ilk şey, ekran ayırdetmə dəyərlərini saxlayacağımız Resolution tipli bir sıradır.

Bununla belə, açılan siyahı elementləri üçün növ sətirdir. Buna görə də Siyahı yaradırıq<>mümkün icazələrin dəyərlərini saxlayacağıq. Siyahılarla işləmək üçün sizə qoşulmaq lazımdır:

System.Collections.Generic istifadə;
Bizə də müvafiq açılan menyuya keçid lazımdır. UI elementləri ilə işləmək üçün siz də yazmalısınız:

UnityEngine.UI istifadə edərək;
Skriptdə aşağıdakı sahələri alırıq:

Qətnamə rsl; Siyahı qətnamələr; ictimai açılan menyu;
Initializasiya və doldurma Oyanış metodunda həyata keçirilir. Bu metod obyekt işə salındıqda çağırılır və müvafiq olaraq bütün digər metodlardan daha tez yerinə yetirilir.

Biz dəyərləri alırıq və onların hər birini en*hündürlük formatında Siyahıya əlavə edirik. Bundan sonra, açılan siyahını təmizləyirik və yeni seçimlərlə doldururuq.

İctimai etibarsız Oyan () ( qətnamələr = yeni Siyahı (); rsl = Screen.resolutions; foreach (var i in rsl) ( resolutions.Add(i.width +"x" + i.height); ) açılır.ClearOptions(); dropdown.AddOptions(qətnamələr); )
İndi ekran həllini dəyişdirəcək bir üsul yaratmalıyıq. Əvvəlki paraqraflarda olduğu kimi, biz UI elementindən dəyəri alacağıq. int qəbul edən funksiya yaradın

İctimai etibarsız Rezolyutsiya(int r) ( Screen.SetResolution(rsl[r].width, rsl[r].height, isFullScreen); )
SetResolution-da siz parametrləri - eni, hündürlüyü və tam ekran üçün cavabdeh olan Boolean dəyişənini keçməlisiniz. Artıq birimiz var - bu, Tam Ekrandır. Onu funksiyaya ötürürük.
Sonra, Dynamic Int qrupundan Resolution metodumuzu müvafiq hadisəyə qoşmağı və həmçinin istədiyiniz Açılan siyahıya keçid əlavə etməyi unutmayın.


Hazır. İndi darıxdırıcı standart başlatma əvəzinə bu menyudan istifadə edə bilərsiniz. Bununla belə, hər hansı bir məna kəsb etmək üçün onun işə salınmasını söndürməlisiniz.

Redaktə et->ProjectSettings->Display Resolution Dialoq-Qeyri-aktiv


İndi öz menyularınızı yaratmaq və onlarda oyunu unikal və yaddaqalan edəcək istənilən dizayn həllərindən istifadə etmək imkanınız var.

Teqlər: android Teqlər əlavə edin

Biz Unity-dən ən son 2D dəsti sınaqdan keçiririk və ilk platformamızın yaradılması prosesini ətraflı təsvir edirik

Göndər

Fevralın ortalarında Unity yaradıcıları 2D-kit-i buraxdılar - bütün təcrübəsiz oyun istehsalçıları üçün yaradılmış qeyri-adi proqram. Onun köməyi ilə hər kəs çox kodlaşdırma ilə məşğul olmadan platforma qura bilər. Tərtibatçılar proqram kodunu, modelləri və animasiyaları hazırladılar və sizə lazım olan tək şey onlarla manipulyasiyalara dalmaq və həmişə arzuladığınız oyunu yaratmaqdır (əgər bu, əlbəttə ki, iki ölçülü platformadırsa). Yaradılmış 2D dəsti sınaqdan keçirdik öz səviyyəsi və onun nümunəsindən istifadə edərək, sizə mühərrikə necə tez öyrəşəcəyinizi və ilk oyununuzu necə buraxacağınızı söyləyirik.

Haradan başlamaq lazımdır

Əgər heç qaçmamısınızsa Birlik və ya nədənsə bu haqda ilk dəfədir eşidirsiniz, gəlin interfeysin əsaslarını qısaca izah edək. Siz bütün pəncərələri və nişanları sizin üçün əlverişli olan istənilən yerə sərbəst köçürə bilərsiniz, lakin əvvəlcə onlar aşağıdakı kimi yerləşirlər: sol tərəfdə səhnədə yerləşən bütün obyektləri göstərən iyerarxiya sütunu var; səhnənin özü mərkəzdə yerləşir və onun sağında müfəttiş pəncərəsi seçilmiş obyektin xüsusiyyətlərini göstərir. Aşağıda layihə menyusunu və ona təyin olunmuş materialları görəcəksiniz. İndi nəyin fərqli olduğunu anlayaq 2D dəsti normal Unity işə salınmasından.

Mühərrikin başlanğıc menyusunda seçiminiz olacaq: yeni layihəyə başlamaq və ya təlim tabına keçin və sonra yüklənmiş 2D dəsti işə salın. İkinci variantı seçməklə siz boş kətan əvəzinə oyun materiallarını görəcəksiniz və cəmi iki kliklə yarada biləcəksiniz. Əvvəlcə bir səhnə yaratmalısınız: yuxarıda tapın Kit Alətləri və nişanı seçin Yeni Səhnə Yaradın.

Səhnə yaradıldı, bir çox anlaşılmaz obyektlər dərhal iyerarxiyada düzüldü, lakin ən əsası, gələcəkdə oyunçunu təmsil edəcək bir qəhrəman meydana çıxdı. Onun idarəetmələri əvvəlcədən konfiqurasiya olunub, ona görə də bu barədə narahat olmaq lazım deyil. Hələlik, başlığın altındakı sətirlər dəsti olduğunu başa düşmək vacibdir GameUtilities iyerarxiyada o, baş qəhrəmanla birlikdə hərəkət etməlidir ki, başlanğıcda idarəetmə ilə bağlı heç bir problem olmasın. İndi ən vacib hissəyə gəlirik: səviyyələri necə yaratmaq olar?

Menyuda Pəncərə tab var Palitra tonal kremi rəngləməyə imkan verən fırça pəncərəsidir. İstədiyiniz toxumanı seçmək üçün üzərinə klikləyin TilesetRockWaterBlockers və seçin TilesetGamekit. İndi iki növ fırçanız var: yad binaları simulyasiya edən ot və daş. Təəssüf ki, onları birləşdirə bilməzsiniz, buna görə səviyyəni əvvəlcədən eyni üslubda planlaşdırın və ya dikişi turşu gölü kimi doğaçlama obyektləri ilə maskalayın.

Mühitin Yaradılması

İndi səviyyəni çəkdiyiniz üçün onu doldurmağa davam edə bilərsiniz. Bunu etmək üçün bizə interaktiv obyektlər, yəni öz-özünə hərəkət edən və oyunçunun hərəkətlərinə reaksiya verən obyektlər lazımdır. Onlar çağırılır Prefabriklər və eyni adlı layihə menyusu qovluğunda saxlanılır. Onu açaraq, tabe qovluqların yeni yığınını görəcəksiniz - bunlar istifadə etməkdə sərbəst olduğunuz element növləridir.

Hər şeydən əvvəl, nəzərdən keçirməyi məsləhət görürük Qarşılıqlı təsirlər- Bu, təşkil etmək və konfiqurasiya etmək çox asan olan ən sadə element növüdür. Məsələn, "Destructable Column" var - çubuqla vurulduqda məhv olan bir sütun. Onu mağaranın girişinə qoyduq. Onu səviyyənizə əlavə etmək üçün sütunu qovluqdan səhnəyə sürükləyin. "MovingPlatform" kimi digər elementlər də eyni şəkildə əlavə edilir.

Yəqin ki, obyektləri əlavə edərkən, sağ müfəttiş pəncərəsinin dərhal anlaşılmaz parametrlərlə doldurulduğunu və hərəkət edən platformanın yanında qırmızı yolun da işarələndiyini gördünüz. Narahat olmayın, indi onlarla tez məşğul olacağıq. Əslində, simvolların, sürgülərin və nömrələrin əksəriyyəti ilk mərhələdə sizin üçün faydalı olmayacaqdır. Əsas odur ki, düyməyə diqqət yetirin Node əlavə edin platforma parametrlərində - adanın hərəkət yoluna yeni bir nöqtə əlavə edir. Bütün nöqtələr koordinat oxu boyunca oxlardan istifadə edərək köçürülə bilər. Problem ondadır ki, əvvəlcə platforma irəli-geri hərəkət edir və əgər siz kvadrat əmələ gətirirsinizsə, o zaman təbii olaraq adanın dairəvi hərəkət etməsini istəyirsiniz. Bunu alt menyuda etmək üçün Hərəkətli Platforma (Skript), yerləşdiyi yerdə Node əlavə edin, yazını seçməlisiniz BACK_FORTH, "irəli və geri" deməkdir və onu dəyişdirin LOOP, bu "dairə içində" deməkdir.

İndi bəzilərində olduğu kimi hərəkət edən platformalarınız var Mario. Üstəlik, yuxarı sol küncdə istədiyiniz markeri seçməklə onları fırladıb böyüdə bilərsiniz. Bir obyektin platforma ilə birlikdə hərəkət etməsi üçün, məsələn, sünbüllər, onu birbaşa iyerarxiya siyahısındakı platformaya sürükləməlisiniz. Təkcə buna əsaslanaraq yaxşı oyun formalaşır, lakin biz daha da irəli gedəcəyik.

İndi səhnəmizə daha mürəkkəb bir şey əlavə edək - qəzəbli NPC. Düşmənlər qovluqdadır Düşmənlər, orada yatır Prefabriklər. Səviyyəyə kimi atmağınızın əhəmiyyəti yoxdur: mavi və ya çəhrayı bir canavar, onun parametrlərinə diqqətlə baxın. Ən birinci - çevirmək— obyektin yerini və ölçüsünü dəyişir. İkinci - Sprite Renderer— onu müxtəlif koordinatlarda əks etdirməyə imkan verir; Bunu etmək üçün yanındakı qutuyu işarələyin X və ya Y. Və çox aşağıdadır Düşmən Davranışı, canavarın davranışına nəzarət edən. Bu pəncərədəki ən vacib sətirlərdir Baxın Fovİstiqamətə Baxın. Birincisi düşmənin baxış sahəsini müəyyənləşdirir, ikincisi isə onu fırladır. Siz həmçinin xəttdə baxış məsafəsini tənzimləyə bilərsiniz Məsafəni Gör, sadəcə istədiyiniz nömrəni göstərməklə.

İnteraktiv obyektlər

Bu mərhələdə siz gizli mağaralar, üzən adalar və müxtəlif növ düşmənlərlə öz səviyyənizi yarada bilərsiniz, bunların hamısı bir kod xətti olmadan. Yığılmış səhnəni daha mürəkkəb, bir-biri ilə əlaqəli obyektlərlə çətinləşdirməyin vaxtı gəldi. Döşəmədə və ya divarda yerləşən bir düymə sayəsində açılacaq bir qapı quraşdıracağıq. Bunu etmək üçün bizə artıq tanış olan bir qovluqda yerləşən bir qapı lazımdır Qarşılıqlı təsirlər, lakin biz bununla heç nə etməyəcəyik. Əsas iş düymə üzərində olacaq PressurePad, bu da yol açmalıdır.

Onun yeri istənilən ola bilər; fərdiləşdirmə bizim üçün vacibdir Təzyiq yastığı (skript), müfəttişin dərinliklərində gizlənən. Kiçik pəncərəsi var Basıldığında() altındakı artı işarəsi ilə. Bu plus bir düyməyə basıldıqda səhnədəki hər hansı bir şeyin reaksiyasını əlavə edir. Açmaq üçün qapıya ehtiyacımız olduğundan, iyerarxiya pəncərəsindən yazının altındakı xəttə sürüklənməli olan qapıdır. Yalnız Runtime.

Düyməni və qapını birləşdirdik, lakin bu əlaqənin nə olacağını hələ təyin etməmişik. Onu təyin etmək üçün alt menyuya getmək lazımdır Funksiya yoxdur və kursoru üzərinə gətirdiyiniz zaman görünən siyahıda Animator, seçin Oynamaq (simli). Voila! Sadəcə bir düyməyə basaraq nəticəni sınayın Oynamaq səhnənin üstündə yerləşir.

Bənzər şəkildə, tamamilə fərqli obyektlər, məsələn, oyunçunu həm səhnə daxilində, həm də tamamilə fərqli bir yerə daşıyan teleportlar birləşdirilir. Fərqli məzmun və atmosferə malik səviyyələr yaratmaq üçün onlara ehtiyacınız olacaq. Məsələn, biri qaranlıq mağara, digəri cəngəllik, üçüncüsü isə hündür və işıqlı məbəd olacaq.

Keçid nöqtələrini birləşdirmək qapını düymə ilə birləşdirməkdən daha asandır. Onlar qovluqdadır Səhnəyə Nəzarət obyektləri olan bütün digər qovluqlar kimi, bu da yerləşir Prefabriklər. Orada bir obyektə ehtiyacımız olacaq TransitionStart, keçid nöqtəsidir. Səhnə daxilində teleport yaratmaq istəyirsinizsə, o zaman iki belə nöqtəyə ehtiyacınız olacaq, onlardan birinin adı dəyişdirilməlidir. TransitionEnd(bu, müfəttişin yuxarı sətirində edilir).

Səbirli olun, çünki indi çağırılan başlanğıc nöqtəsi parametrləri ilə yaxından işləməli olacaqsınız Keçid Nöqtəsi (Skript). Birinci sahə bizə hansı obyektin köçürüləcəyini bildirir. Buna görə qəhrəmanı iyerarxiyadan ona sürükləməlisiniz ( Ellen).

İkinci xətt keçid növündən məsuldur: zona daxilində və ya xaricdə - bu, ölkə daxilində və ya xaricdə uçmaq kimidir. Daxili səyahəti seçmisinizsə, sürükləyib yeni sahəyə buraxın TransitionEnd- beləliklə, keçidin harada olacağını göstərirsiniz. Adətən hərəkət avtomatik olaraq baş verir, ona görə də növbəti sətirdə yazı var Tətikdə Enter, ancaq gəmi ilə etdiyimiz kimi bunu istədiyiniz kimi dəyişə bilərsiniz. Elleni Parametrlərə dartmağı da unutmayın TransitionEnd, əks halda möcüzə baş verməyəcək.

Başqa yerə getsəniz, əvvəlcə onu, sonra isə keçid nöqtəsini seçməlisiniz, çünki səviyyədə onlardan bir neçəsi ola bilər və hamısı əlifba sırası ilə hərflərlə qeyd olunur. Yeri gəlmişkən, başqa səviyyədəki təyinat obyekti adlı obyektdir TransitionDestination, eyni yerdə yerləşən, in Səhnəyə Nəzarət. Qarışıq olmayın!

İndi tam oyunu oynamaq üçün lazım olan hər şeyi bilirsiniz. Bu kiçik səviyyənin yaradılması prosesində öyrəndiyimiz kiçik sirlər və məsləhətlər qalır.

Birinci sirr yerinin ən başında parıldayan bir portalda həbs edildi. İçəridə nə olduğunu açıqlamayacağıq, amma əlbəttə ki, içəri girsəniz, özünüz anlaya bilərsiniz.

İkinci sirr- bu dizayndır. Qovluqda ağaclar, otlar, sütunlar, heykəllər və digər dekorativ bəzək əşyaları yerləşdirilir Spritlər, qovluğun içərisindədir İncəsənət. Bu barədə sirr yoxdur, ancaq Unity mağazasından və ya özünüzü cəlb etməklə kitabxanaya əlavə edə bilərsiniz. Photoshop. Onlar ya digər obyektlərin arxasında gizlənə bilər, ya da üst-üstə düşə bilər - sətirdəki nömrə buna cavabdehdir Layerdə Sifariş.

Üçüncü sirr- musiqi. Çox sadədir: sadəcə olaraq soundtrackinizi qovluğa atın Musiqi, sonra onu parametrlərə dartın Fon Musiqi Pleyeri.

son sirr- ölüm. Əgər oyunçunun asanlıqla uçurumdan düşə biləcəyi açıq sahələr tikirsinizsə, onun üçün penalti hazırlamalısınız, əks halda o, qeyri-müəyyən müddətə üzməyə davam edəcək. Görünməz ölüm bunun üçün ən uyğundur. Boş bir obyekt yaradın və ona əlavə edin Zərərverici (skript). Onu bütün xəritəyə uzatmaqla, oyunçunun hündürlükdən yıxılaraq öləcəyi eyni görünməz ölümü əldə edəcəksiniz.

Səviyyəmiz mövcuddur. Redaktorun nə edə biləcəyini görmək üçün onu yükləyə və sınaya bilərsiniz. Oyun həmçinin tikinti imkanlarını tam araşdırmaq üçün oyuna daxil edilmiş tərtibatçı səviyyələri ilə gəlir.

Mühərriki bu linkdən yükləyə bilərsiniz və onun üçün ingilis dilində daha ətraflı təlimatları bu linkdə tapa bilərsiniz. Xoşbəxt inkişaf!

Ümid edirik ki, bələdçimiz sizin üçün faydalı oldu və öz şah əsərlərinizi yaratmağa ilham verdi!

Göndərmə Baxışları: 7,969

Unreal Engine istifadə edərək Android-də öz oyununuzu necə yarada biləcəyiniz haqqında danışdıq. Bu yazıda eyni dərəcədə populyar olan başqa bir oyun inkişaf mühərrikinə baxacağıq - Birlik.

Unity indie tərtibatçıları arasında çox məşhur bir mühərrikdir. Əslində, bu, inkişaf etdirməyə imkan verən çarpaz platforma mühərrikidir 3D- Və 2D-oyunlar. Unity-i digər mühərriklərdən fərqləndirən xüsusiyyət, peşəkarlar üçün zəngin alət dəstinə malik olmaqla yanaşı, yeni başlayanlar üçün giriş üçün aşağı maneədir. Kross-platforma stolüstü oyunlardan tutmuş mobil platformalara qədər istənilən platforma üçün proqramlar hazırlamağa imkan verir.

Abunə sistemi haqqında ayrıca qeyd etmək lazımdır, çünki Unity tamamilə pulsuz bir məhsul deyil. Bir neçə növ abunə var:

  • Şəxsi. Mühərrikin bütün əsas funksiyalarını ehtiva edən pulsuz versiya. Onun aşağıdakı məhdudiyyəti var: illik gəlir və ya cəlb edilən vəsaitin məbləği artıq olmamalıdır 100000$ .
  • Üstəlik. Arxada Ayda 35 dollar müxtəlif hesabatlar və analitiklər, həmçinin ekranı dəyişdirmək imkanı verilir, 20% -da alış-verişə endirim Aktiv Mağazası və müxtəlif kiçik faydalar. Onun aşağıdakı məhdudiyyəti var: il üçün gəlir və ya cəlb edilən vəsaitin miqdarı artıq olmamalıdır 200000$ .
  • Pro. Arxada Ayda $125 versiyanın bütün üstünlüklərini ehtiva edir Üstəlik və əlavə olaraq peşəkar xidmət və premium dəstək. Vəsaitlərin dövriyyəsi və ya həcmi ilə bağlı heç bir məhdudiyyət yoxdur.
  • Biznes üçün ayrı versiyalar (böyük şirkətlər tərəfindən istifadə olunur).

Beləliklə, kiçik büdcələri olan indie tərtibatçıları üçün versiya kifayət qədər olmalıdır Şəxsi və ya Üstəlik, əks halda abunə olmalı olacaqsınız Pro. Bu yazıda ilk buraxılış üçün pulsuz versiyadan istifadə edəcəyik.

Addım 1: Unity quraşdırın

Unity-nin quraşdırılmasına başlamaq üçün Unity Store veb saytına daxil olmalısınız, burada sizdən abunə növünü seçməyiniz xahiş olunacaq. Yuxarıda qeyd edildiyi kimi, gəlin seçim edək Şəxsi.

Bundan sonra sizdən istifadə şərtlərini qəbul etməyiniz və quraşdırıcını endirməyiniz xahiş olunacaq. Unity ilə işləmək üçün sistem tələbləri ilə də tanış ola bilərsiniz.

Quraşdırıcını işə saldıqdan sonra sizdən quraşdırmaq istədiyiniz komponentləri seçmək istəniləcək. Android üçün proqram yaratmalı olduğumuz üçün qutunu işarələyək Android Quraşdırma Dəstəyi. Ayrıca, istəsəniz, Unity ilə əvəzinə quraşdıra bilərsiniz Visual Studio İcması 2017 proqramlaşdırma üçün C#.

Bundan sonra qalan şey quraşdırma yolunu seçmək və Unity-ni quraşdırmaqdır.

Addım 2: Unity-ni qeydiyyatdan keçirin və konfiqurasiya edin

Quraşdırmanı tamamlayıb Unity-i işə saldıqdan sonra bizdən hesabımıza daxil olmağımız xahiş olunur.

Sonra sizdən yenidən abunə seçməyiniz xahiş olunacaq, biz yenə də Şəxsi seçəcəyik. Bu halda, şirkətin illik gəlirinin 100.000 dollardan az olduğunu və ya Unity-nin təlim məqsədləri üçün istifadə edildiyini təsdiqləməlisiniz.

Sonda sizdən nə etdiyinizi və Unity-i hansı məqsədlə quraşdırdığınıza cavab verməli olduğunuz kiçik bir sorğu keçirməyiniz xahiş olunur.

Addım 3: Yeni layihə yaradın

Unity-i konfiqurasiya etdikdən sonra layihə seçimi/yaratma ekranına keçirik. Burada klikləmək lazımdır Yeni yeni layihənizi yaratmaq üçün.

Bundan sonra görünən pəncərədə sizdən layihənin adını və onun yerləşəcəyi kataloqu daxil etməyiniz xahiş olunur. Həmçinin qutunu işarələməyi unutmayın 3D redaktordan 3D rejimində istifadə etmək.

Bitirdikdən sonra klikləyin Layihə yaradın layihə yaratmaq. Bundan sonra əvvəlcədən yaradılmış səhnə ilə redaktor pəncərəsi açılacaq.

Hələlik proqramlaşdırmanın incəlikləri ilə məşğul olmayaq və nümunə kimi hazır oyunu götürək. Buna görə də burada mövcuddur Aktiv Mağazası, həm pullu, həm də pulsuz olan çoxlu sayda hazır modellər, animasiyalar, səslər (və hətta oyunlar) ehtiva edir.

Aktiv Mağazasını açmaq üçün menyuya daxil olmalısınız Pəncərə seçin Aktiv Mağazası(düymə birləşməsi Ctrl-9).

Mağaza pəncərəsi açılacaq. Axtarış çubuğuna daxil edin " flappy bird üslubunda oyun nümunəsi" və layihəmizdə istifadə edəcəyimiz pulsuz bir nümunə açın.

Klikləyir Yüklə və beləliklə, onu yüklədikdən sonra onu layihənizə idxal edə bilərsiniz. Bunu etmək üçün vurun İdxal, bundan sonra layihə parametrlərinin idxaldan sonra dəyişdiriləcəyini bildirən bir xəbərdarlıq görünəcək.

İdxal etməyə razılaşdıqdan sonra hansı komponentləri idxal edəcəyinizi seçmək lazım olan bir pəncərə görəcəksiniz. Hamısını seçin və vurun İdxal.

İdxal tamamlandıqdan sonra siz Project Explorer-də yeni faylları görəcəksiniz. Bunlar oyun fayllarıdır. Redaktorda səhnə açmaq üçün genişləndirin Flappy Bird StilSəhnələr və üzərinə iki dəfə klikləyin Əsas.

Nəticədə oyun səhnəsi 3D redaktor pəncərəsində görünəcək.

Düyməni klikləməklə oyunun Unity-də necə işlədiyini yoxlaya bilərsiniz Oynamaq redaktor pəncərəsinin üstündə.

Addım 4: Android Alətlərini qurun

Qeyd: istifadə etsəniz Android Studio, onda siz artıq bütün lazımi komponentləri quraşdırmısınız və buna görə də növbəti mərhələyə təhlükəsiz keçə bilərsiniz.

Yaranan oyunu Android-də qurmaq üçün aşağıdakı alətləri quraşdırmalısınız:

  • Java İnkişaf Dəsti (JDK). Onu Java saytından yükləyə bilərsiniz. Linkə daxil olaraq, ən yuxarıda görəcəksiniz Java Platforması (JDK), basın Yüklə yazısının yanında, sonra əməliyyat sisteminizi seçin və yükləməyə başlayın. Bundan sonra, sadəcə quraşdırıcının təlimatlarına əməl edin.
  • Android SDK. Ən son versiyanı quraşdırmağın ən asan yolu bu SDK ilə birlikdə gələn Android Studio proqramını yükləməkdir. Bunu etmək üçün Android Studio veb saytına daxil olun və üzərinə klikləyin Android Studio proqramını yükləyin. Android Studio quraşdırıcısı Android inkişafı üçün tələb olunan əsas Android SDK komponentlərini quraşdırır.

Addım 5. Layihənin işə salınması üçün hazırlanması

Əvvəlcə inkişaf platformasını Android-ə dəyişdirməlisiniz. Bunu etmək üçün Birlikdə Fayl menyusunu açın və Quraşdırma Parametrləri seçin.

Görünən pəncərədə seçmək lazımdır Android və sonra basın Platformanı dəyişdirin.

Platforma keçidi bizə bir Android proqramı hazırlayacağımızı bildirir. Bu o deməkdir ki, biz tətbiqi quranda Unity yaradacaq APK faylı. Platformaların dəyişdirilməsi də Unity-ni bütün layihə aktivlərini yenidən idxal etməyə məcbur edir. Kiçik bir layihədə bu çox vaxt aparmayacaq, lakin unutmayın ki, daha böyük layihələrdə bu əməliyyat uzun müddət çəkə bilər.

İndi proqram üçün paket adını təyin etməliyik.

Qeyd: Paket adı proqramın unikal identifikatorudur və formatda əks DNS üslubunda yazılır com.CompanyName.ProductName. Tətbiqiniz Google Play-də dərc edildikdən sonra paketin adı dəyişdirilə bilməz.

Bunu etmək üçün menyuya keçin Redaktə et və seçin Layihə Parametrləri - Oyunçu.

Birlik proqramının sağ tərəfində proqram versiyası, hədəf və minimum SDK, ikon seçimi və s. kimi bir çox fərqli parametrləri olan bir pəncərə açılacaq. Burada blokda lazımdır Digər Parametrlər tapmaq İdentifikasiya və sahədə paketin adını təyin edin Paket Adı. İstəyirsinizsə, digər parametrləri də dəyişə bilərsiniz.

İndi yalnız Android SDK və JDK-ya gedən yolu müəyyən etmək qalır. Bunu etmək üçün menyuya gedin və seçin Redaktə et - Üstünlüklər.

Görünən pəncərədə siz getmək lazımdır Xarici Alətlər və tarlalarda SDKJDK müvafiq yolları göstərin və sonra pəncərəni bağlayın.

Addım 6. Proqramı qurun və işə salın

İlk Unity tətbiqinizi yaratmağın vaxtı gəldi. Bunu etmək üçün menyudan seçin Fayl - Quraşdırma Parametrləri. Bir pəncərə açılacaq, orada yığılmalı olan səhnəni əlavə etməlisiniz. Bu səhnə artıq redaktorda açıq olduğundan, sadəcə klikləyin Açıq Səhnələr əlavə edin onu quruluşa əlavə etmək üçün onu əlavə etdikdən sonra onu səhnələr siyahısında görəcəksiniz.

Etməli olduğunuz şey klikləməkdir qurmaq, bundan sonra Unity tətbiqi yaratmağa başlayacaq. Bunu etməzdən əvvəl sizdən toplanmış proqram fayllarının saxlanacağı qovluğu, həmçinin APK faylı üçün bir ad seçmək tələb oluna bilər.

Qeyd: hazırda Android SDK-da alfa versiyası quraşdırılıbsa Quraşdırma Alətləri(versiya 28.0.0-rc1), Gradle tikinti zamanı xəta atacaq. Bunu düzəltmək üçün sadəcə bu versiyanı Android SDK-dan silin.

Nəticədə, yığılmış APK faylı göstərdiyiniz qovluqda görünəcək, emulyatorda və ya real cihazda quraşdırmaq üçün hazır olacaq.

Gəlin yığılmış APK-da nə olduğuna baxaq. Bunu etmək üçün köməkçi proqramdan istifadə edəcəyik APK Analizatoru Android Studio ilə birlikdə olan ,

Sıxılmamış APK fayl ölçüsüdür 21.1 MB, sıxılmış vəziyyətdə 20.9 MB. Qrafikdən göründüyü kimi, həcmin çox hissəsi Unity tərəfindən əlavə edilmiş üçüncü tərəf kitabxanaları tərəfindən tutulur. Sonra daxil aktivlər Yığılmış səhnədə istifadə olunan bütün resurslar yerləşdirilib. Fayl siniflər.dex cəmi ehtiva edir 89 siniflər və 479 üsulları.

Üstəlik, baxsanız AndroidManifest.xml, tətbiq bir fəaliyyətdən ibarətdir.

Nəticə

Hamısı budur. Bu yazıda Unity-ni necə quraşdırmağı və konfiqurasiya etməyi öyrəndik, həmçinin Android-də ilk tətbiqimizi qurduq.