Hälp! Brauche kurz Nachhilfe in Sachen 'Normale'
Übersicht

![]() |
x-pressiveBetreff: Hälp! Brauche kurz Nachhilfe in Sachen 'Normale' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also irgendie raffe ich das mit den 'Normalen' noch nicht so ganz. Ich dachte immer, der einzige Zweck von Normalen wäre, zu bestimmen, welche Seite eines Polygons sichtbar ist, und welche nicht. Eine Normale ist doch eine gedachte 'Linie', die vom Mittelpunkt eines Polygons ausgeht, und an deren Richtung man erkennt, welche Seite des Polygons sichtbar ist (nämlich jene, in deren Richtung die Normale zeigt). Stimmt das so?
Wenn ja, wie können Normale dann 'kollidieren'? Zitat Online-Hilfe: Zitat: Die Funktion COLLISIONNX liefert die X-Koordinate eines kollidierten Normals.
Was soll das heißen?
Welche Koordinaten hat so eine Normale? Den Mittelpunkt des Polygons? Braucht man eine Normale noch zu anderen Zwecken? Welche? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine Normale ist ein Vektor keine gedachte Linie, da sie nicht immer
eine Koordinate hat. Beim Smoothshading wo jeder Vertex eine Normale hat, beitzt der Vektor eine Position nämlich die X, Y und Z Koordinate des Vertex. Bei der Kollision sieht das anders aus. Stell Dir vor Du hast 2 Kugeln. Die eine(Kugel1) ist oben und die andere(Kugel2) ist unten (hat also einen kleineren Y Wert als Kugel1) Bewegst Du Kugel2 so lange nach oben bis sie mit Kugel1 kollidiert, so ist der Kollisionsvektor (0,-1,0) da er durch die -1 nach unten zeigt. Beim Hiddenfaceremovel wird ein Vektor auf Grund des Kreuzproduktes der Vektoren Vertex0 - Vertex1 und Vertex0 - Vertex2 gebildet. Er steht also senkrecht auf dem Triangle. Zeigt dieser dann in Richtung des betrachters, wird das Triangle gerendert, andernfalls nicht. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Bewegst Du Kugel2 so lange nach oben bis sie mit Kugel1 kollidiert, so
ist der Kollisionsvektor (0,-1,0) da er durch die -1 nach unten zeigt. Was mich aber verwirrt: das kommt doch immer auf den Betrachtungswinkel an, oder nicht? Von Kugel2 aus gesehen, wäre der Kollisionsvektor doch dann 0,1,0 (also nach oben), von Kugel1 aus gesehen hingegen 0,-1,0 (nach unten) -oder? Woher weiß Blitz, welche RICHTUNG der Vektor hat? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] AppTitle "Kollisionsvektor - Example" Graphics3D 640,480,32,2 SetBuffer BackBuffer() Kugel1 = CreateSphere() EntityType Kugel1,1 EntityRadius Kugel1,1.0 EntityColor Kugel1,255,255,0 ; Gelb PositionEntity Kugel1,0,4,0 ; "Oben" Kugel2 = CreateSphere() EntityType Kugel2,2 EntityRadius Kugel2,1.0 EntityColor Kugel2,0,255,255 ; Türkis PositionEntity Kugel2,0,-4,0 ; "Unten" Kamera = CreateCamera() PositionEntity Kamera,0,0,-10 Licht = CreateLight(1,Kamera) While Not KeyDown(1) If KeyDown(200) Then MoveEntity Kugel2,0,0.1,0 If KeyDown(208) Then MoveEntity Kugel2,0,-0.1,0 Collisions 2,1,1,1 ; Zu überprüfendertyp = 2, Zieltyp = 1 UpdateWorld : RenderWorld If CountCollisions(Kugel2) > 0 Then Text 0,00,"NX: " + CollisionNX#(Kugel2,1) ; Es kann nur eine Kollision statt- Text 0,10,"NY: " + CollisionNY#(Kugel2,1) ; finden, da nur Kugel1 zu überprüfen Text 0,20,"NZ: " + CollisionNZ#(Kugel2,1) ; ist Else Text 0,00,"Keine Kollision" EndIf Flip Wend Da Du bei CollisionNX, Y und Z das Entity angeben musst, weiss Blitz von welchen Entity er den Vektor aus berechnen soll. Übrigens ich habe mich oben etwas vertan. Auch bei der Kollision gibt es eine definierte Position die man mit CollisionX, Y und Z heraus bekommt. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay, das Prinzip ist mir jetzt einigermaßen klar -aber ich weiß noch nicht genau, ob es mir bei meinem Problem weiterhelfen kann (ich vermute es nur).
Ich habe nämlich folgendes Problem: ich möchte dort, wo ein Schuss auf eine Wand trifft (die Schüsse fliegen langsam, also nicht per Linepick oder so), ein Einschussloch plazieren. Weil es davon aber sehr viele geben soll, möchte ich keine Sprites benutzen, da jedes Sprite ein Surface benötigt, und ich die Anzahl der Surfaces aus Performancegründen so niedrig wie möglich halten möchte. Statt Sprites benutze ich also 'single surface quads', das heißt, ich habe anfangs ein leeres Mesh mit einem Surface, zu dem ich jedesmal, wenn ich ein Einschussloch brauche, ein Viereckiges Polygon (ein 'Quad') hinzufüge, das als Textur eben ein Einschussloch zeigt. Soweit klappt das auch -das Problem ist aber, dieses Quad, bzw. dessen vier Vertices richtig zu plazieren. Die Vertices sollten sich der Oberfläche des getroffenen Objekts anpassen (die auch schräg, oder bei einem Terrain hügelig sein kann), wobei gleichzeitig die SICHTBARE Seite des Polygons/Quads vom Objekt WEGSCHAUEN müsste, da das Quad ja sonst für den Betrachter unsichtbar ist. Ich weiß, das ist ein bisschen verzwickt ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dafür brauchst Du soetwas kompliziertes nicht machen. Speichere die
Einschüssen in einen Type und lösche sie nach eine gewissen Zeit (am besten langsam über EntityAlpha ausblenden lassen). So macht man es in Quake auch. Also platzierst Du die Sprites an CollisionX, Y und Z und drehst sie um VectorPitch und Yaw dessen Vektor Du aus CollisionNX, Y und Z bekommst. Wobei ich bei kleinen Geschossen keinen Grund sehe, Pick zu benutzen. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm einfach ein Quad Mesh (CopyEntity)
was du erstmal richtig ausrichtest mit Align to Vector , dann PositionMesh wo es auftrifft und dann zu deinem Master Quad Mesh hinzufügst und dann das Dummy Mesh wieder löscht . Mit anderen Worten , versuche es erstmal ohne deinem gesamt Mesh wo du die Löcher drin sammelst . |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Idee mit dem Dummy-Mesh ist eine gute Lösung (das mit dem langsamen Ausblenden funktioniert leider nur bei recht großen Levels, wo der Spieler das nicht so schnell merkt).
Das Ausrichten per AlignToVector würde schon mal das QuadMesh als Ganzes ausrichten, soweit ok. Dann gibt es aber noch dieses letzte Problem: Die einzelnen Vertices des QuadMeshes müßte man noch irgendwie dazu kriegen, sich auf die Oberfläche des Zielobjekts zu 'kleben', damit das Quad sich quasi wie ein Handtuch auf das Zielmesh legt und nicht übersteht (z.B. bei einer hügeligen Stelle oder einem Mauervorsprung). Wie könnte man das hinkriegen? Durch EntityPick() vielleicht? Aber wie gebe ich die Richtung an, in die jeder Punkt gePicked werden soll? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau Dir mal UT04 Demo an, die Einschusslöscher verschwinden nach ca. 4 Sekunden.
Andere Möglichkeit wäre die Einschusslöscher direkt in die Textur einzeichnen zu lassen, ne Art Tatoostudio, aber wie man dan wieder die Texelkoordinaten berechnet, ist ne andere Frage, zumal die Textur ja nicht gekachelt sein darf. Und wegen dem "Tucheffekt": Das geht nur via LinePick. 4 mal müsstest Du dann die virtuelle Linie an den Vertices positionieren, und anhand des Kollisionsvektors ausrichten. Mit PickedX, Y und Z richtest Du dann den jeweiligen Vektor aus. Da Linepick aber nicht gerade schnell ist, würde ich das nur bei deformierten Flächen anwenden. Also bei Wänden macht das ja keinen sinn, da das Mesh sowiso durch AlignToVector sich an die Wand anpasst. Solche kleinen Grafikfehler kann man bei Shootern wo es schnell zugeht verzeihen. Quake3 kümmert sich auch nicht um das Culling von den Einschusslöschern, sie stehen da auch machmal über. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Olli, das hilft mir sehr weiter -ich probiere das bis morgen. Eine Frage vielleicht noch: wie kann ich die Koordinaten der einzelnen Punkte im Dummy-Mesh dann denn Vertices in meinem Quad-Mesh übergeben (also quasi Punkt-Koordinaten von einem Mesh in ein anderes transferieren, wobei ja beide Meshes verschiedene Koordinaten haben können)? Geht das in der Reihenfolge:
1.VertexX/Y/Z im Dummy-Mesh abfragen 2.Jede dieser Koordinaten mit TFormPoint() global umrechnen 3.Und dann diese Koordinaten den Punkten im entgültigen Mesh zuordnen (und eventuell noch mal in Objekt-Koordinaten des neuen Meshes umrechnen)? Ist recht aufwendig -oder wäre das schon wieder komplizierter, als nötig? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
AddMesh source_mesh,dest_mesh | ||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Diesen Befehl kannte ich noch gar nicht -toll ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann man ganz leicht testen mit:
Code: [AUSKLAPPEN] Graphics3D 640,480,32,2 Primary = CreateCube() Secondary = CreateCube() DebugLog "Surfaces: " + CountSurfaces(Primary) AddMesh Secondary, Primary DebugLog "Surfaces: " + CountSurfaces(Primary) Du siehst Blitz legt im Primarymesh kein zusätzliches Surface an somit auch kein zusötzlichen Brush. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vertex hat Folgendes geschrieben: Und wegen dem "Tucheffekt": Das geht nur via LinePick. 4 mal müsstest
Du dann die virtuelle Linie an den Vertices positionieren, und anhand des Kollisionsvektors ausrichten. Mit PickedX, Y und Z richtest Du dann den jeweiligen Vektor aus. Vom Prinzip klar, aber ich finde nicht die entsprechenden Kommandos. Wie kann ich die 'virtuelle Pick-Linie' an einer Koordinate positionieren und dann EntityPick() mitteilen, in welche RICHTUNG es picken soll? Der Befehl empfängt ja nur zwei Parameter: EntityID und Reichweite. Wie aber bestimme ich 1.) den Startpunkt und 2.) die Richtung des Pickens? (sorry, wenn ich nerve, aber ich hantiere eben erst seit 'nem Monat mit B3D und die Online-Hilfe verdient diesen Namen leider kaum, da kaum ersichtlich ist, welche Befehle zusammengehören) ![]() Nachtrag: Ah, du meintest sicher LinePick() -hab's gerade gefunden... |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast jetzt den Vektor CollisionNX,Y und Z in den Variablen NX#, NY#
und NZ# gespeichert. Dann müssen die jeweiligen Vertexkoordinaten in Weltkoordinaten umgerechnet werden via TFormPoint. Also in der Art ; Lokale Koordinaten VX# = VertexX#(Surface, VertexID) VY# = VertexY#(Surface, VertexID) VZ# = VertexZ#(Surface, VertexID) ; Umrechnen in Weltkoordinaten TFormPoint VX#,VY#,VZ#,Schusslochmesh,0 ; Und die Koordinaten noch den Variablen zuweisen VX# = TFormedX#() VY# = TFormedY#() VZ# = TFormedZ#() Nun kannst Du die Werte an LinePick übergeben: Entity = LinePick(VX#,VY#,VZ#,NX#*10.0,NY#*10.0,NZ#*10.0) Die 10.0 steht für die Länge der virtuellen Linie die auf Pick geprüft werden soll. VertexCoord Surface, VertexID, PickedX#(), PickedY#(), PickedZ#() Damit positionierst Du die Vertices neu. Nun just ruckeling ![]() mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Argh! Es ist zum Haareraufen ![]() 1. Ein Dummy-Mesh erstellen, darin ein Quad-Polygon in der Standardgrösse 1x1 und an den Koordinaten 0,0,0 erstellen (die Vertices DIREKT an der Spriteposition zu erstellen, gelingt seltsamerweise nicht). 2. Das DummyMesh setze ich nun mit PositionEntity an die Position des Schuss-Sprites, das gerade mit dem Terrain kollidiert ist. 3. Das Dummy-Mesh mit AlignToVector nach dem Einschlagswinkel/-Richtung ausrichten. (Bis hierhin klappt das sogar!) 4. Jetzt alle Vertices des Dummy-Meshes durchlaufen und in Schussrichtung bzw. Einschlagsrichtung picken. (Klappt nicht -jetzt verschwinden die Vertices im Nirwana) 5. Das Dummy-Mesh in das Hauptmesh kopieren, in dem alle Quads sitzen. Dummy löschen. Hier der Code meiner Funktion bisher. Jedesmal, wenn ein Sprite-Geschoss irgendwo einschlägt, rufe ich diese Funktion auf, um dort ein Schussloch zu setzen. Die übergebenen Parameter sind das Sprite-Handle und die Größe des Schusslochs (Breite und Höhe): Code: [AUSKLAPPEN] Function CreateDecal%(Sprite%, scaleX#=1, scaleY#=1) ;DUMMY MESH ERZEUGEN DummyMesh = CreateMesh() DummySurf = CreateSurface(DummyMesh) ;POLYGON IN DUMMY-MESH ERZEUGEN v1% = AddVertex (DummySurf,-1, 1,0) v2% = AddVertex (DummySurf, 1, 1,0) v3% = AddVertex (DummySurf,-1,-1,0) v4% = AddVertex (DummySurf, 1,-1,0) t1% = AddTriangle(DummySurf,v1,v2,v3) t2% = AddTriangle(DummySurf,v2,v4,v3) ;DUMMY MESH SKALIEREN ScaleEntity DummyMesh,scaleX,scaleY,1 ;DUMMY MESH AN POSITION VON SPRITE SETZEN x# = EntityX(Sprite) y# = EntityY(Sprite) z# = EntityZ(Sprite) PositionEntity DummyMesh,x,y,z ;DUMMY MESH NACH EINSCHLAGRICHTUNG AUSRICHTEN AlignToVector DummyMesh,x,y,z,3 ;JEDEN PUNKT DES DUMMY MESHES IN SCHUSSRICHTUNG ;WEITERVERFOLGEN, BIS EIN OBJEKT IM WEG IST: ;(AM BESTEN VORHER NOCH EIN STÜCK ZURÜCKSETZEN) nx# = CollisionNX (Sprite,1) ny# = CollisionNY (Sprite,1) nz# = CollisionNZ (Sprite,1) For i = 0 To CountVertices(DummySurf)-1 vx# = VertexX(DummySurf,i) vy# = VertexX(DummySurf,i) vz# = VertexZ(DummySurf,i) TFormPoint vx,vy,vz,DummyMesh,0 vx=TFormedX() : vy=TFormedY() : vz=TFormedZ() LinePick(vx,vy,vz,nx*100.0,ny*100.0,nz*100.0) TFormPoint PickedX(),PickedY(),PickedZ(),0,DummyMesh vx=TFormedX() : vy=TFormedY() : vz=TFormedZ() VertexCoords DummySurf,i,vx,vy,vz Next ;JETZT DIE PUNKTE DES DUMMY MESHES IN DAS MESH ;KOPIEREN, IN DEM ALLE QUADS SITZEN AddMesh(DummyMesh,QuadMesh) FreeEntity DummyMesh End Function |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
x-pressive hat Folgendes geschrieben: ... Das DummyMesh setze ich nun mit PositionEntity an die Position des Schuss-Sprites Ich meinte PositionMesh ! Dabei werden die Vertices(Eckpunkte) verschoben . Bei PositionEntity verschiebst du nur den Ursprung und der ist ja bei deinem Sammelquadmesh immer 0,0,0 Bei AddMesh werden die Punkte also dran gehangen aber immer von der Objekt Achse , darum solltest du die Punkte verschieben wo sie in Wirklichkeit stehen . Also erst Dummymesh ausrichten , dann Mesh verschieben und dann zu dem Sammelquadmesh hinzufügen . |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
PositionMesh macht es leider noch schlimmer. Das alleine funktioniert zwar, allerdings nur ohne Ausrichten. Wenn ich dann noch (vorher oder nachher) versuche, das Dummy Mesh mit AlignToVector() am Kollisionswinkel des Sprites auszurichten, erscheint das Quad an den seltsamsten Stellen.
Bei obigem Code klappt ja das Erstellen und Ausrichten eines Quads an der richtigen Position schon mal. Nur das Picken und 'heften' der Quad-Vertices an die Oberfläche des getroffenen Objekts haut nicht hin. Das Problem sind sicher all die verschiedenen Koordinatensysteme, zwischen denen man hin- und herhüpfen muß. Irgendwo gibt es da einen Murks. Ich habe schon alle möglichen Kombinationen ausprobiert, aber es ist immer das selbe: das Erstellen und Verschieben/Ausrichten des Quads an die Sprite-Position klappt (allerdings nur so wie in obigen Code), aber das Picken bzw. korrekte Versetzen der Quad-Vertices an die gepickten Koordinaten klappt nicht. Mein Kopf dampft inzwischen, wie ein Teekessel... ![]() Hier mal ein Screenshot -nachdem die Kanone also einen Schuss abgefuert hat und dieser irgendwo z.B. das Terrain getroffen hat, sollte dort ein Einschussloch sein. Das Erstellen eines Quads an der Stelle, auch im richtigen Winkel, funktioniert mit obigem Code (siehe Bild). Jetzt müsste man nur noch folgendes schaffen: 1. Das Quad ein bisschen in die Richtung des Schusses ZURÜCKsetzen, damit keiner der Vertices im Zielobjekt verschwindet. 2. Dann mit jedem der Vertices wieder ein Stück VORsetzen, um den jeweiligen Punkt auf das Objekt zu 'heften' (mit LinePick?!) 3. Die vier Vertices dann in das Master Mesh kopieren. ![]() Kann es sein, das in obigem Code vielleicht einfach nur in die falsche Richtung gepickt wird? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
mach das erstmal mit CameraPick und PickedNX NY NZ und PickedX Y Z , vieleicht haste auch nur dein Quadmesh falsch erstellt und wird desshalb falsch ausgerichtet . Dazu kannste auch nach Renderworld eine 3D Linie zeichnen . Die Ausrichtung immer vor dem verschieben der Vertices an die richtige Stelle ! NormalShowAll kannste nach RenderWorld aufrufen , in der Funk. ist die länge der Normale auf 50 was bei mir 50 cm sind ! Das habe ich mal gemacht um die Normalen zu sehen . Code: [AUSKLAPPEN] ;################################################################################################### .Normals Type NormalType Field x# Field y# Field z# Field nx# Field ny# Field nz# End Type Global Normal.NormalType ;################################################################################################### ;################################################################################################### Function NormalNew(x#,y#,z#,nx#,ny#,nz#) ;------------------------------------- ;begrenzen auf xx , wenn mehr dann die ersten löschen Local c For Normal.NormalType =Each NormalType c=c+1 If c=100 Then Delete First NormalType Exit EndIf Next ;------------------------------------- Normal.NormalType =New NormalType Normal\x=x Normal\y=y Normal\z=z Normal\nx=nx Normal\ny=ny Normal\nz=nz End Function ;################################################################################################### Function NormalShowAll() Color 255,255,0 For Normal.NormalType =Each NormalType NormalShow Normal,50 Next End Function ;################################################################################################### Function NormalShow(N.NormalType,l#) ;MR 06.10.2003 ;cam ist Global und das Handle der Camera Local x1,y1 Local x2,y2 CameraProject cam,n\x,n\y,n\z x1=ProjectedX() y1=ProjectedY() CameraProject cam,n\x+n\nx*l,n\y+n\ny*l,n\z+n\nz*l x2=ProjectedX() y2=ProjectedY() Rect x1-2,y1-2,4,4 mLineClip x1,y1,x2,y2 End Function ;################################################################################################### Function mLineClip(x1,y1,x2,y2) ;Wegen CameraProjected XYZ zu XY nur Linien malen die auch im Screen sind ! If x1=>0 And y1=>0 And x2=>0 And y2=>0 Then If x1<GraphicsWidth() And y1<GraphicsHeight() And x2<GraphicsWidth() And y2<GraphicsHeight() Then Line x1,y1,x2,y2 EndIf EndIf End Function |
||
![]() |
Shodan |
![]() Antworten mit Zitat ![]() |
---|---|---|
zu deinem Problem mit PositionMesh ist zu sagen, das du das DummyMesh ebenfalls mit RotateMesh ausrichten must, nicht mit AlignToVector, sonst hast du dasselbe Problem wie zw. PositionEntity und PositionMesh
Also: -Kollisionsposition un Ausrichtung ermitteln -DummyMesh mit RotateMesh ausrichten -dann mit PositionMesh positionieren -zu QuadMesh hinzufügen zu deinem anderen Prob hab leider auch keine Lösung. Bei mir hab ich Sprites verwendet, die allmählich ausgeblendet werden. ![]() ich hoffe ich war hilfreich |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group