Jump to content
Unity Insider Forum

Sascha

Administrators
  • Posts

    13,611
  • Joined

  • Last visited

  • Days Won

    780

Sascha last won the day on February 8

Sascha had the most liked content!

About Sascha

  • Birthday 08/13/1990

Contact Methods

  • Website URL
    http://13pixels.de

Profile Information

  • Gender
    Male
  • Location
    Hamburg
  • Interests
    Programmierung

Recent Profile Visitors

117,470 profile views

Sascha's Achievements

Advanced Member

Advanced Member (3/3)

2.7k

Reputation

  1. Nicht unbedingt. Der Ressourcen-Ordner ist, wenn du mich fragst, auch für 98% der Probleme eine schlechte Lösung. Einfach schon, weil man Strings zum Identifizieren der Assets benutzt. Meistens besser: Ein serialisiertes Feld anlegen (wenn nicht bekannt: einfach "public GameObject prefab;") und da dein Prefab im Inspektor rein ziehen. So ein GameObject hat, wenn du nicht Shakespeare in eine Komponente rein pastest, nicht mal ein KB groß. Mach dir mal nicht wegen drei GameObjects um deinen Speicher Sorgen. Tatsächlich gibt es eine Technik Namens "Pooling", die Objekte recycelt, also deaktiviert und dann wieder re-aktiviert, anstatt ein neues Objekt zu instanziieren, weil Zerstören und Instanziieren weitaus schlechter für die Performance ist als zeitweises Deaktivieren. Nicht, dass das für dich einen Unterschied machen sollte, daher einfach weiter im Kurs - aber ich konnte das nicht stehen lassen, ohne den Samen des Zweifels an dieser Ansicht zu sähen
  2. Mach dir bloß nicht zu viel Hoffnung, dass Unity in nächster Zeit an irgendeiner Front in irgendeiner Weise aufholen wird. Der Firma geht's im Moment gar nicht gut. Die kriegen seit vielen Jahren dieselbe Handvoll Baustellen nicht vernünftig gebacken, und die nächsten Jahre werden noch härter werden, weil bei denen gerade alles drunter und drüber läuft.
  3. Wenn ein Script nicht kompiliert, hast du immer (mindestens) eine Fehlermeldung in deiner Konsole. Die kannst du oben über "Windows -> General -> Console" öffnen. Einmal darin auf Clear drücken, dann verschwinden alle Meldungen, die nicht Compilerfehler sind (also die Fehler, die in deinem Code sind und Unity daran hindern, ihn zu kompilieren und zu benutzen). Wenn du uns den/die Fehler hier hinkopierst, machst du uns damit das Leben viel einfacher Davon mal abgesehen hast du mehrere Male Zeilen in der Form "a - b" im Code. Zwei Dinge voneinander abziehen ist aber keine vollständige Anweisung. Du musst das Ergebnis auch in irgendeiner Weise benutzen, z.B. indem du es in eine Variable schreibst. Ich nehme aber an, dass du in Wirklichkeit einfach nur "=" schreiben wolltest und nicht "-".
  4. Sascha

    Collider

    Moin! "greifen nicht" heißt, dass die Objekte durcheinander fallen ohne zu kollidieren? Sind beide Collider 3D-Collider oder ist einer von beiden 2D? Hast du einen Screenshot von deiner Szene für uns?
  5. Hallo, Willkommen und viel Erfolg!
  6. Moin! Ich hatte schon versucht, das Problem zu erfassen, aber ohne Screenshots klappt's nicht. -200 klingt wie das Gegenteil von "okay", aber mehr weiß ich auch nicht Kannst du sonst nochmal auf irgendeinem anderen Bildhoster hochladen und verlinken?
  7. Moin! Gizmos (also Linien und Icons und so) müssen in der Scene View angeschaltet werden. Der Knopf dafür ist der ganz oben rechts:
  8. Da gibt's viele Ansätze. Ich denke an Dungeon Keeper und dergleichen: Erstmal sind das vom Rendern her gar keine Cubes. Du siehst ja nur die Oberseite, ein Wandmodell oder den Boden. Du kannst also statt Würfeln Quads nehmen. Darüber hinaus kannst du größere Flächen auch partitionieren: Wenn dein Spiel irgendwo 5x5 unangetastete Felder findet, kann es eine 5x5-Fläche rendern statt 25 1x1-er. Wenn du noch weiter gehst, kannst du auch in Echtzeit Chunk-Meshes generieren. Also alle 8x8 (oder was auch immer für Werte gut für dich funktionieren) Felder als ein Mesh rendern, das in Echtzeit generiert wird, wenn sich darin etwas ändert.
  9. There is no way we can help you without any kind of information. We'd need to at least look at your relevant code.
  10. Da kannst du ja direkt ansetzen. public float acceleration = 5f; public float minSpeed = 0f; public float maxSpeed = 10f; void Update() { speed += Input.GetAxis("Vertical") * acceleration * Time.deltaTime; speed = Mathf.Clamp(speed, minSpeed, maxSpeed); distanceTravelled += speed * Time.deltaTime; ... Input.GetAxis ist eine Möglichkeit. Je nach Input-System gibt's dann andere. In jedem Fall kannst du einfach speed anpassen und dadurch ändert sich... naja, deine Geschwindigkeit
  11. Moin! Wie hast du denn deinen Pfad implementiert? Irgendwo in deinem Code müsste dann ja eine Geschwindigkeit drin stehen, mit der du dich den Pfad entlang bewegst. Diese Geschwindigkeit kannst du variabel machen und über Input abändern lassen.
  12. Moin! Der Code hat ein paar Merlwürdigkeiten, ist aber prinzipiell so richtig. (später - früher).Days ist die abgerundete Anzahl an Tagen zwischen später und früher. Hast du dir denn mal deine beiden DateTimes vor dem Verrechnen ausgeben lassen?
  13. Das hier stimmt auf jeden Fall noch nicht. Deine Beschreibung klingt aber so, als wäre das nicht das einzige übrige Problem. Solltest du trotzdem erstmal lösen.
  14. Du hast immer noch genau dasselbe Problem drin. Wenn kein Paket rein kommt, berechnest du trotzdem distanceX neu, wobei immer 0 heraus kommen wird.
  15. Moin! Ich würde vermuten, dass du nicht in jedem Update eine neue Position rein bekommst. Wenn das der Fall ist, hast du mehrere Updates in Folge dieselbe Position, und der Abstand ist entsprechend immer 0. Pack diesen Code am besten direkt hinter den Code, der die neue Position entgegen nimmt und auf den virtuelles Objekt anwendet. Dann musst du natürlich auch statt Time.deltaTime einen eigenen deltaTime-Wert nehmen, der genauso berechnet wird wie distanceX.
×
×
  • Create New...