Analyse der Mesh-Struktur von ??? |
Hallo Zusammen, ich weiß nicht, ob es jemanden etwas nützt, aber ich habe einen kurzen Code zur Analyse eines geladenen Meshes geschrieben, um zu der Erkenntnis zu kommen, dass die Joints einer Animation als Child-Objekte in B3D dargestellt werden. Das finde ich eine tolle Sache, denn dann kann man auch einem Spieler eine Waffe an die Hand geben... :) Hier der Code: [code:1:8642d05e99]Graphics3D 640,400,16,2 Global depth% = 0 Global totalcnt% = 1 SeparatorLine() Print "*** MESH-ANALYSER - V1.0 by Christian Sauer, Germany ***" SeparatorLine() tpath$ = Input("Local Mesh-Path:") If FileExists(tpath$) Then ;test = LoadAnimMesh("Ressourcesplayer0.b3d") tmesh = LoadAnimMesh(tpath$) SeparatorLine() Print "Entity-Name:"+EntityName(tmesh)+ " (Path:"+tpath$+")" ShowChilds(tmesh) Print "Total-Count:"+totalcnt% Else Print "File does not exist." End If SeparatorLine() Print "Press any key to exit." WaitKey Function ShowChilds(entity) depth% = depth% + 1 For i=1 To CountChildren(entity) tchild = GetChild(entity,i) tchildcnt% = CountChildren(tchild) totalcnt% = totalcnt% + tchildcnt% For n% = 0 To depth%-1 tspace$ = tspace$ + " " Next Print tspace$ + "-NAME("+i+"): "+EntityName(tchild) + " (Parent:" + EntityName(entity) + ", Childs:" + tchildcnt% + ")" If tchildcnt% > 0 Then ShowChilds(tchild) Next depth% = depth% - 1 If depth% < 1 Then depth% = 1 End Function Function FileExists(Filepath$) If FileSize(Filepath$) > 0 Then Return True Else Return False End Function Function SeparatorLine() Print "********************************************************************" End Function[/code:1:8642d05e99] Anregungen oder Kritik gegenüber bin ich selbstverständlich aufgeschlossen. Viele Grüße Christian |