My Island Deel 4: Stap 9

Stap 9: De trigger aan een deur vastmaken

Om een deur te maken die spelers kan teleporteren hoef je nu alleen nog het TeleportTrigger object aan een 3D model van een deur vast te maken.
Je begrijpt dat het niet persé een deur hoeft te zijn waaraan je de trigger vastmaakt en dat je een script als dit eindeloos kan blijven hergebruiken!

Klik in de menu balk op Assets > Import Package > Custom Package.
Importeer het pakket met de naam TeleportDoor.unitypackage, deze vind je in de map UnityPackages in je Bureaublad map.

(Het TeleportDoor pakket is eventueel ook vanaf deze blog te downloaden. Klik met je rechtermuis op het bestand hieronder en klik op “Koppeling opslaan als..”.
Verwijder na het downloaden het “.doc” gedeelte van de bestandsnaam: TeleportDoor.unitypackage.doc)

(!Let op tot een paar jaar geleden waren deze ‘file extensions’ zoals .doc, .jpg en .txt nog standaard zichtbaar in Windows maar dit staat nu uit. Om de file extensions zichtbaar te maken in Windows zodat je ze eventueel kan veranderen volg de instructies op deze pagina: http://windows.microsoft.com/nl-nl/windows/show-hide-file-name-extensions#show-hide-file-name-extensions=windows-7)

Zoek in de _Prefabs map in de Project view naar de prefab met de naam “Door” en sleep deze naast éen van de twee TeleportTrigger kubussen die je in je level hebt geplaatst in de Scene view.

Screen Shot 2016-04-05 at 12.33.01

Sleep vervolgens in de Hierarchy view de TeleportTrigger kubus op het ‘Door’ object om de trigger ‘kind’/’child‘ te maken van ‘Door’.

Screen Shot 2016-04-06 at 13.17.10

In de Hierarchy view ziet het er daarna zo uit:

Screen Shot 2016-04-05 at 12.42.18

Omdat de TepelportTrigger child is van ‘Door’ kun je de deur verplaatsen en dan beweegt de trigger kubus met de deur mee.
De positie in het transform component van de TeleportTrigger is nu ook relatief aan die van zijn parent ‘Door’ i.p.v relatief aan de game wereld.
Dit wil zeggen dat de nul positie van TeleportTrigger nu de positie van ‘Door’ is geworden in de game wereld.

Selecteer de TeleportTrigger in de Hierarchy view en zet in de Inspector view de positie op 0,0,0.

Screen Shot 2016-04-05 at 12.58.47

Je zal zien dat de trigger kubus daarna precies in het midden van de deur zit.
Omdat het midden van de deur in dit geval onderaan zit (dit maakt het makkelijker om de deur precies op de grond te plaatsen) moet je de kubus daarna nog iets omhoog plaatsen op de y-as.
Je kan daarna ook de schaal instellen om te zorgen dat de trigger kubus precies in de deuropening past.

Screen Shot 2016-04-05 at 14.07.08

Hiervoor kun je de volgende transform waardes overnemen:

Screen Shot 2016-04-05 at 14.07.23

!Let wel op dat je de schaal op de z-as niet smaller maakt dan 0.5 omdat de speler iets te breed is voor de deur en anders geen contact maakt met de trigger. Je kan ook de deur groter maken of de spelers character collider radius kleiner.

Nu hoef je alleen nog de Mesh Renderer van de TeleportTrigger kubus uit te zetten en…Gefeliciteerd! Je teleport deur is klaar!!

Als je benieuwd bent naar hoe je van de teleport een deur naar een ander level kan maken (hiervoor zijn slechts een paar regels code nodig)  en hoe je een spel kan opslaan als een echt spel dat andere mensen kunnen spelen volg dan de Extra stap hieronder.

Als je wilt weten hoe je ervoor kan zorgen dat je als het ware door de deur naar de andere locatie kan kijken (dit werkt met een camera en een render texture) volg dan deze tutorial over hoe je een portal gun kan maken zoals in het spel ‘Portal’: https://www.youtube.com/watch?v=sK9Qf8ElFHo
Tip: In het _Prefabs mapje zit een ‘DoorWithRenderTexture’ prefab die al een camera en render texture heeft!

Ga door naar (Extra) Stap 10: Een deur naar een ander level

GreenArrowLeft  Stap 8       Stap 10 GreenArrowRight

 

Tutorial over hoe je een portal gun kan maken zoals in de game ‘Portal’!
https://www.youtube.com/watch?v=sK9Qf8ElFHo

Extra informatie over triggers en colliders
http://unity3d.com/learn/tutorials/modules/beginner/physics/colliders-as-triggers

Extra informatie over Start ()
https://unity3d.com/learn/tutorials/modules/beginner/scripting/awake-and-start?playlist=17117

Extra informatie over Update ()
https://unity3d.com/learn/tutorials/modules/beginner/scripting/update-and-fixedupdate?playlist=17117

Extra informatie over functies
http://unity3d.com/learn/tutorials/modules/beginner/scripting/variables-and-functions?playlist=17117

Website Powered by WordPress.com.