Jump to content
Unity Insider Forum

All Activity

This stream auto-updates

  1. Yesterday
  2. Oh mein Gott, das ist perfekt 😄 Vielen Dank, genau diese Bewegung hatte ich mir vorgestellt. 😁
  3. Last week
  4. Moin! Das klingt mir nach einem Anwendungsfall fĂŒr eine Sinuskurve. Du steckst eine in jedem Frame weiter steigende Zahl in die Mathf.Sin-Methode und kriegst eine sanft oszillierende Zahl wieder heraus. So als Beispiel: private Vector3 originalPosition; private void Awake() { originalPosition = transform.position; } private void Update() { var pos = originalPosition; pos.y += Mathf.Sin(Time.time) * 2; transform.position = pos; } Da wir den Wert der Sinuskurve immer auf die ursprĂŒngliche Position draufaddieren mĂŒssen (und nicht auf die aktuelle), wird die ursprĂŒngliche Position einmal gespeichert. Dann wird der Original-Vektor in Update kopiert und der Y-Wert abgeĂ€ndert, indem eben der Sinuskurvenwert dazu addiert wird. Die *2 habe ich aus deinem Code ĂŒbernommen; Sinuskurven gehen ja von -1 bis 1, wenn wir das *2 rechnen, geht dein Objekt von der Ausgangsposition aus 2m nach unten und 2m nach oben. Ich benutze hier Time.time, was in jedem Update einen neuen Wert zurĂŒck gibt und die Zeit seit Anfang der Szene in Sekunden darstellt. Ein immer weiter steigender Wert eben. Wenn du die Geschwindigkeit des Objekts Ă€ndern willst, musst du Time.time in der Klammer mit einem beliebigen Wert multiplizieren.
  5. Hey, ich bin noch blutiger AnfÀnger. Ich habe ein Objekt, welche "sanft" schweben soll. Es soll also immer leicht hoch und runter schweben. Ganz simpel hab ich gedacht. Habe es mit Vector3.Lerp probiert. Aber damit bewegt er sich das Objekt sehr ruckartig hoch und wird dann langsamer. Wenn es oben ist, bewegt es sich wieder ruckartig runter und wird langsamer. Kennt jemand einen Trick, mit dem sich das Objekt Smoother bewegt? public class Schweben : MonoBehaviour { private Vector3 position; private Vector3 PosA; private Vector3 PosB; private bool up = true; float distance; // Start is called before the first frame update void Start() { position = this.transform.position; PosA = position + new Vector3(0, 2, 0); PosB = position + new Vector3(0, -2, 0); } private void Update() { if (up) { transform.position = Vector3.Lerp(transform.position, PosA, Time.deltaTime); distance = Vector3.Distance(transform.position, PosA); if (distance <1) { up = false; } } else { transform.position = Vector3.Lerp(transform.position, PosB, Time.deltaTime); distance = Vector3.Distance(transform.position, PosB); if (distance < 1) { up = true; } } } }
  6. Ich verstehe zwar nicht, was du da machst, aber vielleicht möchtest du Transform.RotateAround benutzen?
  7. Hallo Leute Weiss jemand wie man 3-D-Objekte in einer Szene richtig 'justieren' kann, sodass nachher alle Objekte in die gleiche Richtung (um die y-Achse) drehen? Einige 3-dObjekte, z.B. die grĂŒne Scheibenegge, drehen in die falsche Richtung. void Update() { foreach (GameObject joint in hingeJoints) { if (joint.name == "Ballenpresse" | joint.name == "Wagen" | joint.name == "Scheibenegge") joint.transform.Rotate((new Vector3(0, 0, 1) * rotationSpeed * Time.deltaTime)); else joint.transform.Rotate((new Vector3(0, 1, 0) * rotationSpeed * Time.deltaTime)); } }
  8. hallo man sieht nicht viel, aber was ich sehe, gefÀllt mir. hat einen starken skyrim touch. christoph
  9. Earlier
  10. Hallo Community, ich möchte heute einen kleinen Screenshot aus einem meiner Projekte zeigen. Gruß Timm
  11. Hallo, in dem heutigen moderierten Video stelle ich euch mein Skillsystem vor. Es sind erst sechs Skills angelegt. FĂŒr einen Spielstart sollte das erstmal reichen.
  12. Hallo, eine kleine Vorabversion von Finn Fuchs ist fertig. Folgendes funktioniert schon: - MenĂŒ - Levelauswahl - Ein kleiner Startlevel mit Tutorialhinweisen Die Version 0.1.0 könnt ihr euch hier runterladen: Finn Fuchs 0.1.0
  13. Hah, da hast du das klassische Beispiel Floats sind halt magisch. Sagen wir's so: 0.1 lÀsst sich im BinÀrsystem gar nicht mit einer endlichen Anzahl an Stellen darstellen. So wie man 1/3 im Dezimalsystem nicht mit endlich viel Stellen darstellen kann. Wenn du daher 0.1 als Float darstellst, hast du in Wirklichkeit 0.100000001490116119384765625... in deinen Bits stehen. 0.0009765625 dagegen lÀsst sich exakt darstellen Hier kannst du ein bisschen mit Floats herumspielen, das kann helfen: https://www.h-schmidt.net/FloatConverter/IEEE754.html
  14. Hallo Wie verschiebst du den Block den bisher? Da muss ja zum Start irgendwas loslaufen. Das solltest du eben erst starten, wenn der entsprechende Button geklickt wurde. Da wir aber nicht wissen, wie du den Block bewegst, kann man da jetzt schlecht was Allgemeines sagen. Christoph
  15. Hallo Forum, ich brĂ€uchte eure Hilfe. Und zwar möchte ich es hinkriegen, dass sich ein Objekt nach der Eingabe in das Input Feld und durch ein Klick auf den Button bewegt. Kurz zum Level an sich: Ich habe ein Block und der verschiebt sich momentan automatisch sobald ich auf "Play" drĂŒcke. Das möchte ich aber nicht. Was ich genau will ist, dass ich zum Block hinlaufe, sodass ein Input Feld mit einem Button aufploppt und z.B. nach der Eingabe "Nach rechts verschieben" und durch ein Klick auf den Button, der Block sich nur dann nach rechts bewegt. P.S. Laufen und mit der Maus steuern habe ich schon hingekriegt.
  16. Ok, danke fĂŒr den Tipp! Ich denke mit Mathf.RoundToInt(obj.transform.position.y) sollte das klappen. Das mit den Ungenauigkeiten ist natĂŒrlich doof und funktioniert auch in einer Schleife nicht korrekt, so dass man am Ende einer Transformation immer noch extra nachkorrigiert werden muss. Warum sich der Wert in einer 10er-Schleife, bei der in jedem Schritt 0.1f subtrahiert wird, im Total nicht -1 ergibt ist mir schleierhaft! IEnumerator SchiebenUnten(GameObject ttt) { for (int i = 0; i < 10; i++) { ttt.transform.position = ttt.transform.position - new Vector3 (0, 0.1f, 0); yield return new WaitForSeconds(0.01f); } ttt.transform.position = zielPosition; // Teil auf die genaue Position setzen }
  17. Ich glaube beim Default Contact Offset, könntest du schrauben. Sei dir aber im Klaren, dass in Unity nie etwas genau 1 ist, wenn die genutzte Maßeinheit ein Float ist. Da gibt es immer Ungenauigkeiten. Du solltest Versuchen einfach mit NĂ€herungen zu arbeiten. Also fragst du nicht die Ganzen Zahlen ab sondern ein UngefĂ€hr. Ist der Wert innerhalb der Ganzzahl +- 0.05 oder so, dann mache etwas.
  18. Hallo zusammen In meinem 2D Game sollen Kisten herunterfallen und einen Turm bzw. eine Mauer bilden. Also habe ich ihnen einen Rigidbody und einen 2D Boxcollider angehĂ€ngt und siehe da, die Kisten stapeln sich auf. Sie haben jeweils eine SeitenlĂ€nge von 2 und auch der Colider hat die Grösse 2 x 2. Das Problem: Nach dem Fall sollten alle Kisten wieder eine Ganzzahl als Y-Wert haben, aber genau das funktioniert nicht! Beispielsweise hat der mittlere WĂŒrfel nach dem Fall anstelle des erwarteten Wertes -1 nun plötzlich -0.9944119 und die obere Kiste anstatt 1 den Wert 1.02. Ich habe versucht, den Boxcollider in der Höhe anzupassen, hat aber nicht funktioniert, da sich je nach Anzahl der herunterfallenden Kisten die jeweiligen Y-Werte andauernd verĂ€ndern. Auch das manuelle nachkorrigieren auf eine Ganzzahl bringt nichts, da der Wert nicht bleibend ĂŒbernommen wird und durch die Kollisionsfunktion gleich wieder durch einen Fliesskommawert ersetzt wird. Vielleicht muss man in den Einstellungen etwas schrauben. Langer Rede kurzer Sinn: Wie erreiche ich, dass alle Kisten nach dem Fall immer eine Ganzzahl als Y-Wert haben?
  19. Hallo, heute habe ich mich um die Skills gekĂŒmmert. NatĂŒrlich ist es erst ein Anfang. Insgesamt stehen aber schon sieben Skills zur VerfĂŒgung. FeuerbĂ€lle, Eis, Blitz, Explosion und Heilung. Der erste Skill kann ab Stufe drei erlernt werden. FĂŒr das Erlernen werden dann teilweise 1 bis 3 Skillpunkte benötigt. Das ist aber erstmal so meine Idee. Ich werde im Spiel dann schauen, ob ich mit meinen Vorstellungen richtig liege. Vorgesehen ist, dass der Spieler bei jedem Stufenaufstieg einen Skillpunkt erhĂ€lt.
  20. Hallo In InCrouching setzt die einen Parameter, der fĂŒr die Animation zustĂ€ndig ist. Wenn die beim Checkpoint aufgerufen wird, hast du die Lösung. Christoph
  21. Bin neu und hab mir daher den code aus verschiedenen Quellen zusammengeschustert. kenn es an dem liegen public void OnCrouching (bool isCrouching) { animator.SetBool("IsCrouching", isCrouching); } void FixedUpdate() { controller.Move(horizontalMove * Time.fixedDeltaTime, crouch, jump); jump = false; }
  22. Hallo Dann muss es eine Verbindung zwischen der Animation und dem Trigger geben. Eventuell setzt du eine entsprechende Variable? Änderst den Animationslayer? Das wird dir niemand so aus der Kalten sagen können. Christoph
  23. Ich hab da bei meine Check Points ein Problem es löst mir immer die Crouch Animation aus wenn ich durchlaufe. Checkpoint ist ein Box Collider 2D mit Trigger und Player hat einen Rigidbody 2D und 2 x Capuslet Collider 2D fĂŒr Oberkörper und Unterkörper. Hat wer eine Idee woher das kommen kann? -wo ich den Fehler suchen sollte.
  24. Aber das ist doch nicht Steamworks, oder? Ich meine, dass Valve ne komplette Netzwerkbibliothek gebaut hat, ist ja klar, aber das macht sie doch nicht gleich zum Teil von Steamworks? đŸ€”
  25. @Sascha @Elharter Das stimmt nicht ganz. Steamworks Network API kann tatsÀchlich Server erstellen und Kommunikation zwischen Clients austauschen. Ist sogar Open Source https://github.com/ValveSoftware/GameNetworkingSockets https://partner.steamgames.com/doc/features/multiplayer/networking Mirror Community z.B. benutzen das sogar als Transport statt Mirror's interne Transport-Layer. Da ich nur Facepunch Steamworks bissel kenne hier sieht man auch den Code: https://github.com/Facepunch/Facepunch.Steamworks/blob/master/Facepunch.Steamworks/SteamServer.cs Ich glaube, aber bin mir nicht sicher, dass auch Stellaris so ihre Games Hosten, denn dort steht auch als Info "SteamServer ID xyz".
  26. Sascha, tausend Dank. Du bist 'ne Wucht!
  27. Danke, hat geklappt 🙂
  28. Ah danke, sieht cool aus. Und zu @Sascha mit Rechtsklick kommt nur Link öffnen etc. und normales klicken kommt bei mir eine neue Seite in der steht, der Inhalt wurde nicht gefunden.
  1. Load more activity

Announcements

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

Weiterleitung zum Entwickler "daubit"



×
×
  • Create New...