Jump to content
Unity Insider Forum

All Activity

This stream auto-updates

  1. Today
  2. Hallo Ich bin absoluter Anfänger und habe eine Simple Frage: Wie kann ich ein Objekt zeitgesteuert ein-und ausblenden (simpel gesagt: es soll blinken) Würde mich über Hilfe freuen DANKE!
  3. Das ist normal, keine Sorge Das vermutlich auch, aber nicht nennenswert. Es geht mehr darum, dass einfach weniger schief gehen kann. Wenn du einen 2D-Boden baust, dann wird dein 2D-Rigidbody da nicht durchfallen, wenn die Einstellungen stimmen. Wenn du aber einen 3D-Boden hast und einen 3D-Charakter obendrauf, dann kann die dritte Dimension dir einen Strich durch die Rechnung machen. Der Boden kann aus der 2D-Ebene herausgeschoben sein, oder die Oberfläche könnte etwas nach vorne oder hinten geneigt sein. Das wirkt sich dann vielleicht auf die Berechnung der Geschwindigkeit des Charakters aus. Prinzipiell musst du immer darauf achten, dass deine 3D-Collider nichts machen, was nicht genau 2D ist. Und bei 2D-Collidern kriegst du das halt gratis. Die Umstellung auf 2D sollte eigentlich gar nicht mal so schwer sein. Halt Collider und Rigidbodys ersetzen und im Code dasselbe. Aber das Problem ist: Unity hat kein 2D-Äquivalent zum CharacterController. Da nimmst du dann vielleicht einen Rigidbody, der mit eigenen Problemen daher kommen kann. Hat z.B. kein Skin Width wie der CharacterController. Das wäre für dich auf jeden Fall ein Nachteil.
  4. Ok, dann werde ich das bei Gelegenheit probieren, vielleicht hatte ich da nur etwas falsch verstanden. Am Anfang ist das alles etwas überwältigend. Welchen Vorteil hat die 2D-Physik gegenüber 3D-Physik. Wahrscheinlich ist es nicht ganz so rechenintensiv, schätze ich. Der 3D-Controler (Script) kommt bei mir langsam voran, 2D muss ich wieder bei null anfangen. Wenn ich meine Nerven frage sagen sie, dass ich jetzt gefälligst bei 3D bleiben soll und nicht schon wieder wechseln. Welche Pro`s gibt es? Vielen Dank übrigens für deine sehr hilfreichen Antworten und deine Zeit.
  5. Yesterday
  6. Hallo, zwischen dem Dungeon und dem Fantasywald liegt ein großes Tor, welches verschlossen ist. Damit Riffolk die benötigten Runen finden kann, muss er erstmal über die schwimmenden Holzplanken an einige Stellen und Ufer des Sees gelangen. Natürlich lauern dort wieder gemeine Gegner.
  7. Hallo, heute geht es ins Dorf. Genauer gesagt ins Kuhdorf. Dort trifft Jack dann Einwohner deren Wünsche er erfüllen muss. Wenn ich ein paar Aufgaben fertig habe, wird es eine kleine Vorabversion zum Testen geben.
  8. Moin! Apps werden nicht über ihren Namen, sondern über ihren Identifier identifiziert (wie der Name schon vermuten lässt). Das Ding ist auch irgendwo in den Player Settings. Sieht aus wie "com.example.game". Das Ding musst du eindeutig halten.
  9. Hallo zusammen ich habe folgendes Problem: Ich entwickle zwei kleine Android Games als jeweils eigenes Szenerie Build. In den Spieler Settings habe ich jeweils ein Name und Ikon vergeben, die APK bekommt auch einen eigenen Namen. Beim Installieren auf meinem Android Tablet überschreibt jeweils das Game1 das installierte Game 2, also ich kann nicht meine zwei Games zeitgleich auf meinem Tablet installieren und spielen. Was mache ich falsch?
  10. Ah ok super. Das ganze funktioniert jetzt! 🙂 Vielen Dank!
  11. Hehe, ich hab deinen Code nicht angeschaut gehabt. Du machst das hier in Start: bootscontroller = FindObjectOfType<BootsController>(); Da wird das, was du im Editor reingezogen hast, überschrieben. Und da er nichts findet, steht da halt None.
  12. Hm, doch. Aber mir ist etwas aufgefallen. Wenn ich auf "Play" drücke, geht die Referenz verloren. Jedoch verstehe ich noch nicht warum.
  13. Rigidbody und 3D-Modelle haben nix miteinander am Hut. Du kannst deinem Objekt Collider2D und Rigidbody2D und alles geben, und dann einfach ein 3D-Modell unterordnen. Mit deinen Scripts sollte das nichts zu tun haben.
  14. Jup, hast du anscheinend nicht gemacht. Zumindest nicht überall.
  15. Hi, es geht um den bootscontroller: public class OrcController : MonoBehaviour { public HealthSystem healthsystem; private bool hitable; public float Hitpoints; //public float maxHitpoints = 5; public GameObject rolenderding; bool isHurting; bool isDead; bool isSlashing; public BootsController bootscontroller; public Vector3 startPos; public Vector3 newPos; public float orcSpeed = 10f; Animator anim; // Start is called before the first frame update void Start() { healthsystem = FindObjectOfType<HealthSystem>(); bootscontroller = FindObjectOfType<BootsController>(); hitable = true; anim = GetComponent<Animator>(); startPos = transform.position; } Zusätzlich muss ich im Inspector reinziehen.
  16. Moin! Die Fehlermeldung besagt, dass deine Variable bootscontroller als Wert null hat, also kein Objekt referenziert. Holst du die Referenz mit GetComponent oder ziehst du die im Inspektor rein?
  17. Erstmal vielen Danke für deine Korrektur, so funktioniert es tatsächlich. Sorry, aber ich habe bisher kaum Ahnung von Scripten. Zu 2D: Ich hatte vor ein paar Tagen (seit dem ich mich mit Unity beschäftige) ein 2D Projekt angefangen. Dann ein Script (für die Bewegungen) benutzt und einen Rigidbody2D. Dann habe ich dem RB-2D ein 3D-Modell als Child unterschieben wollen, ging nicht. Wenn ich mich recht erinnere meinte Unity, dass im Script auf einen RB-2D bezuggenommen wird und das so nicht funktioniert. Muss in dem Script dann ein RB-3D angesprochen werden wenn man ein 3D-Modell nimmt oder kann man einen RB-2D einfach mit einem 3D-Modell verbinden?
  18. Nö, natürlich nicht - du hast einfach nur einen Vektor erstellt. Aber du fütterst diesen Vektor nicht wieder als Position in deine Figur hinein. Richtig wäre transform.position = new Vector3( ... ); Dann empfehle ich trotzdem 2D-Physik. Die verträgt sich problemlos mit 3D-Grafik.
  19. Hi Community, wie löse ich das am einfachsten, dass ein Gegner ein Item/Objekt spawnt? Ich habe mittlerweile etliche Möglichkeiten wie ich dachte es würde funktionieren ausprobiert. Leider immer ohne Erolg. Ich versuche es mal verständlich darzustellen. Ich befinde mich in dem ControllerScript meines Gegners in diesem IEnumerator: IEnumerator Dead() { isDead = true; yield return new WaitForSeconds(4f); isDead = false; Destroy(gameObject); DropItem(); } Springe nun in "Drop Item": public void DropItem() { bootscontroller.Spawn(); } Springe in ein anderes Script namens BootsController in die Spawn Funktion: public class BootsController : MonoBehaviour { public CharacterController2D ccontroller; public GameObject objectToDisable; //public static bool sichtbar = false; public int active = 0; // Start is called before the first frame update public void Start() { if (active == 0) { objectToDisable.SetActive(false); } else { objectToDisable.SetActive(true); } } public void Spawn() { active = 1; //objectToDisable.SetActive(true); Start(); } Ich hab sehr viel rumprobiert, mag sein, dass da momentan etwas verwurschtelt ist, was mir nicht auffällt. Fehlermeldung: NullReferenceException: Object reference not set to an instance of an object OrcController.DropItem () (at Assets/Scripts/Enemies/OrcController.cs:77) OrcController+<Dead>d__14.MoveNext () (at Assets/Scripts/Enemies/OrcController.cs:107) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <82ec470c913149358ad0c83ad628910c>:0) Gruß, BlackDullah
  20. Ich habe jetzt so etwas unter LateUpdate eingefügt: Vector3 position = new Vector3(transform.position.x,transform.position.y,0); Aber das bewirkt leider gar nichts. :-) Zum Gameplay: Ich möchte ein 2D Spiel machen, aber mit 3D Objekten. Leider kommt mir dieses schreiben von Scripten dazwischen. Ich hatte dazu einen 2D-Controler mit Collider nachgebaut und habe dann ein 3D-Objekt eingesetzt, da meckerte Unity, dass sowas nicht geht. Also dachte ich, dass 3D-Objekte nur mit dem ganzen 3D-Zeugs (Collider3D etc.) funktioniert und habe an einem 3D-Controler-Script gebastelt, bei dem ich die "vertical" Bewegung deaktiviere und nur horizontale Bewegungen zulasse. Jetzt gibt es allerdings dieses Problem bei der Drehung.
  21. Moin! Hast du manchmal 2D-Gameplay und manchmal nicht? Denn wenn du nur 2D-Gameplay hast, solltest du auch 2D-Physik benutzen und entsprechend den Character Controller weglassen. Davon abgesehen kannst du immer z.B. in LateUpdate einfach die Z-Koordinate des Objekts auf 0 setzen.
  22. Moin! Ne, in OnValidate weißt du gar nichts. Du kannst ja trotzdem schauen, ob die Werte in allen Unterarrays dem Basiswert entsprechen und sie andernfalls abändern. OnValidate ist nicht für komplexe Anwendungsfälle gedacht. Wenn dein Kontext aber komplexe Dinge erfordert, musst du mit Editor-Code ran. Also einen eigenen Inpector oder PropertyDrawer. Wenn es hier allerdings nur um Performance geht, mach dir darum keine Sorgen. Solange du nicht große Datenmengen hast, ist Performance nicht so kritisch im Editor.
  23. Last week
  24. Hey Leute, gibt es eine Möglichkeit genau herauszufinden, in welchem Array-Element die aktuelle Änderung stattfindet, sodass man nicht jedes mal jedes Element aktualisieren muss, sondern nur das indem auch die Änderung stattfindet? Ich habe hier ein Verschachteltes Array mit mehreren Elementen, wenn ich jetzt den Basiswert ändere, dann sollen sich halt im Unterarray die Werte entsprechend aktualisieren. LG
  25. Ich habe einen Player (in einer 3D Umgebung) mit CharacterControler erstellt. Die Animationen sind über RootMotion. Soweit funktioniert es ganz gut. Wenn ich nun von links nach rechts laufe (egal ob x oder y Achse) wird der Player bei jeder Drehung (180°) ein klein wenig versetzt, er hält also nicht seine ursprüngliche Spur. Das hat zur Folge, dass bei 2D-Gameplay der Player nach kurzer Zeit im Hintergrund angekommen ist. Hatte irgendwer dieses Problem schon einmal und kann mir auf die Sprünge helfen, ich habe keine Ahnung woran das liegen kann. Sorry, bin Anfänger und leicht am Verzweifeln.
  26. Hi Sascha, danke für die sehr ausführliche und freundliche Antwort! Am Wochenende komm ich wieder dazu, weiter dran zu arbeiten, dann werde ich mich nochmals melden, ob's funktioniert. Merci! 😊
  27. Multiplayer Fishing Game Template This Multiplayer Fishing Game Template is a fully featured template to create your own professional and realistic multiplayer fishing game. You can buy it right now on the Unity Asset Store: https://assetstore.unity.com/packages/templates/systems/fishing-game-multiplayer-template-214363
  1. Load more activity

Announcements

Hy, wir programmieren für dich Apps(Android & iOS):

Weiterleitung zum Entwickler "daubit"



×
×
  • Create New...