Meshes verbinden

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Meshes verbinden

Beitrag von ProgOldie »

Ich habe das Verbinden von Meshes zu einem einzigen Mesh überhaupt nicht kapiert und brauche Hilfe.
Als Beispiel will ich auf einem Würfel, der im Koordinatenursprung liegt, in der Mitte der Oberseite eine Kugel platzieren. Anschließend soll das Ganze als Einheit ansprechbar sein.

Code: Alles auswählen

#Wuerfel=1
#Kugel=2
CreateCube(#Wuerfel,10)
CreateSphere(#Kugel,5)
Ich verstehe nicht, wie man das macht (MeshvertexPosition?).
Oder muss man erst eine Art leeres Mesh erzeugen und daran den Würfel und die Kugel hängen? Aber wie geht das?
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Re: Meshes verbinden

Beitrag von man-in-black »

Hi,

wie weit man Meshes zu einem Mesh in PB kombinieren kann,
weiß ich gerade nicht. Aber wenn es dir nur um die Position geht,
verhält es sich wie bereits vermutet:
Du erstellst einen Container. Alles darin wird immer relativ mitbewegt.
'Leeres Mesh' = Node ;)

MFG
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Re: Meshes verbinden

Beitrag von ProgOldie »

Mmh,
kannst du das bitte etwas genauer erläutern?
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Re: Meshes verbinden

Beitrag von man-in-black »

Hi,

klar, ich saß vorhin nur noch im Zug und wollte mir die Finger nicht brechen. ;)

Node's sind in PB Container, denen man einzelne Meshs/Entities anheften kann (AttachNodeObject()).
Mit MoveNode() und ähnlichen Befehlen kann man dann das ganze Konstrukt steuern. (s. Hilfe/3D - Node)
MoveEntity() dürfte nach wie vor noch für die Einzelelemente gelten (sofern man mal nicht alles bewegen will).

Solltest du wirklich alles in ein Mesh quetschen wollen, würde ich vielleicht wie folgt vorgehen:

Code: Alles auswählen

CreateCone(#cone)     ;Parameter sind nat. anders!!!
coneData = GetMeshData(#cone)
CreateCone(#cone2)
coneData2 = GetMeshData(#cone2)

CreateMesh(#final)
CreateSubMesh(#final,#subCone)
SetMeshData(#subCone,coneData)
CreateSubMesh(#final,#subCone2)
SetMeshData(#subCone2,coneData)

FreeMesh(#cone)
FreeMesh(#cone2)
Damit habe ich jedoch selbst nie rumgespielt. Der Pseudocode spiegelt nur mein Verständis beim Lesen der Hilfe wieder. ;)

MFG
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Antworten