Jump to content
Unity Insider Forum

All Activity

This stream auto-updates     

  1. Yesterday
  2. danke ja dafür nutzen wir Cloth Physics
  3. Hast Du ein Beispielbild, wie das Ergebnis aussehen soll?
  4. Last week
  5. Na? Wie lange haste vorher geputzt? Euer Sauberkeitsfimmel kotzt mich an!
  6. Ach, die Geschichte... Richtig. @Thariel Du hast natürlich Recht: Ein bewegtes GameObject ist nicht sofort an seiner neuen Position, sondern erst nach Ende des Frames. Da ein verschobenes Objekt letztendlich einiges mehr an Konsequenzen nach sich zieht, als man erwartet, arbeitet Unity alle Änderungen in der Szene in einem Rutsch ab. Dadurch müssen Dinge nicht doppelt und dreifach gemacht werden, wie es der Fall wäre, wenn diese Dinge nach jeder Transform-Änderung gemacht würden. In deinem Fall ist das natürlich schlecht. Du kannst diese Änderungen aber manuell auslösen, und zwar mit Physics.SyncTransforms. Das rufst du einfach nach dem Verschieben auf. Damit umgehst du zwar diese Optimierung, die es nicht ohne Grund gibt, aber wie immer gilt: Performance ist erst dann ein Thema, wenn es zum Problem wird. Optimalerweise würdest du dir eine eigene Datenstruktur bauen, die das Feld repräsentiert, und das ganze nicht über die Physik-Engine machen, aber wenn dein Spiel nicht zu groß ist, ersparst du dir mit dieser Methode einiges an Ärger. @Jomnitech Er löst den Raycast in Update aus - das heißt nicht, dass er das jeden Frame macht. FixedUpdate ändert hier auch nichts.
  7. Trotzdem ist er ja physic basiert, da wird das nicht viel machen wenn er in der Update function drin ist. Aber warum führst du den raycast nicht in der fixedupdate function aus, dann läuft das ja immer mit der Physik. Du könntest den Raycast sogar in eine eigene Update Function einfügen die sogar noch langsamer läuft, dann hast du ev. den nötigen delay den du brauchst um den NPC zu bewegen. Kann mir kauf vorstellen das es nötig ist jeden Frame zu prüfen ob ein Feld frei ist?
  8. Also ich gehe davon aus, dass in Update() den Code der Reihe nach in allen Objekten ausgeführt wird und in "Internal physics update" Kollision und so weiter berechnet wird. https://docs.unity3d.com/Manual/ExecutionOrder.html
  9. Genau so mache ich das auch! Das Problem ist aber: 1. Frame: Beide NPC's warten darauf, dass das Feld frei wird. 2. Frame: Das Feld wird frei. 3. Frame: -> Npc 1 macht Raycast. Feld ist frei. Bewegt sein Collider auf das neue Feld (Physik wird aber erst im nächsten 4. Frame vor Update() ausgeführt). -> Npc 2 macht Raycast. Feld ist frei (Collider von Npc 1 noch nicht eingetroffen). Bewegt sein Collider auf das angeblich freie Feld. 4. Frame: Noch vor Update() werden die Collider bewegt, mit dem Ergebnis, dass jetzt beide auf dem selben Feld sind. So verstehe ich das zumindest... oder funktioniert es anders? 🤔
  10. Grüße, kennt jemand von euch einen Weg den Outline Effect auf eine Tilemap zu wirken? Mfg Mustaf
  11. Der gesamte Mono-Teil (also der C#-Teil) deines Projekts ist single threaded, sofern du nicht ECS nutzt. Das heißt, dass deine Raycasts nicht gleichzeitig ablaufen, sondern der eine immer vor dem anderen. Man könnte z.B. den Collider direkt auf das freie Feld schieben und die Animation auf den sichtbaren Teil des Objekts beschränken, damit der nächste Raycast direkt den Collider des anderen NPCs trifft.
  12. Hi Ich habe folgendes Problem: Auf jedem Feld des Schachbrettartigen Spielfeldes darf immer nur ein Npc stehen. Wenn 2 Npc darauf warten, das selbe Feld zu betreten und das Feld frei wird, dann testen beide Npc's gleichzeitig im selben Frame mit einem Raycast, ob es frei ist. Es ist auch frei und beide ziehen auf das selbe Feld, doch jetzt stehen 2 Npc's auf dem selben Feld, weil die zwei Raycasts und die Bewegung der Collider jeweils Parallel ablaufen (Execution Order). Die Bewegung findet mit transform.Translate statt. Wie könnte ich das Problem lösen? Danke schon mal 😅
  13. Schau mal oben mittig im 'Game' Fenster, ob der 'Scale' Slider auf 1x steht..
  14. Schau mal unter Edit>Porject Settings>Quality nach was da bei anti Aliasing engestellt ist, oder allgemein die Grafikeinstellungen falsch sind.
  15. Guten Tag, bei mir sieht die Grafik des zb einfachen Würfels im Abspielmodus bzw im Game-Fenster ziemlich pixelig und unscharf aus. Im Szene-Fenster sieht es hingegen viel besser aus. Gibt es eine allgemeine Grafikeinstellung für den Abspielmodus ? Ich habe schon bei google danach geschaut, allerdings komme ich dann zu anderen Themen weil das Wort Game, Grafik mich dorthin führt. MfG Ben
  16. Hallo Zusammen Da ich momentan in meinem Hauptprojekt so gar nicht weiter komme, habe ich mal was kleiners angefangen. Was haltet Ihr davon bezüglich dem Artstyle und Animationen? Fängt es das retro Feeling ein oder eher nicht? Hier gibts auch ne kleine Demo: PixelKern2.rar Steuerung mit Controller oder mit Maus und Tasta (ASDW/Pfeile,Space,LMT,RMT,MMT)
  17. Mit riesigen Zahlen kann Unity nicht umgehen, weil 32-bit floating point numbers im Koordinatensystem verwendet werden. Im Millionenbereich kann dir bereits die erste Nachkommastelle flöten gehen. Im 10-Milliarden-Bereich gibt's schonmal Ungenauigkeiten im dreistelligen Bereich. Aber davon mal abgesehen: Wenn dein Objekt auf die gegebene Distanz zu klein ist, um gesehen zu werden, dann ist es zu klein, um gesehen zu werden. Wenn dein Objekt plötzlich größer ist, hat es ja nicht mehr die richtige Größe. Du schaust ja auch nicht in den Nachthimmel und beschwerst dich, dass du Deimos nicht erkennen kannst.
  18. Hallo zusammen, zusammen mit meinem Team planen wir eine 3D-Map eines Sonnensystems für ein Spiel. Die Position der Planeten im Sonnensystem sind 1:1 aus dem Spiel übernommen, d.h. wir haben da Positionen von zb. "x": 2865536, "y": -99034464, "z": -934464 Die Kamera in Unity sieht soweit nicht, bzw kann sie schon aber das GameObject (der Planet) ist dann so klein das man nichts sieht. Ich habe schon probiert, das GameObject viel größer zu skalieren, aber das hilft nicht. Wir brauchen aber diese exakten Positionen. Was kann ich machen, damit wir auch auf diesen Entfernungen, die GameObjecte immer sehen. Nicht in Voller Größe, aber gut genug. Danke für Eure Hilfe!
  19. Genau das habe ich gesucht, bist der Beste, vielen Dank
  20. Ja, du musst jetzt noch die Keys in ihrer Eigenschaft anpassen. Die sind natürlich ersteinmal smooth. Klicke mit rechts auf den 2 Key, der abgehackt kommen soll und wähle Left Tangent - Constant . Jetzt sollte die Animation zu diesem Key hin so sein, wie du es wolltest. Wenn du die Animation nicht im Dope Sheet Modus sondern im Curves Modus anschaust, siehst du auch genau was da passiert.
  21. Hi @malzbie Genau Ich habe meine KeyFrames nur bei den "Extremen", aber der Übergang wird ja von Unity dann super smooth berechnet. Ich dachte eher an eine Möglichkeit dass er mehr so von einem Keyframe zum nächsten springt, ohne einen smoothen Übergang vom einen Keyframe zum anderen.
  1. Load more activity

Announcements

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

Weiterleitung zum Entwickler "daubit"



×
×
  • Create New...