Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 5 von 5
  1. Beiträge anzeigen #1 Zitieren
    Schwertmeister Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Ort
    Heidelberg
    Beiträge
    852
     
    Buzz Killington ist offline

    [Blender Animieren] Helperobjekte "sperren"?

    Hi,

    ich probiere mich gerade an einer Ladeanimation für eine Feuerwaffe und habe immer das Problem, dass sich das Helperobjekt (also die Waffe) unnatürlich mitbewegt. Zum Beispiel möchte ich die Waffe aus der Ausgangshaltung absetzen um an den Lauf zum Laden heranzukommen (Vorderlader). Da die meisten Abläufe mit der rechten Hand geschehen, habe ich die Waffe an ZS_Lefthand gebunden. Beim Absetzen der Waffe wird nun der linke Arm bewegt, wobei die Waffe "mitgeschleift" wird. Es wäre aber viel praktischer, wenn ich die Ausrichtung der Waffe während der Armbewegung irgendwie "sperren" könnte, damit ich nicht Frame für Frame die Position anpassen muss (was IMMER unnatürlich aussieht und im Herumzucken der Waffe resultiert).

    Gibt es hier irgendwelche Funktionen in Blender mit denen das oder was ähnliches möglich ist?

    EDIT: Um das Problem zum Teil zu umgehen, habe ich die Waffe wie gesagt an ZS_LEFTHAND gehängt. Animation wird problemlos abgespielt, allerdings hängt die Waffe trotzdem an der rechten Hand, egal wo ich in meiner .mds auch was anderes reinschreibe. Könntet ihr euch den Animationsblock mal ansehen und sagen, wo ich da festlegen kann, dass die Knarre an die linke Hand gegeben wird? Bin noch sehr sehr unerfahren mit Animationen...

    Code:
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    // HUMAN OVERLAY    Muskete
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    
    
    
    Model ("HuS")
    {
        
        
        meshAndTree ("Hum_Body_Naked0.ASC" DONT_USE_MESH)
        
        aniEnum
        {
            modelTag    ("DEF_HIT_LIMB"        "zs_LeftHand")
            
            // Shoot + Reload
            //    aniBlend    ("t_CBowAim_2_CBowShoot"        "s_CbowShoot")
            ani            ("s_CBowShoot"                1    "s_CBowShoot"    0.0 0.0 M.    "Flintlock_Shoot.asc"        F    6    6)
            {
                
                *eventPFX    (6    1    "FIRE_HOT"    "ZS_RIGHTHAND"    ATTACH)
    
    
                *eventMMStartAni    (6    "S_SHOOT"    "ZS_RIGHTHAND")
                *eventSFX            (6    "Muskete_01"  ) 
                *eventPFXStop    (6    1)
            }
            ani            ("t_CBowReload"                1    "s_CBowAim"        0.0 0.0 M.    "Flintlock_Shoot.asc"        F    7    164)
            {
                
                *eventPFX        (7    2    "FIRE_SMOKE"            "zs_righthand"        ATTACH)    
                *eventPFX        (9    3    "FIRE_SMOKE"            "zs_righthand"        ATTACH)    
                *eventPFX        (11    4    "FIRE_SMOKE"            "zs_righthand"        ATTACH)    
                *eventPFXStop    (15    2)
                *eventPFXStop    (16    3)
                *eventPFXStop    (17    4)
                
                
                *eventSFX        (14    "BowReload")
                *eventTag        (14 "DEF_PLACE_MUNITION" "ZS_LEFTHAND")
                *eventMMStartAni    (7    "S_RELAX"    "ZS_RIGHTHAND")
                *eventMMStartAni    (31    "S_READY"    "ZS_RIGHTHAND") 
            }    
                
            //    Muskete - WALK
                
                ani            ("t_CBowWalk_2_CBowWalkL"    1    "s_CBowWalkL"    0.2    0.0    M.    "Hum_Musketwalk.asc"        F    1    18)
                {
                    *eventSFXGrnd    (15    "Run")
                }
                ani            ("s_CBowWalkL"                1    "s_CBowWalkL"    0.0    0.0    M.    "Hum_Musketwalk.asc"        F    19    38)
                {
                    *eventSFXGrnd    (27    "Run")
                    *eventSFXGrnd    (36    "Run")
                }
                ani            ("t_CBowWalkL_2_CBowWalk"    1    "s_CBowWalk"    0.0    0.2    M.    "Hum_Musketwalk.asc"        F    39    49)
                {
                    *eventSFXGrnd    (47    "Run")
                    *eventSFXGrnd    (49    "Run")
                }
                aniBlend    ("t_CBowWalkR_2_CBowWalk"        "s_CBowWalk"    0.2    0.2)
    
    
            }
            
            
        }        
        
    }
    [Bild: janus_sig.png]
    Janus - eine Gothic 2 Modifikation
    Ankündigung im Forum
    Geändert von Buzz Killington (21.01.2023 um 18:02 Uhr)

  2. Beiträge anzeigen #2 Zitieren
    Schwertmeister Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Ort
    Heidelberg
    Beiträge
    852
     
    Buzz Killington ist offline
    Ich formuliere mein Problem jetzt mal anders, da es mit Lefthand scheinbar nicht geht (Waffe ist ne Armbrust):

    Wie verhindere ich es, dass das Helperobjekt sich nicht immer mit dem Parent mitbewegt? Ich habe versucht, es nicht mehr als Child von der rechten Hand zu verwenden, dann wird aber die Position scheinbar nicht richtig gespeichert. Ich muss es irgendwie hinkriegen, dass das Teil zwar Child der rechten Hand ist, seine Position sich aber nicht bei jeder Handbewegung ändert. So ist es ja kaum möglich, etwas einigermaßen realistisch zu animieren.
    [Bild: janus_sig.png]
    Janus - eine Gothic 2 Modifikation
    Ankündigung im Forum

  3. Beiträge anzeigen #3 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.498
     
    Cryp18Struct ist offline
    Es sollte möglich sein für jeden beliebigen frame das Objekt ZS_RIGHTHAND an eine beliebige Position zu bewegen.
    Aktivier mal "Automatic keyframe insertion for objects and bones"
    https://forum.worldofplayers.de/foru...541&viewfull=1
    evtl. löst das dein Problem schon (damit eben automatisch ein keyframe für die Objektposition gesetzt wird, wenn du es bewegst).

    Wenn du zusätzlich willst das in bestimmten frames das ZS_RIGHTHAND Objekt ganz normal mit der rechten Hand mitbewegt wird (aber in anderen frames eben deine von Hand gesetzten Positionen verwendet werden), sind constraints evtl. hilfreich.
    Da hatte ich hier schon mal was zu geschrieben:
    Zitat Zitat von Cryp18Struct Beitrag anzeigen
    [...]
    Hier habe ich dem Objekt ZS_RIGHTHAND "copy location" und "copy rotation" constraints gegeben mit dem Objekt ZS_LONGSWORD als target.
    Im frame 11 habe ich dann eingestellt das die constraints gar nicht wirken sollen (Influence 0.0). Das führt dann dazu das von frame 0 bis frame 11 die Handbones ganz normal ZS_RIGHTHAND mitbewegen.
    Für frame 12 habe ich bei beiden constraints Influence 1.0 als key gesetzt. Das führt dann dazu das von frame 12 bis zum Ende der Animation(weil kein weiterer keyframe für die constraints folgt) die Handbewegung egal ist für ZS_RIGHTHAND weil dann die Position und Rotation von ZS_LONGSWORD kopiert wird.
    [...]
    Ich meine mich aber vage zu erinnern, dass ich da schon mal das Problem hatte, dass das Kopieren der Position nicht so 100% funktioniert und das Objekt dann gewackelt/geeiert hat.

    Bei so Sachen wäre natürlich sehr hilfreich wenn du deine .blend Datei mit hoch lädst, damit man daran herumspielen kann. Weil Ferndiagnose ist halt schwer.

  4. Beiträge anzeigen #4 Zitieren
    Schwertmeister Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Ort
    Heidelberg
    Beiträge
    852
     
    Buzz Killington ist offline
    Danke für die Antwort.

    Das mit dem Automatic Keyframe insertion ist schonmal hilfreich. Das Problem bleibt, siehe diese Datei. Vor allem ab dem Teil wo er die Kugel in den Lauf rammt wird's richtig haarig, ich bekomme die Waffe da so gut wie gar nicht stabilisiert (ist in der Datei jetzt noch nicht gemacht, ich hab das nämlich nicht gespeichert, aber es sollte reichen das Problem zu sehen).

    Mehr Erfolg hatte ich mit dem Child Of - Constraint:

    Klick

    Funktioniert sogar im Spiel, allerdings "zittert" die Knarre während der Animation total, obwohl das Problem nicht in Blender auftritt. Ingame ist das eben genau diese Animation. Hierzu hab ich ein kurzes Video gemacht: Klick


    Diese Datei für die ZS_RIGHTHAND importieren, damit die Muskete in Blender zu sehen ist.

    Ein weiteres Problem ist, dass das mit dem seitlich gucken nicht zu klappen scheint; ich habe als Aim-Animation ebenfalls meine genommen bzw. den ersten Frame davon; er zielt trotzdem nach vorne. Nach der Lade-Animation nimmt er die Knarre dann seitlich hoch um sich wieder nach vorn auszurichten (siehe Video am Anfang). Muss die Animation quasi so gemacht sein, dass er nach vorne schaut und nicht 90 Grad zur Seite? Sonst habe ich ja auch keine Sicht im Spiel.

    Nachtrag 1: Das Zittern der Waffe tritt scheinbar immer dann in der Ani auf, wenn das Objekt nicht parented ist, bzw. der Constraint aktiv ist.
    [Bild: janus_sig.png]
    Janus - eine Gothic 2 Modifikation
    Ankündigung im Forum
    Geändert von Buzz Killington (22.01.2023 um 16:16 Uhr)

  5. Beiträge anzeigen #5 Zitieren
    Schwertmeister Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Ort
    Heidelberg
    Beiträge
    852
     
    Buzz Killington ist offline
    Habe jetzt nochmal eine neue, etwas realistischere Animation (zumindest zum Teil) erstellt. Das Problem bleibt allerdings. Ohne Child-Of-Constraint ist es glaube ich unmöglich, das Laden zu simulieren und mit "zappelt" die Waffe im Spiel die ganze Zeit rum. Also muss es denke ich eine Möglichkeit geben, das Ganze eben ohne diesen Constraint zu animieren?
    [Bild: janus_sig.png]
    Janus - eine Gothic 2 Modifikation
    Ankündigung im Forum

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide