Surface erstellen und texturieren
Übersicht

BonkersBetreff: Surface erstellen und texturieren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich erzeuge ein Mesh aus gegebenen Punkten, die in einem Feld hinterlegt sind.
Soweit klappt das auch ganz gut, aber beim der Textur klappt es dann nicht mehr: Die Textur erscheint auf jedem "Abschnitt" der Surface, anstelle auf dem gesamten Mesh. Die If-Then verschachtelung ist notwendig um die richtigen Texturkoordinaten festzulegen. Frage: Wo sitzt der Wurm? [syntax="bb"] mesh=CreateMesh() surface=CreateSurface(mesh) Texture=LoadTexture("strasse.bmp") ;Vertexpunkte erzeugen For i=0 To anzahl-1 If i=0 Then vertex(i,0) =AddVertex(surface, MeshVert(i,0), koord(i,1), MeshVert(i,1),0,0) vertex(i,1) =AddVertex(surface, MeshVert(i,2), koord(i,1), MeshVert(i,3),1,0) vertex(i+1,0)=AddVertex(surface, MeshVert(i,4), koord(i+1,1),MeshVert(i,5),1,1) vertex(i+1,1)=AddVertex(surface, MeshVert(i,6), koord(i+1,1),MeshVert(i,7),0,1) AddTriangle(surface, vertex(i,0), vertex(i+1,0), vertex(i,1)) AddTriangle(surface, vertex(i,0), vertex(i+1,1), vertex(i+1,0)) Else If Not ( i Mod 2 ) Then vertex(i+1,0)=AddVertex(surface,MeshVert(i,4),koord(i+1,1),MeshVert(i,5),1,1) vertex(i+1,1)=AddVertex(surface,MeshVert(i,6),koord(i+1,1),MeshVert(i,7),0,1) Else vertex(i+1,0)=AddVertex(surface,MeshVert(i,4),koord(i+1,1),MeshVert(i,5),1,0) vertex(i+1,1)=AddVertex(surface,MeshVert(i,6),koord(i+1,1),MeshVert(i,7),0,0) End If AddTriangle(surface, vertex(i+1,0), vertex(i,0), vertex(i+1,1)) AddTriangle(surface, vertex(i,0), vertex(i,1), vertex(i+1,1)) EndIf Next UpdateNormals mesh EntityTexture mesh,texture[/syntax] PS: Warum klappt der BB-Code nicht? |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
UV ist nix anderes als XY
wobei 0,0 links oben ist und 1,1 rechts unten (wenn du dir die Surface von vorne vorstellst) . Also mußte das richtig ausrechnen und dann sollte die Texture dein ganzes Objekt bedecken . |
||
Bonkers |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein...die Koordinaten scheinen zu stimmen... denke ich mal, denn sonst würde ja die Textur verzerrt erscheinen.
Ich habe mal ein paar Screenshots gemacht: ![]() ![]() Die Textur landet jeweils auf je zwei Surfaces. Und zwar genau auf denen, die ich in AddTriangle festlege und nicht auf dem gesamten Mesh. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group