Auslesen von Vertexe einer BBSphere
Übersicht

HyDr0xBetreff: Auslesen von Vertexe einer BBSphere |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Ich versuche alle Vertexe einer BlitzBasic Sphere auszulesen um an die globalen Vertexkoordinaten zu kommen. Bei einem BBCube klappte das schon ganz gut, bei einer Sphere ists ne Katastrophe (liegt wohl an der Komplexität der Sphere gegenüber nem Cube). Folgende Funktion verwende ich dabei: obj[0] ist dabei die EntityID Code: [AUSKLAPPEN] surcount=CountSurfaces(obj[0]) For sur=1 To surcount surface=GetSurface(obj[0],sur) tricount=CountTriangles(surface) For tr=0 To tricount-1 Dim vector(2,2) v[0]=TriangleVertex(surface,tr,0) v[1]=TriangleVertex(surface,tr,1) v[2]=TriangleVertex(surface,tr,2) For k=0 To 2 TFormPoint(VertexX(surface,v[k]),VertexY(surface,v[k]),VertexZ(surface,v[k]),obj[0],0) vector(k,0)=TFormedX() vector(k,1)=TFormedY() vector(k,2)=TFormedZ() Next Next Next EDIT: Ich hab mir mal die Vertexkoordinaten im debugger angeschaut, da ist mir aufgefallen, dass die bis zum ca. 15. Triangle vollkommen identisch sind. Danach eiern sie immer an der selben Stelle rum. Mal bei (-1/1-20) dann wieder (1/1/20) dann (1/1/19) wieder (1/1/20) usw. dabai müssten die sich doch mal vom Fleck bewegen ... |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics3D 800,600,0,2 ;sorry ist angewohnheit ;)
SetBuffer BackBuffer() sphere = CreateSphere(32);Tiefe SurfC = CountSurfaces(sphere) For SurfA = 1 To SurfC Surf = GetSurface(sphere, SurfA) VertC = CountVertices(Surf) For VertA = 0 To VertC-1 DebugLog VertA + "|" + VertexX(Surf, VertA)+"/"+VertexY(Surf, VertA)+"/"+VertexZ(Surf, VertA) Next Next WaitKey() End Dein Problem ist: Du benutzt keine Floats. Somit speichert er alles in Integer ab(keine kommazahlen) |
||
Warbseite |
HyDr0x |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah, thx! Ja das wars xD. Muss mich erstma wieder an BB gewöhnen. Dadurch das ich den Variablen keinen Typ zuordnen muss wie float x oder int y vergess ich unheimlich schnell das zu tun wenns drauf ankommt ![]() EDIT: hat sich erledigt xD |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group