Crearea Minecraft pe Unity3D

Crearea Minecraft pe Unity3D

Aceasta este a doua parte a ghidului pentru a crea propriul joc Minecraft-ca. In aceasta vom scrie generatorul lumii și se adaugă un caracter care se pot deplasa în întreaga lume, pentru a pune și elimina blocuri. În secțiunea anterioară am creat o textură cub.

Adăugați funcționalitatea mouse-ul

Înainte de a începe de programare, să adăugați la lumina noastră scenă direcțională. Avem nevoie de o sursă de lumină pentru a vedea mai bine noastră 3D lumea.

Crearea Minecraft pe Unity3D

Puteți schimba direcția luminii, dacă doriți:

Crearea Minecraft pe Unity3D

Poziționarea o sursă de lumină

Acum putem trece la scrierea primului nostru scenariu. Dorim să pună în aplicare funcționalitatea de a adăuga o nouă instanță a cubului în jurul părții pe care facem clic pe butonul din dreapta al mouse-ului, și a șterge o unitate existentă prin apăsarea tastei stânga. În fila Proiect, navigați la Codul director și de a crea două C # -script.

Crearea Minecraft pe Unity3D

Adăugați în C # -script proiect

Noi le numim WorldGenerator și ClickOnFaceScript.

Crearea Minecraft pe Unity3D

Înainte de a continua, este foarte recomandat să vă familiarizați cu programarea în unitate.

WorldGenerator.cs Acum deschise în MonoDevelop (care este deja instalat cu Unitatea) dublu-clic pe ea și introduceți următorul cod:

Noi folosim o metoda statica. pentru a crea o clona de cub nostru. Unitatea ne permite să specificați numele și poziția clona. Mai multe informații despre metoda instanțiați puteți obține aici.

Ca de Minecraft, dacă sunteți destul de aproape de cub și faceți clic pe butonul stâng al mouse-ului, dispare și apare în inventar. Când faceți clic pe butonul din dreapta al mouse-ului pe oricare dintre laturile cubului, o nouă instanță va fi pe partea pe care ați făcut clic pe, dacă aveți suficient material în inventar. In acest tutorial, nu ne-am stabilit limite, astfel încât vom avea o cantitate nesfârșită de cuburi și faceți clic distanță infinită.

ClickOnFaceScript.cs deschise și pentru a introduce acest cod:

Acum muta script-ul de pe fiecare din cele șase laturi ale cubului pe scenă.

Crearea Minecraft pe Unity3D

Aplicați script-ul la GameObject

Script-ul trebuie să apară pe fiecare parte, în fila Inspector.

Crearea Minecraft pe Unity3D

Să începem jocul. Apăsați și verificați dacă mesajele de depanare apar când faceți clic pe cubul în joc fila.

Crearea Minecraft pe Unity3D

Testați presa al mouse-ului

Amintiți-vă. În modul de joc, orice modificări pe care le-ați făcut cu elementele din fila scenă. Acestea vor fi anulate. Nu schimba nimic până când jocul se execută. Apăsați din nou pentru a opri redarea.

Acum avem tot ce ai nevoie pentru a crea un nou cub, făcând clic pe butonul din dreapta al mouse-ului. Avem nevoie pentru a determina poziția exactă a noii GameObject. care va apărea când faceți clic. Pe scena noastră distanța dintre centrele a două blocuri vecine unul.

Pentru simplitate, vom apela centrul cubului pe care a făcut clic, litera C. și unitatea centrală, care ar trebui să apară - N. Considerăm că aceste centre ca poziție în 3D-spațiu.

Putem generaliza de mai sus într-o formulă simplă: N = C + delta, unde delta - această schimbare este necesar să se calculeze un nou centru al blocului. Fiecare dintre cele șase laturi ale copiei conține ClickOnFaceScript și diferite valori delta.

Trebuie să ne schimbăm ClickOnFaceScript.cs. să pună în aplicare funcționalitatea enumerate mai sus. Deschideți script-ul și modificați fișierul după cum urmează:

Crearea Minecraft pe Unity3D

Toate informațiile necesare sunt prezentate

Verificați dacă totul funcționează. Începe jocul de mai multe ori, solicitând diferite poziții de cameră (prin schimbarea fila acestuia Transformă în Inspector) pentru a verifica că am introdus valori sunt corecte delta.

Crearea Minecraft pe Unity3D

Configurarea poziția camerei și apăsați laturile cuburi

a crea un personaj

Dacă totul funcționează așa cum a fost planificat, putem trece la crearea de caracterul tău, astfel încât să ne putem mișca liber în jocul nostru. Din fericire pentru noi, Unitatea oferă un pachet complet cu controlerul caracterului în prima persoană, așa că nu trebuie să-l creați de la zero. Du-te la Active → Pachetul Import și selectați Controller caractere.

Crearea Minecraft pe Unity3D

Import Controler pachet Caracter

În caseta Importingpackage, selectați următoarele:

Crearea Minecraft pe Unity3D

În fila Proiect, du-te la activele Standard → Controlorii de caractere. First Person Controller.prefab selectați și trageți-l în fila Ierarhie.

Crearea Minecraft pe Unity3D

Recoltarea First Person Controlor Caracter

Puneți-l aproape de centrul scenei.

Configurarea locației preforme

Trebuie să ne apărăm caracterul nostru de toamna înainte de a trece la testarea. Vom rambursa valoarea înapoi, atunci când vom termina algoritmul pentru lume.

Crearea Minecraft pe Unity3D

Gravity nu este necesar!

Verificați dacă totul funcționează.

Crearea Minecraft pe Unity3D

În prima persoană Controler pe scena noastră au aparat de fotografiat. atașat ca un copil GameObject. Când vom începe jocul, acest lucru va fi camera principală pe scenă, astfel încât să nu avem nevoie de o alta. Fiecare cameră conține component AudioListener. Acesta este motivul pentru care mesajul „Există 2 ascultători audio în scenă. Asigurați-vă că există întotdeauna exact un ascultător audio în scenă. „Apare în fila Console. Opriți obiectul principal Camera din fila Ierarhia.

Crearea Minecraft pe Unity3D

Oprirea camerei principale

Suntem aproape gata! Deschideți WorldGenerator.cs script-ul și-l modificați:

Script-ul va fi rulat numai atunci când este atașat la unele GameObject pe scenă. Creați un gol WorldGenerator.cs GameObject gol și trageți pe ea.

Crearea Minecraft pe Unity3D

WorldGenerator.cs Trageți un nou GameObject

Voxel trageți obiectul în câmpul corespunzător în script. Această versiune a algoritmului de generare mondială păstrează toate blocurile din memorie, deci nu este recomandat să se stabilească valori mari în câmpurile Dimensiune X. Size Y și Z. Dimensiuni altfel se confruntă cu o productivitate scăzută sau, chiar mai rău, unitatea poate zbura.

Dimensiunea a indicat că nu este necesar să se pună

Înainte de a vedea dezvoltarea noastră în acțiune, nu uitați să îmbunătățească câmpul gravitațional în script-ul atașat la controlerul de caractere.

Crearea Minecraft pe Unity3D

Totuși, gravitația este importantă

Gata! Faceți clic și distrează-te!

Crearea Minecraft pe Unity3D