MP3D Alpha 32
-
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: MP3D Alpha 18 Lib zu Weihnachten
Hallo, kann man denn den Nullpunkt verschieben , für eine neue Reaktion?
Die Parent/Kind ist glaube ich , ein wichtiger Bestandteil um sich ein wenig von den nicht leicht erstellbaren Anim-Figuren zu trennen. Weiterhin hin ist eine Animation die vorgegeben ist nur Sinnvoll für Gehbewegungen .
Um eine Freibeweglichkeit kommt man nicht herum, wenn es Steuerbar sein sollen die in jede Position etwas erreichen sollen.
Die anderen 3d-Enginen habe das aufgenommen, wie auch "n3xtd", "Blitz3d", "Ogre" in Purebasic ein bisschen spät, "irrlicht".
Vielleicht kommt es noch rein.
Gruss
Die Parent/Kind ist glaube ich , ein wichtiger Bestandteil um sich ein wenig von den nicht leicht erstellbaren Anim-Figuren zu trennen. Weiterhin hin ist eine Animation die vorgegeben ist nur Sinnvoll für Gehbewegungen .
Um eine Freibeweglichkeit kommt man nicht herum, wenn es Steuerbar sein sollen die in jede Position etwas erreichen sollen.
Die anderen 3d-Enginen habe das aufgenommen, wie auch "n3xtd", "Blitz3d", "Ogre" in Purebasic ein bisschen spät, "irrlicht".
Vielleicht kommt es noch rein.
Gruss
Zuletzt geändert von super_castle am 27.12.2009 15:23, insgesamt 2-mal geändert.
-
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: MP3D Alpha 18 Lib zu Weihnachten
eine Mesh direkt laden kann
Also kann man jetzt eine "x-Datei" direkt laden.
Klasse, hatte ich noch garnicht getestet.
Gruss
Also kann man jetzt eine "x-Datei" direkt laden.
Klasse, hatte ich noch garnicht getestet.
Gruss
-
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: MP3D Alpha 18 Lib zu Weihnachten
Wie kann man vom 3d-Screen ein Foto/Image herstellen evtl für ein weiteres Sprite?
Gruss
Gruss
- mpz
- Beiträge: 497
- Registriert: 14.06.2005 15:53
- Computerausstattung: Win 10 Pro, 16 GB Ram, Intel I5 CPU und TI1070 Grafikkarte, PB 5.73 / 6.00 beta4
- Wohnort: Berlin, Tempelhof
Re: MP3D Alpha 18 Lib zu Weihnachten
Hi super_castle,
Parent/Kind ist ein schönes Konzept was durchaus seinen Sinn macht. Da ich aber in all den Jahren diese Funktion (z.B. Blitz3D) nie benutzt habe, habe ich bisher noch keine Resourcen (Freizeit) darein gesteckt. Ich gehe immer direkt an die Vertexe und kann daher jeden Bereich individuell verändern.
Laden von Meshs ist wichtig, aber bei mir kann man diese Meshs sogar verändern (z.B. MP_AddMesh, MP_PositionMesh und MP_VertexSetX/Y/Z ) und danach wieder speichern.
In den Demos findes Du eine Demo MP_ScreenshotToTexture.pb welches aus einem 3D Screen eine Textur erzeugt
http://www.W-Bilder.de/preview.php?file ... 802a9c.bmp
Normalerweise benutzt man dazu ein Rendertarget. Bei meinem Demo habe ich getrickts. Das Erstellen von Rendertargets um z.B. mehrere 3D Screens auf einem Fenster zu erstellen ist aber Bestandteil des nächsten Updates.
Gruß Michael
Parent/Kind ist ein schönes Konzept was durchaus seinen Sinn macht. Da ich aber in all den Jahren diese Funktion (z.B. Blitz3D) nie benutzt habe, habe ich bisher noch keine Resourcen (Freizeit) darein gesteckt. Ich gehe immer direkt an die Vertexe und kann daher jeden Bereich individuell verändern.
Laden von Meshs ist wichtig, aber bei mir kann man diese Meshs sogar verändern (z.B. MP_AddMesh, MP_PositionMesh und MP_VertexSetX/Y/Z ) und danach wieder speichern.
In den Demos findes Du eine Demo MP_ScreenshotToTexture.pb welches aus einem 3D Screen eine Textur erzeugt
http://www.W-Bilder.de/preview.php?file ... 802a9c.bmp
Normalerweise benutzt man dazu ein Rendertarget. Bei meinem Demo habe ich getrickts. Das Erstellen von Rendertargets um z.B. mehrere 3D Screens auf einem Fenster zu erstellen ist aber Bestandteil des nächsten Updates.
Gruß Michael
Working on - MP3D Engine -
-
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: MP3D Alpha 18 Lib zu Weihnachten
Kannst du mir mit deiner Meshveränderung mal kurz erklären, wenn ich 2 Würfel nebeneinander habe mit welchen Trick ich den oberen drehen kann um die Achsen und wenn der untere bewegt wird, das der obere in seine Stellung mitkommt.
Danke.
Gruss
Danke.
Gruss
-
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: MP3D Alpha 18 Lib zu Weihnachten
Beim "MP_Box Box kollision.pb" tritt ein grober Überschneidungsfehler auf,
das heisst, der Würfel schneidet in die rechteckige Stange bis zu 1/8.
Wo kann man hier ein Bildschirmfoto vom Fehler reinstellen?
Gruss
das heisst, der Würfel schneidet in die rechteckige Stange bis zu 1/8.
Wo kann man hier ein Bildschirmfoto vom Fehler reinstellen?
Gruss
-
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: MP3D Alpha 18 Lib zu Weihnachten
In den Demos findes Du eine Demo MP_ScreenshotToTexture.pb
Besser wäre ein Foto vom Backbuffer.
Gruss
Besser wäre ein Foto vom Backbuffer.
Gruss
- mpz
- Beiträge: 497
- Registriert: 14.06.2005 15:53
- Computerausstattung: Win 10 Pro, 16 GB Ram, Intel I5 CPU und TI1070 Grafikkarte, PB 5.73 / 6.00 beta4
- Wohnort: Berlin, Tempelhof
Re: MP3D Alpha 18 Lib zu Weihnachten
Ja wenn 3D so leicht wäre könnte jeder mal kurz seine Engine selber schreiben...
Meshveränderung:
Um dein Wunsch sinnvoll unzusetzen muss man wirklich ein Parent - kid zusammenhang erstellen. Man müsste sonst die Positionen der 8 Ecken des zweiten Meshs im Raum neu berechnen um die Vertexpunkte verändern. Das ist wirklich zu kompliziert. Ich kann mir aber ansehen ob ein Parent - kid für Meshs in Zukunft machbar ist...
MP_Box Box kollision.pb
Es gibt verschieden Arten der Kollisionserkennungsalgorythmen. Diese muss man aber bei DX9 selber "erfinden" und schreiben. Ich habe darüber einiges gelesen und haben mich der einfachhalber für eine Punkt in Box Überprüfung entschieden. Es werden damit 8 Punkte des einen Würfels mit dem anderen Würfel überprüft und umgekehrt. Bei dieser Art der Überprüfung kommt es zu dem teilweisen Überschneidungen an "ungünstigen" Positionen. Sollte jemand einen besseren Algorythmus haben baue ich den gerne ein...
MP_ScreenshotToTexture
Bei DX9 gibt es keinen "Backbuffer". Man muss die gleiche Renderschleife die für den 3D Screen gedacht ist auf eine anderes RenderTarget umstellen, z.B. eine Textur die speziell vorbereitet wurde.
Gruß Michael
Meshveränderung:
Um dein Wunsch sinnvoll unzusetzen muss man wirklich ein Parent - kid zusammenhang erstellen. Man müsste sonst die Positionen der 8 Ecken des zweiten Meshs im Raum neu berechnen um die Vertexpunkte verändern. Das ist wirklich zu kompliziert. Ich kann mir aber ansehen ob ein Parent - kid für Meshs in Zukunft machbar ist...
MP_Box Box kollision.pb
Es gibt verschieden Arten der Kollisionserkennungsalgorythmen. Diese muss man aber bei DX9 selber "erfinden" und schreiben. Ich habe darüber einiges gelesen und haben mich der einfachhalber für eine Punkt in Box Überprüfung entschieden. Es werden damit 8 Punkte des einen Würfels mit dem anderen Würfel überprüft und umgekehrt. Bei dieser Art der Überprüfung kommt es zu dem teilweisen Überschneidungen an "ungünstigen" Positionen. Sollte jemand einen besseren Algorythmus haben baue ich den gerne ein...
MP_ScreenshotToTexture
Bei DX9 gibt es keinen "Backbuffer". Man muss die gleiche Renderschleife die für den 3D Screen gedacht ist auf eine anderes RenderTarget umstellen, z.B. eine Textur die speziell vorbereitet wurde.
Gruß Michael
Working on - MP3D Engine -
-
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: MP3D Alpha 18 Lib zu Weihnachten
Jup, danke für deine Info.
Gruss
Gruss
- mpz
- Beiträge: 497
- Registriert: 14.06.2005 15:53
- Computerausstattung: Win 10 Pro, 16 GB Ram, Intel I5 CPU und TI1070 Grafikkarte, PB 5.73 / 6.00 beta4
- Wohnort: Berlin, Tempelhof
Re: MP3D Alpha 18 Lib zu Weihnachten
Hi super_castle,
ich glaube die Parent - kid Struktur ist einfacher als gedacht. Ich habe hier mal eine kleine Testdatei gemacht wo es einen Planeten, Mond und Satelliten gibt. Der Satellit ist abhängig vom Mond und der Mond abhängig von Planet. Im nächten Update wird daher der Befehl
MP_MeshSetParent (Entity, Parent) ; Setzt für eine Entity ein Parent
integriert:
Gruß Michael
http://em.q-soft.ch/files/get/UOvOh0Omo ... etmond.exe
Demo Parent Kid
ich glaube die Parent - kid Struktur ist einfacher als gedacht. Ich habe hier mal eine kleine Testdatei gemacht wo es einen Planeten, Mond und Satelliten gibt. Der Satellit ist abhängig vom Mond und der Mond abhängig von Planet. Im nächten Update wird daher der Befehl
MP_MeshSetParent (Entity, Parent) ; Setzt für eine Entity ein Parent
integriert:
Gruß Michael
http://em.q-soft.ch/files/get/UOvOh0Omo ... etmond.exe
Demo Parent Kid
Code: Alles auswählen
MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster mit 3D Funktion #Window = 0
SetWindowTitle(0, "3D Darstellung eines Planeten") ; Setzt einen Fensternamen
camera=MP_CreateCamera() ; Kamera erstellen
light=MP_CreateLight(1) ; Es werde Licht
Mesh = MP_CreateSphere(16) ; Und jetzt eine Kugel
Mesh2 = MP_CreateSphere(16)
Mesh3 = MP_CreateSphere(16)
If CreateImage(0, 255, 255) ; Etwas Farbe selber erzeugen
MP_CreateImageColored(0,0,RGB($00,$F0,$00),RGB($00,$F0,$00),RGB($00,$00,$FF),RGB($00,$00,$ff)) ;
MP_EntitySetTexture (mesh, MP_ImageToTexture(0))
MP_CreateImageColored(0,0,RGB($F0,$00,$00),RGB($F0,$00,$00),RGB($00,$FF,$FF),RGB($00,$FF,$FF)) ;
MP_EntitySetTexture (mesh2, MP_ImageToTexture(0))
MP_CreateImageColored(0,0,RGB($00,$00,$F0),RGB($00,$00,$F0),RGB($FF,$00,$00),RGB($FF,$00,$00)) ;
MP_EntitySetTexture (mesh3, MP_ImageToTexture(0))
FreeImage(0)
EndIf
MP_PositionEntity (Mesh,0,0,4) ; Position des Planeten
MP_PositionEntity (Mesh2,0,0,2) ; Position des Mondes
MP_ScaleEntity (Mesh2, 0.2, 0.2, 0.2 )
MP_PositionEntity (Mesh3,0,0,0.5) ; Position des Sateliten
MP_ScaleEntity (Mesh3, 0.1, 0.1, 0.1 )
MP_MeshSetParent(Mesh2,Mesh) ; Mond abhängig vom Planet
MP_MeshSetParent(Mesh3,Mesh2) ; Satellit abhängig vom Mond
While Not MP_KeyDown(#PB_Key_Escape) And Not MP_WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
MP_TurnEntity (Mesh,0.5,0,0) ; dreh den Planeten
MP_TurnEntity (Mesh2,2,0,0) ; dreh den Mond
MP_RenderWorld() ; Erstelle die Welt
MP_Flip () ; Stelle Sie dar
Wend
Working on - MP3D Engine -