ein 3d mesh in viele Einzelteile zerlegen



  • Hallo liebe Community,

    ich wende mich an Euch mit folgender Frage, und hoffe auf eine Lösung für mein Problem 🙂

    Das ganze Problem soll in Directx und c++ realisiert werden.

    Man stelle sich einen Raum vor, indem ein Flugzeug fliegt ( 3d mesh ).
    Eine Kollisionsabfrage habe ich bereits realisiert.
    Was ich nun jedoch möchte, ist es, eine Kollision auch grafisch darzustellen.

    Also im Endeffekt, das Flugzeug soll beim kollidieren in viele kleine Teile zerfallen. ( ich bin der Meinung, das directx eine Funktion bereitstellt, die eine festzulegende Anzahl polygone in einzelne meshes teilt... not sure )

    Mir ist bekannt, das ich ein Mesh auch in vielen kleinen Teilen anlegen kann, was jedoch ein immenser Aufwand ist.

    Deswegen dachte ich es gibt vielleicht eine einfache Lösung.

    Ich danke euch schonmal 🙂

    mfg
    el_presidente


  • Mod

    die einfachste methode waere schon vor-zerbrochene objekte zu haben und wenn du dann moechtest dass es zerfaellt, ersetzt du das heile model durch z.b. eines mit 3 bruchstuecken.



  • sicher wäre dies noch einfacher, ich sträube mich nur dagegen, da es für sehr viele verschiedene objekte ein riesiger aufwand wäre jedes model, auch in bruchstücken anzulegen.

    im endeffekt wird es für meine zwecke reichen, dennoch bin weiterhin auf der suche nach einer Möglichkeit, das für viele verschiedene Objekte, am besten zufällig, dieses zu realisieren.

    Danke dennoch,

    mfg

    edit:

    ok lösung gefunden, das Zauberwort heißt D3DXSplitMesh,
    zerteilt ein mesh in beliebig viele polygone, damit kann man ausreichend absturz simulieren :p



  • Hi

    Zwar kenne ich mich mit dieser Materie nicht sonderlich aus, aber wenn du dich weiterhin mit 3D Physikeffekten beschäfigen möchtest, rate ich dir mal einen Blick in in die Bullet Physics Libary zu werfen: http://www.bulletphysics.com.
    Es handelt sich hierbei um eine OpenSource Physik-Engine die sich auch mit DirectX verwenden lässt. Denke mal, dass Sie ebenfalls in C++ geschrieben wurde.

    MfG Samuel


Anmelden zum Antworten