Създаване на Minecraft на Unity3D

Създаване на Minecraft на Unity3D

Това е втората част от ръководството, за да създадете свой собствен Minecraft-като игра. В него ще напишем генератора на света и добавяне на знак, който може да се движи по целия свят, да се сложи и премахване на блокове. В предишната част, която сме създали текстура куб.

Добавете функционалността на мишката

Преди да започнем програмиране, нека да добавим към нашия сцена насочена светлина. Имаме нужда от източник на светлина, за да видите по-добре нашия 3D свят.

Създаване на Minecraft на Unity3D

Можете да промените посоката на светлината, ако искате:

Създаване на Minecraft на Unity3D

Позициониране източник на светлина

Сега можем да преминем към писането първата ни писменост. Искаме да прилага функцията за добавяне на нов екземпляр на куба по детайла, на която ние щракнете с десния бутон на мишката, и изтриване на съществуваща единица с натискане на левия бутон. В раздела на проекта, отидете на Кодекса на папка и да се създаде два C # -script.

Създаване на Minecraft на Unity3D

Добави в C # проект -script

Наричаме ги WorldGenerator и ClickOnFaceScript.

Създаване на Minecraft на Unity3D

Преди да продължим, е силно препоръчително да се запознаете с скриптове в единство.

Сега отворени WorldGenerator.cs в MonoDevelop (което вече е инсталирано с Unity) кликнете два пъти върху него и въведете следния код:

Ние използваме статичен метод. да се създаде клонинг на куба. Unity ни позволява да посочите името и длъжността на клона. Повече информация за метода конкретни примери можете да получите тук.

Както на Minecraft, ако сте достатъчно близо до куба и кликнете върху левия бутон на мишката, тя изчезва и се появява в инвентара си. Когато кликнете десен бутон на мишката върху някоя от страните на куба, нов екземпляр ще бъде на страната, на която сте кликнали върху това, ако имате достатъчно материал в инвентара. В този урок, ние не си поставяме граници, така че ние ще имаме един безкраен размер на кубчета и кликнете безкрайно разстояние.

Отворени ClickOnFaceScript.cs и да въведете този код:

Сега се движат сценария на всяка една от шестте страни на куба на сцената.

Създаване на Minecraft на Unity3D

Нанесете сценария на GameObject

Сценарият трябва да се появи на всяка страна в раздела инспектор.

Създаване на Minecraft на Unity3D

Нека да започнем играта. Натиснете и проверете дали съобщенията за отстраняване на грешки се появяват, когато кликнете върху куба в игра с раздели.

Създаване на Minecraft на Unity3D

Тествайте Пресата на мишката

Не забравяйте. В режим на игра, всички промени, които сте направили с елементите в раздела сцена. Те ще бъдат анулирани. Не променяйте нищо, докато върви играта. Натиснете отново, за да спрете да играете.

Сега имаме всичко необходимо, за да се създаде нов куб, като щракнете с десния бутон на мишката. Ние трябва да се определи точната позиция на новия GameObject. който ще се появи, когато кликнете. На нашата сцена разстоянието между центровете на два съседни блока, е един.

За простота, ние ще наричаме център на куба, на които са кликнали, писмото В. и централното устройство, което трябва да се появи - Н. Ние считаме тези центрове като позиция в 3D пространство.

Ние можем да се обобщи по-горе в проста формула: N = C + делта, където делта - тази промяна необходимо да се изчисли нова център на блока. Всяка от шестте страни на копие съдържа ClickOnFaceScript и различна стойност делта.

Ние трябва да се промени ClickOnFaceScript.cs. за изпълнение на функциите, изброени по-горе. Отваряне на сценария и да промените файла, както следва:

Създаване на Minecraft на Unity3D

Цялата необходима информация е посочена

Уверете се, че всичко работи. Стартирайте играта няколко пъти, молейки различни позиции камера (чрез промяна на нейната трансформация раздел на инспектор), за да се провери, че сме влезли стойности са правилно делта.

Създаване на Minecraft на Unity3D

Настройте позицията на камерата и натиснете от двете страни на кубчетата

създаде характер

Ако всичко работи, както е планирано, можем да преминем към създаването на своя характер, така че можем да се движат свободно в нашата игра. За наше щастие, единството предоставя пълен пакет с контролера на героя в първо лице, така че не е нужно да го създадем от нулата. Отиди → Импортиране пакет активи и изберете контролер характер.

Създаване на Minecraft на Unity3D

Внос Controller пакет Character

В Importingpackage кутия, изберете следното:

Създаване на Minecraft на Unity3D

В раздела на проекта, отидете на Стандартните активите → контролиращите характер. First Person Controller.prefab изберете и да го плъзнете в раздела Йерархия.

Създаване на Minecraft на Unity3D

Прибиране First Person Controller Character

Поставете го в близост до центъра на сцената.

Конфигуриране местоположение преформа

Ние трябва да защитим нашия характер от есента, преди да преминат към тестване. Ние ще Ви върнем стойността назад, когато приключим алгоритъма за света.

Създаване на Minecraft на Unity3D

Gravity не е необходимо!

Уверете се, че всичко работи.

Създаване на Minecraft на Unity3D

В First Person контролер на нашата сцена има камера. приложен като дете GameObject. Когато стартирате играта, това ще бъде основната камера на сцената, така че ние не се нуждаем от друг. Всяка камера съдържа AudioListener компонент. Това е причината, поради която съобщението "Има 2 аудио слушателите в сцена. Моля, уверете се, винаги има точно един аудио слушател в сцената. "Се появява в раздела Console. Изключете главния обект на камерата в раздела Йерархия.

Създаване на Minecraft на Unity3D

Изключването на главната камера

Почти сме готови! Open WorldGenerator.cs скрипт и да го променя:

Сценарият ще се изпълнява само когато тя е свързана с някои GameObject на сцената. Създадете празен Празните GameObject WorldGenerator.cs и плъзгане върху него.

Създаване на Minecraft на Unity3D

Плъзнете WorldGenerator.cs нов GameObject

Вокселните плъзнете обекта до съответното поле в сценария. Тази версия на алгоритъма на световния поколение държи всички блокове в паметта, така че не се препоръчва да се създаде големи стойности на полета Размер X. Размер на Y и размер Z. в противен случай ще се изправят ниска производителност или, още по-зле, Единството може да лети.

Размер посочи, че не е необходимо да се постави

Преди да се види развитието ни в действие, не забравяйте да се подобри поле Gravity в сценария, прикрепена към контролера на характера.

Създаване на Minecraft на Unity3D

И все пак, гравитацията е важно

Готово! Кликнете и се забавлявайте!

Създаване на Minecraft на Unity3D