Jump to content
Unity Insider Forum
thewhiteshadow

Double precision Vector Libraries for Unity3D (Fork)

Recommended Posts

Hallo,

aus Anlass eines Projekts von mir war ich auf der Suche nach einer Implementierung der Vector Klassen mit doubles.

Was ich gefunden hab war brauchbar, aber alles Andere als Vollständig. Also hab ich das Projekt kurzerhand geforkt und überarbeitet da das Original-Projekt offenbar nicht mehr gepflegt wird. Insbesondere einen Drawer, der zu den vorhandenen Klassen passt.

https://github.com/TheWhiteShadow3/vector3d

Falls jemand hier noch eine Verbesserung sieht oder etwas fehlt, darf er gerne bescheid geben oder einen Pull-Request stellen.

Share this post


Link to post
Share on other sites

Sieht echt gut aus. Das wirklich einzigen Sachen, die ich gerade gesehen habe:

  • Statt der Methode "Rotated" hat Unity bei Vector3 einfach einen Multiplikations-Operator. Da das Paket ansonsten (schönerweise) dasselbe Interface wie Vector3 benutzt, fände ich es ganz gut, wenn das hier auch so wäre.
  • Bei ToString wäre es cool, wenn da ein Hinweis wäre, dass es sich um einen Vector3d und keinen Vector3 handelt.

Share this post


Link to post
Share on other sites

Danke für das Feedback.

Zu 1: Hab ich wirklich versucht, aber dafür müsste ich die quaternion Klasse erweitern, das geht aktuell aber nicht mit Operatoren. Also '*' überladen oder ein cast. Quaternion arbeitet intern oft schon mit double, wenn man sich hier mal den decompilierten code anguckt. Zudem massiv nativ calls. Nachbauen macht da keinen Spaß. Ich könnte höchstens den * für Vector3d überlagern, was mathematisch aber auch nicht korrekt wäre. Die double Vector Klassen sind mMn. auch bei simple Richtungs-Transformation falsch angelegt.

Ich benötige sie für eine Schnitt-Punkt Berechnung die bei float zu viel Rundungsfehler erzeugt.

zu 2: Hab ich kurz überlegt, aber mir dann gedacht, dass ich beim Debuggen eigentlich meist egal ist, was das für eine Klasse ist, sondern einfach nur die Werte interessieren. Und das wird ja auch bei Vector2 und Vector3 gemacht. Ich hab mich da stark am deren Aussehen gehalten. Auch bei dem Drawer hab ich mich bemüht, dass der exakt gleich ausschaut.

Wem es nicht gefällt. Source Code ist frei (public domain).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...