"Picked triangle" kopieren?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

shootermaker

Betreff: "Picked triangle" kopieren?

BeitragDi, Feb 10, 2009 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es eine möglichkeit/einen Befehl ein gepicktes triangle zu kopieren?

hab nichts dergleichen gefunden...

DAK

BeitragDi, Feb 10, 2009 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
hier hast du eine:

Code: [AUSKLAPPEN]
Graphics3D 640, 480, 16, 2
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
PositionEntity camera, 0, 0, - 5
RotateEntity light, 90, 0, 0

brush = CreateBrush(0, 255, 0)
mesh = CreateMesh()
surface = CreateSurface(mesh, brush)
v0 = AddVertex(surface, 0, 0, 0)
v1 = AddVertex(surface, 1, - 1, 0)
v2 = AddVertex(surface, - 1, - 1, 0)
tri = AddTriangle(surface, v0, v1, v2)
UpdateNormals mesh
nmesh = CreateMesh()
CreateSurface(nmesh)
CopyTriangle(mesh, 1, 1, nmesh)
MoveEntity nmesh, 1, 0, 0

While Not KeyHit(1)
   RenderWorld
   Flip
Wend
End

Function CopyTriangle(sourcemesh, sourcesurface, id, targetmesh, targetsurface=1)
   surface = GetSurface(targetmesh, targetsurface)
   sourcesurface = GetSurface(sourcemesh, sourcesurface)
   Local vertex[3]
   For i = 0 To 2
      tri = TriangleVertex(sourcesurface, id, i)
      x = VertexX(sourcesurface, i)
      y = VertexY(sourcesurface, i)
      z = VertexZ(sourcesurface, i)
      vertex[i] = AddVertex(surface, x, y, z)
   Next
   Return AddTriangle(surface,vertex[0],vertex[1],vertex[2])
End Function


grad frisch geschrieben...
falls was unklar is, einfach nach fragen
Gewinner der 6. und der 68. BlitzCodeCompo
 

shootermaker

BeitragDi, Feb 10, 2009 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo und danke für deine Antwort Smile
Das ist leider nicht das was ich wollte... mir geht es darum bei einem entity, z.b. ein Menschenmodell das per loadmesh geladen wurde zu picken.

Soll heißen ich lade das model mit loadmesh und frag dan später ab welches triangle ich mit der maus am model gepicked habe. so weit so gut. aber wie kann ich das gepickte triangle vom Model kopieren?

DAK

BeitragDi, Feb 10, 2009 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
indem du meine funktion verwendest...

Code: [AUSKLAPPEN]
;pick, usw...
mesh = PickedEntity()
surface = PickedSurface()
tri = PickedTriangle()

targetmesh = CreateMesh()
targetsurface = CreateSurface(targetmesh)

CopyTriangle(mesh, surface, tri, targetmesh, targetsurface)


ein bisschen mitdenken wird ma von dir wohl noch verlangen können, oder?
Gewinner der 6. und der 68. BlitzCodeCompo
 

shootermaker

BeitragDi, Feb 10, 2009 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
lol, hate die lösung vor der Nase und hab sie nicht gesehen... tschuldigung! Embarassed

hab aber jetzt noch das problem, wenn ich das entity anpicke, das er mir eine "surface index out of range"-fehlermeldung anzeigt. und zwar bei:

surface = GetSurface(targetmesh, targetsurface)

eine Idee warum?



EDIT: Habs hinbekommen. Danke DAK und Goodjee Smile
  • Zuletzt bearbeitet von shootermaker am Mi, Feb 11, 2009 16:22, insgesamt einmal bearbeitet

Goodjee

BeitragDi, Feb 10, 2009 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
was übergibst du denn als targetsurface?
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group