​Mehr Möglichkeiten für World3DModel​

  • hallo,
    ich wünsche mir mehr Möglichkeiten für World3DModel und ModelInformation


    In erster Linie eine Methode setAttribute(String, Object) für World3DModel - das habe ich schon hier gepostet
    und
    .setUserFriendlyName(Locale language, String name) um für manche Objekte den Namen in verschiedenen Sprachen anzuzeigen


    dann etwas komplexer :)
    int addChild(World3DModel child) - return childID
    removeChild(World3DModel child)
    removeChildById(int childID)
    World3DModel getChildById(int childID)
    ArrayList<World3DModel> getChildsByName(String name)


    und für ModelInformation ne Kleinigkeit
    Vector3f getSize()
    .setAlpha(float a)
    float getAlpha()


    Es ist natürlich nur ein Wunsch ;)

    Es wird alles gut :) früher oder später :D meistens später :nerd: ... ich wandle Kaffee in Quelltext um.

    Und besucht die Rising World Wiki

    Edited once, last by Kryssi_79 ().

  • Aber ein Vector3f hat immer 3 numbern so Vector3f.getSize(), wie ich es verstehe, wurde immer 3 zeigen :/ Oder meinst du was anderes mit Vector3f.getSize()?

  • achso jetzt verstehe ich was du meinst :D Wäre gut wenn wir mehr Möglichkeiten für 3DModels hatten.

  • Die Size eines Modells pro Achse einstellbar machen war ohnehin geplant, das wird mit dem nächsten Update eingeführt (somit gibt getScale() tatsächlich dann einen Vektor3f zurück - das würde bedeuten, dass bisherige Plugins, die mit "getScale()" gearbeitet haben, aktualisiert werden müssen [für "setScale()" gibts keine Änderung, lediglich eine zusätzliche Version welche xyz dann getrennt einstellbar macht]) :) Würde sich allerdings auf World3DModel beziehen, da ModelInformation ja lediglich den Verweis auf die Modelldatei darstellt.


    Support für Alphawerte können wir eigentlich auch anbieten (die neuen Fkt. wären dann "setAlpha(float)" und "getAlpha()"). Würde sich aber ebenfalls auf World3DModel beziehen.


    Attribute gehören für sowas eigentlich auch dazu, ist gebongt ;)


    Ordentliches Parent-Child-Handling wäre zwar sehr wünschenswert, ist momentan aber leider erstmal noch nicht geplant. Vielleicht wird das zu einem späteren Zeitpunkt hinzugefügt.


    Was genau meinst du mit "setUserFriendlyName()"? Bzw. auf welchen "Namen" beziehst du dich dabei?

  • 8o da freue ich mich schon drauf :thumbsup: danke schön
    getScale() und getSize() sind für mich 2 verschiedene Werte. Wurde ich auch so verstanden ?


    getScale() ist eigentlich klar - Wert wen ich ein Objekt verkleinere oder vergrößere. 1 bzw. (1, 1, 1) ist dann original (Ausgangs) Größe


    Mit getSize() möchte ich dann die tatsächliche Abmessungen wissen um z.B. ein Objekt immer auf die gleiche Größe (mit setScale() ) zu bringen.



    Was genau meinst du mit "setUserFriendlyName()"? Bzw. auf welchen "Namen" beziehst du dich dabei?

    Die .obj Dateien haben nicht immer einen schönen Dateinamen z.B. "meinTest 001.obj", "object2.obj" ... oder so.
    setUserFriendlyName() möchte ich die Möglichkeit schaffen ein Anzeigenamen mit zu transportieren und ggf anzuzeigen.
    UserFriendlyName = benutzerfreundlich / Anzeigename
    Z.B.: "Kleiderschrank", "Multi-Entsafter", "große Truhe".
    So können von uns hinzugefügte Modelle ein Anzeigenamen haben z.B. für Tooltips oder Objekt-Listen
    Locale language - war nur so eine Idee :-)


    Danke für deine Antwort :-)

    Es wird alles gut :) früher oder später :D meistens später :nerd: ... ich wandle Kaffee in Quelltext um.

    Und besucht die Rising World Wiki

  • getScale() und getSize() sind für mich 2 verschiedene Werte. Wurde ich auch so verstanden ?

    Achso, ich hatte das tatsächlich anders verstanden ;)


    Mit getSize() möchte ich dann die tatsächliche Abmessungen wissen um z.B. ein Objekt immer auf die gleiche Größe (mit setScale() ) zu bringen.

    Also das ist so in der Form momentan nicht direkt vorgesehen, allerdings kannst du die Größe eines Modells mithilfe einer BoundingInformation bestimmen:


    Das Problem bei einer getSize() Funktion wäre, dass sie keine Rückschlüsse auf den Mittelpunkt des Modells gibt (es kann ja sein, dass das Modell eine Box mit den Abmessungen 1x1x1 ist, allerdings der Mittelpunkt des Modells um 100 Einheiten nach unten versetzt ist), daher bietet eigentlich nur eine BoundingInformation vollen Zugriff auf diese Informationen (was aber kein Problem darstellen sollte - man muss nur berücksichtigen, dass getXExtent(), getYExtent() und getZExtent() jeweils nur halbe Werte zurückgeben [bei einer 1x1x1 Box also jeweils 0.5]).


    setUserFriendlyName() möchte ich die Möglichkeit schaffen ein Anzeigenamen mit zu transportieren und ggf anzuzeigen.

    Welchen Anzeigenamen meinst du genau (da World3DModel ja keinen direkten Anzeigenamen hat)? Bei späteren Modellen, die als Items oder platzierbare Objekte im Inventar fungieren (die ja definitiv einen Namen hätten [bspw. als Tooltip]) würde es aber hingegen auf jeden Fall eine Möglichkeit geben, lokalisierte Namen und Beschreibungen hinzuzufügen (diese werden aber dann vmtl. eine eigene Klasse bekommen die keinen Bezug zur World3DModel Klasse hätte) :)

  • @red51 danke für deine Hinweise. BoundingInformation habe ich tatsächlich nicht entdeckt :thumbup:


    Welchen Anzeigenamen meinst du genau (da World3DModel ja keinen direkten Anzeigenamen hat)?

    Es geht mir darum, dass Leute sehr gerne eigene .obj Modelle ins Spiel bringen. Ich wollte einfach mehr Möglichkeiten anbieten unter anderem eigenen Anzeigenamen.
    Aber wenn es Dir unsinnig erscheint noch Namen in die World3DModel Klasse rein zu bringen dann ist es auch nicht so schlimm ;-)
    Ich Kann ja auch von der klasse ableiten z.B. class UserObj extends World3DModel und dann intern nutzen.

    Es wird alles gut :) früher oder später :D meistens später :nerd: ... ich wandle Kaffee in Quelltext um.

    Und besucht die Rising World Wiki

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!