Hat es schon jemand geschaft?
Übersicht

![]() |
BenibaerenstarkBetreff: Hat es schon jemand geschaft? |
![]() Antworten mit Zitat ![]() |
---|---|---|
...ein Bone-animiertes Modell in B3D in "echtzeit" zu beeinflussen?
was ich zum Beispiel meine: ![]() wobei bei den Beinen (blaue Joints) eine Laufanimation abspielt wird, die roten Joints steuerbar sind (Zielen, rauf-runter), und die schwarze Hülle aus einem Mesh, also aus einem Gittermodell besteht. mfg beni |
||
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu |
![]() |
SoNenTyp |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weis jetzt nicht genau ob das was du willst geht, aber ich schätze schon.
Man könnte auber auch zwei Meshs (richtig geschrieben?) nehmen. Das unter Läuft und das obere Dreht sich einfach nur. |
||
Gruss Der Typ.
User posted image |
![]() |
Benibaerenstark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, in professionellen spielen lässt sich die Spielfigur fast immer auf diese weise steuern. Die Frage ist, ob dies in Blitz3D überhaupt möglich ist. Oder kennt jemand B3D-Games, bei welchen dies verwirklicht wurde? Oder werden gar in professionellen Spielen zwei Meshes verwendet?
Das Problem bei der Verwendung von 2Meshes (oder mehr) ist doch, dass es nicht mehr eine Oberfläche ist, sondern dass Lücken entstehen... mfg beni |
||
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
SoNenTyp hat Folgendes geschrieben: Ich weis jetzt nicht genau ob das was du willst geht, aber ich schätze schon.
Man könnte auber auch zwei Meshs (richtig geschrieben?) nehmen. Das unter Läuft und das obere Dreht sich einfach nur. Diese Technik + Keyframe Animation ist sowas von alt... Quake3 hat sie noch verwendet. @topic: Bin mir nich sicher, aber ich glaube mal gehört zu haben das du die Joints als Entities ansprechen kannst... Wenn dem so wäre müsstest du sie auch Rotieren und Verschieben können. Aber Achtung: nicht die Elternabhängigkeit vergessen! ![]() grüße |
||
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
Benibaerenstark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es stimmt, was david gesagt hat, man kann die Bones per Findchild suchen, kann auch ihre (globale) Position abfragen, aber wenn man sie versucht zu drehen/zu bewegen dann "zittert" der Bone immer zwischen der von mir erzwungenen Position und der Position, die er in der Animationskette eingenommen hat in und her.( ich hoffe ihr versteht was ich meine)
lösungsansätze? mfg beni |
||
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn du das mesh animierst, keyframes für diese bones gesetzt sind und updateworld verwendest, dann wird deine veränderung beim updateworld in richtung des anstehenden keyframes wieder zur normalen animation zurückgezwungen... | ||
MrKeks.net |
Raitsun |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
entsprechende Steuerbare Bones im Animationstool nicht animieren.
Oder aber du benutzt folgende Reihenfolge: - animationen werden gespielt... - updateworld - steuerbare bones werden rotiert, bla... - renderworld |
||
Signatur? SIGNATUR?!
Signatur gibt es nicht! Es hat nie eine Signatur gegeben! Signatur ist eine LÜGE! |
![]() |
Benibaerenstark |
![]() Antworten mit Zitat ![]() |
---|---|---|
leider hat es keinen Einfluss, ob die Bones animert waren oder nicht, sie werden einfach an ihren Platz in der Gesamthirarchie gezwungen.
Dein zweiter Vorschlag ist eher erfolgsversprechend, werde ihn einmal testen... |
||
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu |
![]() |
skatanist |
![]() Antworten mit Zitat ![]() |
---|---|---|
ahoi,
sowas hab ich schonmal gemacht (und ich bin nicht grad der b3d profi). ich habs so gelöst: Beine als Laufani ganz normal im 3d prog animiert, und die auch so in b3d abgespielt. Soweit so gut. Dann die bones die für das Aurichten des Arms/Oberkörpers nötig sind rausgefischt, und "live" in Blitz bewegt (mit rotateentity). Musst da ein bisschn mit rumprobieren, damit zB der Oberkörper erst ab einem bestimten winkel gedreht wird, ansonsten nur schulter/arm...umso mehr arbeit du reinsteckst, umso besser siehts am ende aus. Ist für mich die beste methode, und auch von laien verwirklichbar. Fals jemand ne bessere methode für flexible Bonesanimationen kennt, bitte mitteilen. Danke. ![]() |
||
![]() |
Benibaerenstark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit dem folgeden Modell und dem Code hat es geklappt. Das wichtige ist, dass die Bones erst nach dem Updateworld-Befehl gedreht werden.
Allerdings hat dies zur Folge, dass auch die Kollisionen vorher (bei Updateworld) überprüft werden und somit nicht mehr stimmen. ->Hat jemand einen Lösungsvorschlag? Versuche mit dem 3ds Vormat haben nicht geklappt.->Lösungsvorschläge? ![]() Modell (In Milkshape erstellt, als b3d exportiert): http://home.tiscalinet.ch/bene.../Linus.b3d Code: BlitzBasic: [AUSKLAPPEN] Graphics3D 1024,768,32,1 |
||
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu |
- Zuletzt bearbeitet von Benibaerenstark am So, Nov 20, 2005 14:36, insgesamt 3-mal bearbeitet
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Moin!
Ich denke, dein code wäre schneller, wenn man die Kugeln als Perant der Bones setzten würde, dazu müsste man dann allerdings entweder die Schleife weglessen, und die Spheres gleich jedem Bone als Child zuteilen, (müsste doch gehen, oder?) oder die Bones in ein Dim-Feld stecken und dann halt nur per nummer aufrufen lassen... Dann könnte man auch schonmal das Positionieren der einzelnen Kugeln weglassen ![]() MfG #Reaper |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
Benibaerenstark |
![]() Antworten mit Zitat ![]() |
---|---|---|
keine Ahnung warum, aber das Parent-setzten funktioniert nicht. bzw die Kugeln werden nicht am richtigen Ort platziert. Aber diese Kugeln sind ja nur eine Visualisierung der Joints. | ||
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu |
- Zuletzt bearbeitet von Benibaerenstark am So, Nov 20, 2005 14:31, insgesamt einmal bearbeitet
fliege |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich glaub das auch b3d keien animierten 3ds objekte nimmt...ich hatte auch immer probleme damit
Fliege |
||
Wer weiß was kommt.. ? |
![]() |
skatanist |
![]() Antworten mit Zitat ![]() |
---|---|---|
wegen kollisionen:
Polygon genaue Kollisionen gehen doch bei animierten .b3d Meshs grundsätzlich nicht (afaik). aber du kannst doch den bones bestimmt einzelne "Kollisionskugeln" zuweisen, die sich dann mitdrehen (die bleiben ja auch nach UpdateWorld an der richtigen Stelle). Nicht so genau, aber bestimmt besser als nur eine Kugel/Box für Kollisionen. Oder hab ich das jetzt falsch verstanden? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Animationssupport:
3ds: Nur die Rotationen und Translationen von ganzen Objektgruppen / Meshes x: 3ds + bone animation. Allerdings keine Vertexweights. Sprich eine Veränderung der bones in B3D hat keine Auswirkung auf das Mesh b3D: x + Vertexweights. Dadurch könnt ihr Objekte in B3D selbst animieren. Sehr wichtig für physikalisch korrektes Verhalten bei Einschlägen, Stürzen etc Kollision: Nur Box und Ellipse / Sphere kollision gibts bei animierten Modellen. Das liegt daran, dass die genauen Positionen der Vertices bei der Animation nicht bekannt sind (darum könnt ihr sie über die Befehle auch nicht herausfinden, ist kein normal mapping möglich etc) und die Kollision insofern auch nicht mit diesen gemacht werden kann. Am einfachsten macht ihr einfach einen Kollisionsellipsoid oder Quader für jeden Bone also zb für OberArm, UnterArm, Hand, ... Dann ist das auch bei B3D interner Animation kein Problem. Und es ist um Welten schneller als Polygonkollision mit vielen Polygonen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Benibaerenstark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe nur bedenken, da die Kollisionen ja mit dem Updateworld-Befehl überprüft werden. Wenn man auch schön für jeden Bone einen schönen Kollisionsquader platziert, werden die Kollisionen nicht richtig geprüft*, da die Bones ja erst nach der Kollisionsabfrage ( dem Updateworld-Befehl) in ihre Position gezwungen werden. Oder habe ich dies Falsch überlegt?
*es wird die Position geprüft, die es in der Animation hat(Aufrecht), wenn man aber diese Position nach dem Update-Befehl ändert (z.B. nach vorne beugen), dann wird dies nicht berücksichtigt. Oder? würden in diesem Fall Collisions-dlls (Nuclear glory, Tokkamak) weiterhelfen? mfg beni |
||
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu |
![]() |
skatanist |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm...hab zuerst was anderes geschrieben, ist mir dann aber aufgefallen das es unlogisch ist ![]() Ich denke du hast mit deiner Vermutung recht. Ein Nachteil beim UpdateWorld Befehl von Blitz3d ist halt, das es beides macht, Kollisionsprüfung und Animationsakualisierung. Insofern würde natürlich eine Kollisons-dll Abhilfe schaffen, da dies ja mit einem anderen Befehl ausgeführt wird, den man ohne Probleme nach dem bewegen/drehen ausführen könnte. Aber gerade durch Tokamak, verändert sich in Sachen Kollisionen fast alles im Gegensatz zu Blitz... Trotzdem empfehle ich grundsätzlich eigentlich allen Tokamak zu benutzten...es ist frei, nich sooo schwer anzuwenden, und wertet Amateur Spiele mächtig auf (wenn man es benutzten kann). Und mit der beiliegenden Doku brauch man kein Tutorial. MfG |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group