Soweit ich weiß, ist es aufgrund von Gleitkommapräzisionsproblemen kaum möglich, mehr als 1 Million Einheiten vom weltweiten Ursprung in Unity zu entfernen.
Um eine Welt mit einem Radius von mehr als 1 Million Einheiten zu erstellen, müssten entweder double
vars als Koordinaten verwendet oder eine Raumteilungstechnik verwendet werden, um eine massive Szene in hierarchische Blöcke zu unterteilen, wobei der kleinste von ihnen etwa 10 000 Einheiten beträgt, dh jede Weltraumposition würde ausgedrückt Durch die Blockhierarchie befindet sich das Objekt in und eine Reihe von float
Variablen, die seine lokale Position (und möglicherweise Rotation und Skalierung) innerhalb des letzten Blocks darstellen.
In jedem Fall müsste dazu ein komplett neues Koordinatensystem implementiert werden. Daher möchte ich wissen, ob dies in Unity möglich ist oder nicht, und wenn ja, wie kann ich dafür sorgen, dass es mit vorhandenen Unity-Systemen wie Physik usw. funktioniert.
PS Ich kann die Welt nicht einfach in ihren Ursprung versetzen, während sich der Spieler bewegt, da ich möchte, dass die Dinge gleichzeitig auf dem Planeten vor sich gehen.
Vielen Dank!