Unity 3D-Tutorial: #30 – Prefabs
Dieser Artikel gehört zu einer ganzen Tutorial Serie. Hier gelangt Ihr zu der Artikelübersicht: Unity 3D Tutorial Serie .
Wir haben nun mittlerweile ein fahrtüchtiges Auto-Modell entwickelt, ein Menü, eine Zeitmessung und noch vieles mehr. Aber was machen wir, wenn wir nun ein zweites Level erstellen möchten? Müssen wir dann alles noch einmal von vorne machen? Natürlich nicht.
Hierfür gibt es Prefabs, die ich Euch in diesem Tutorial näher bringen möchte.
Tutorial-Inhalt
Um Objekte in einem Spiel mehrfach nutzen zu können, gibt es in Unity sogenannte Prefabs. Ein Prefab stellt ein beliebig komplexes Objekt dar, welches auch Scripte beinhalten kann und voreingestellte Parameter seiner Vorlage übernehmen kann. Ein typisches Beispiel sind wiederkehrenede Objekte wie Patronen und Raketen, welche beliebig oft in einem Spiel vorkommen können. Aber auch Objekte, wie unser Auto-Modell, welches verschiedenste Unterobjekte besitzt, ist hierfür eine gute Einsatzmöglichkeit.
In diesem Tutorial zeige ich Euch wie Ihr zum einen Prefabs erstellt und zum zweiten, wie Ihr dann Kopien dieses Prefabs via Javascript zur Laufzeit erstellen könnt. Alles weitere erfahrt Ihr in dem Video-Tutorial
Video-Tutorial
Hier ist nun das Prefab-Tutorial. Viel Spaß beim Anschauen!
Hat Euch das Tutorial gefallen? Habt Ihr noch Fragen zu Unity- Prefabs, welche sich nicht durch das Tutorial geklärt haben und Euch unter den Nägeln brennen?
Dann raus mit der Sprache, unten habt Ihr genügend Platz Eure Meinungen als Kommentare hier zu hinterlassen!
Hier geht es weiter zum nächsten Unity 3D-Tutorial: #31 – Lokale, Member und scriptübergreifende Variablen
SUUUUUPPPPPEEEEEERRRRR Tutorial 😀 😀 😀 😀
Und ich hätte ne Frage: Hast du irgendwann mal gesagt :“Ich will Javascript lernen“ ,oder wie war das ????? Möchte das nämlich auch mal lernen….( Ich weiß das es SEHR schwer ist Aber ich möchte es UNBEDINGT lernen 😀 :grin:)
Bist du da auf ne schule gegangen ,oder hast du es von Tutorials 🙂
Gibt es auch Tutorials die auf unity Spezialisiert sind (ich hab bisjetzt immer nur welche gefunden die für Websiten waren
Aber das Problem es muss deutsch sein 😕
Ich hoffe trotzdem du kannst mir was empfehlen 😀 😀 😀 😀
Hi ho,
erstmal super tutorial 🙂
@Jonah
zum lernen von JavaScript für Unity kann ich dir nur sagen, schau dir die Tutorials an, und versuch zu verstehen was passiert. Sobald man versteht was passiert, kann man anfangen mit umschreiben der Scripts und dann gehts immer weiter bis hin zum eigenen 🙂 Natürlich ist die Scripting reference sehr hilfreich um bestimmte Funktionen zu finden.
Das andere ist, ohne Englisch wirst du es sehr sehr schwer haben im Programmierbereich. Ich kann auch net super englisch, aber das muss auch gar net.
Hey carsten ich glaub Unity 3 ist RAUS
http://unity3d.com/
die website hatt sich geändert oder ????
JAAAAAA
ES IST WIRKLICH UNITY 3
BITTE MACH AUCH DAZU TUT !!!!!
😀 😀 😀
😀
😀
Erstmal Danke Euch beiden für Euer Lob 🙂
@Jonah: Ich kann MiMi nur zustimmen. In meinen Videos erkläre ich eigentlich schon viele wichtige Dinge, die Javascript angehen. Beim nächsten Tutorial gehe ich sogar noch etwas genauer auf einige Programmier-Geschichten ein.
Achja, zu Unity 3 werde ich natürlich auf jedenfall einige Tutorials bringen 🙂
@ Mimi und @ Carsten 😀 😀 😀
😀 DANKE 😀
ich werd mir mir mal alle deine tut’s (auch das erste 😀 ) genau anschauen und versuchen deine scripte zu verstehen . Ich glaube „var“ habe ich schon ein wenig verstanden 😀 😀 😀 😀 😀 😀 😀 😀 😀
sorry wegen doppelpost ,aber ich wollt nur noch mal sagen das ihr unity3d.com
nicht .de schreiben müsst.Schreibt ihr unity3d.de dann kommt eine Website auf der ihr ein unity game downloaden könnt
Wollte das nur so als erinnerung machen 😀 😀 😀 😀 😀
Hatte ich irgendwo „.de“ geschrieben? 😕
Nein 😀
Aber ich hab einmal auserveshen http://www.unity3d.de geschrieben (nicht hier sondern da wo der link normaler weise steht ) und dann ist diese seite gekommen ….ich wollt das nur nochmal sagen ,dass wenn sich ein paar wundern es jetzt wissen 😀 😀
Hi Carsten ich habe mir jetzt das erste video angeguckt und habe fast alles verstanden …Bloß was das : * und das heißt wusste ich nicht ganz Input.GetAxis …. So viel wie ich verstanden hab war das hier * das mal ,bei dem anderen wusste ich es nicht ganz
Und was hatt das : rigibody.centerOfmass = 0; zu bedeuten ??
Würde mich freuen wenn du mir diese Fragen beantworten könntest
Jonah 😀 😀 😀 😀 😀 😀 😀 😀 😀
Ein Rigidbody sorgt dafür, dass Dein Körper eine Masse besitzt, die auf die Schwerkraft reagiert.
@Jonah
Deine Texte finde ich ziemlich schwer zu verstehen.
Fragst du was Input.GetAxis macht? Wie ich dir bereits sagte, hilft dir bei vielen Dingen die Reference, dort sind auch eigentlich immer Beispiele zu finden :).Ich habs dir mal rausgesucht:
http://unity3d.com/support/documentation/ScriptReference/Input.GetAxis.html
„Input.GetAxis
static function GetAxis (axisName : string) : float
Description
Returns the value of the virtual axis identified by axisName.“
Hallo ich muss erstmall was von Unity 3 Loss werden an allen programierern dieser Welt Unity 3 ist nicht gut für andere würd es komisch sein bistimmt sagt ihr was meit der Unity 3333333333333 ist doch hammer weil es 3 heißt aber davon würd ihr nich viel kapieren !
@ Drak
Hallo , also ich möchte jetzt nicht unhöflich sein aber irgendwie ist dein text ein bissechen ….ähm….Komisch
Ich mein :
Unity 3 ist nicht gut für andere ??? Soll das heißen ,für die wo nicht programmieren können ist unity schlecht ???
Ich weis jetzt nicht soganz ob die anderen das verstanden haben ,aber ich jedenfalls nicht wirklich 🙂
@ MiMi
DANKE 😀 😀 😀 😀
Ich wollte wissen was Zeichen : * heißt . 😀
Und das mit dem input.GetAxis habe ich jetzt verstanden
:grin::grin:
(Das mit dem erklären tut mir sehr leid, aber ich kontrolliere die texte oft nicht nach ,bevor ich sie abschick.Und ich bin außerdem noch SEHR jung und daher bin ic hnoch nicht sonderlich gebildet im erklären/formolieren)
:grin::grin::grin:
Ich komme bei Tuturial 7 nich weiter bei meinen Driving script da erscheint das mit dem Pointer und dem Display, mein script sie so aus :
var leftWheel : WheelCollider;
var rightWheel : WheelCollider;
var maxTorque= 260.0;
var guiSpeed : GUIText;
var guiSpeedDisplay : Texture2D;
var guiSpeedPointer : Texture2D;
private var currentSpeed = 0.0;
function Start () {
guiSpeed.material.color = Color.red;
rigidbody.centerOfMass.y = 0;
}
function FixedUpdate () {
currentSpeed = (Mathf.PI *2 *leftWheel.radius)*leftWheel.rpm *60 /1000;
currentSpeed = Mathf.Round(currentSpeed);
leftWheel.motorTorque = maxTorque * Input.GetAxis(„Vertical“);
rightWheel.motorTorque = maxTorque * Input.GetAxis(„Vertical“);
leftWheel.steerAngle = 10 * Input.GetAxis(„Horizontal“);
rightWheel.steerAngle = 10 * Input.GetAxis(„Horizontal“);
GuiSpeed.text = currentSpeed.ToString();
}
function OnGUI () {
GUI.Box(Rect(0.0,0.0,140.0,140.0),guiSpeedDisplay);
GUI.DrawTexture(Rect(0.0,0.0,140.0,140.0),guiSpeedPointer), ScaleMode.StretchToFill,true,0);
}
Hi „Ich“,
da ich gerade nicht soviel Zeit hab, schau Dir doch einfach mal mein Script an, welches Du in Folge 11 downloaden kannst: http://www.der-softwareentwickler-blog.de/2010/05/17/unity-tutorial-11-wheelcollider-2/
Gruß
Carsten