Die Konsole (Window->Toggle System Console) zeigt an:
Code:
Not all frames have same interpolation of frames LINEAR vs. BEZIER.
Failed to extract keyframe property rotation_quaternion for bone Hero_Right_Arm_Shoulder_1.
Und tatsächlich, bei Hero_Right_Arm_Shoulder_1 ist der Interpolation Mode für Frame 0 auf Linear gestellt, für die anderen Frames auf Bezier.
Unterschiedliche Interpolation-Modes innerhalb einer Eigenschaft (Rotation, Position, Scale) eines Bones lässt sich im xmot-Format nicht darstellen und ist daher nicht exportierbar.
Ich habe dann mal testweise einen einheitlichen Interpolation Mode (Linear) für Right-Shoulder und die Bones des linken Arms eingestellt, dann funktionierte der Export (siehe Anhang).
Es sind auch noch weitere Bones betroffen, nämlicht der komplette linke Arm. Keine Ahnung wie es dazu gekommen ist, eigentlich nutzt Blender beim Einfügen neuer Keyframes automatisch den Interpolation Mode des vorausgehenden KeyFrames.
Welchen Interpolation Mode Blender nutzt wenn man einen KeyFrame für ein Bone ohne bestehenden KeyFrame anlegt, lässt sich konfigurieren).
Ah danke. Es kam insbesondere zu diesem Problem wenn ich "Copy Pose" benutzt habe und in anderen Blender Projekten eingefügt hab. (Um quasi sicherzustellen dass z.b der Anfang einer Attacke gleich der Grundhaltung ist). An der Interpolation hab ich nie was geändert, kenne diese Option auch nicht.
Hi, George, can i ask a favour, maybe you could place somewhere my template for blender, where is bunch of weapons so if people will be interested in changing animations for humans, they could use that template?
I've added Halberds, 1H Sword in right and left hand, 2H Swords, Axes, Staff, Shield and Crossbow with Bow [Bild: ]
I recently found this thread and wanted to try out if I can fasten the bow animation speed myself. My goal was to half the animation time.
I never used blender before so this is probably me doing something wrong.
I loaded the G3_Hero_Body_Player.xact and the Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Fwd_00_%_00_P0_0.xmot file. Then I deleted every second keyframe and adjusted it to 25 frames.
I repeated this step for the following files too:
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Up_00_%_00_P0_0.xmot
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Down_00_%_00_P0_0.xmot
After this I loaded the It_Weapon_Ranged_Bow_Hunting_01.xact and the corresponding It_Weapon_Ranged_Bow_Hunting_01_Cock.xmot to adjust the animation for the bow too.
I then created the _compiledAnimation folder within the Gothic 3 data directory and put all the modifed files *.xmot into it:
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Fwd_00_%_00_P0_0.xmot
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Up_00_%_00_P0_0.xmot
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Down_00_%_00_P0_0.xmot
It_Weapon_Ranged_Bow_Hunting_01_Cock.xmot
The problem now is that ingame the modified animations are displayed correctly but the animation sound still plays for the full 50 frames and the arrow speed isn't fully charged.
I recently found this thread and wanted to try out if I can fasten the bow animation speed myself. My goal was to half the animation time.
I never used blender before so this is probably me doing something wrong.
I loaded the G3_Hero_Body_Player.xact and the Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Fwd_00_%_00_P0_0.xmot file. Then I deleted every second keyframe and adjusted it to 25 frames.
I repeated this step for the following files too:
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Up_00_%_00_P0_0.xmot
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Down_00_%_00_P0_0.xmot
After this I loaded the It_Weapon_Ranged_Bow_Hunting_01.xact and the corresponding It_Weapon_Ranged_Bow_Hunting_01_Cock.xmot to adjust the animation for the bow too.
I then created the _compiledAnimation folder within the Gothic 3 data directory and put all the modifed files *.xmot into it:
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Fwd_00_%_00_P0_0.xmot
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Up_00_%_00_P0_0.xmot
Hero_Stand_Bow_Arrow_P0_Aim_Aim_O_Down_00_%_00_P0_0.xmot
It_Weapon_Ranged_Bow_Hunting_01_Cock.xmot
The problem now is that ingame the modified animations are displayed correctly but the animation sound still plays for the full 50 frames and the arrow speed isn't fully charged.
What am I missing?
Thanks in advance
Hi, this is exactly what brought into animation modding and i also ended up a the same problem. For the sound however you need to adjust the corresponding draw sound file. I already did this once and reduced it to ca half the time. I attach the file here, put it into the folder Gothic 3\Data\Sound\foley\ani\fight\ranged .
The arrow speed is the bigger problem. There, it seems to correspond with the amount of frames, while 50 frames contitutes full draw power. We somehow need to tell the engine that the last animation frame of the new ani is suppose to be the new maximum. I think this can only be done via script. Unfortunately that is out of my expertise. I hope someone with more inside can help out here.
@George: Can you add an export option that deletes all location-transformation keyframes except the very first one of the animation frame (and maybe leave out the Spine 1 Bone)? Sometimes after shifting keyframes or making an error with assigning keyframes, i notice that the animation causes bugs. Then i must open the animation in blender again and check every single keyframe for every bone for location-transformations (via the graph editor). G3 does not seem to like if a bone has an unwanted location value within a keyframe. This is kind of an annoyance. Or if you know another solution i would be greatful. Thanks
Hi, this is exactly what brought into animation modding and i also ended up a the same problem. For the sound however you need to adjust the corresponding draw sound file. I already did this once and reduced it to ca half the time. I attach the file here, put it into the folder Gothic 3\Data\Sound\foley\ani\fight\ranged .
The arrow speed is the bigger problem. There, it seems to correspond with the amount of frames, while 50 frames contitutes full draw power. We somehow need to tell the engine that the last animation frame of the new ani is suppose to be the new maximum. I think this can only be done via script. Unfortunately that is out of my expertise. I hope someone with more inside can help out here.
I had some time, to find the most important code entries for the Bow Animation and the tension calculation.
So the change in Animation it self is not really the issue...
The String of the Bow, has its own Animation that is played (pulling the String) and can be adjusted via a scaling floating value.
For part in the Animation of the Hero there is not a really significant change in Movement anyways (so if someone could fix it, that I plays along with the string would be great!), but the Statetime depends on the lenght of the whole Animation.
The longer you are in the Animation the longer the Statetime of the PowerAim is the Player in -> so the Higher the DamageHitMultiplier is. This floating value decide the Damage and the Velocity of the Arrow.
For now there is a hardcoded calculation that calculates the DamageHitMultiplier of the Bow during a StateTime in a Loop. The Base Velocity of an Arrow it hardcoded to be 200.0.
So there needs to be Code Patching on more places for different Speeds of Bow drawing.
I had some time, to find the most important code entries for the Bow Animation and the tension calculation.
So the change in Animation it self is not really the issue...
The String of the Bow, has its own Animation that is played (pulling the String) and can be adjusted via a scaling floating value.
For part in the Animation of the Hero there is not a really significant change in Movement anyways (so if someone could fix it, that I plays along with the string would be great!), but the Statetime depends on the lenght of the whole Animation.
The longer you are in the Animation the longer the Statetime of the PowerAim is the Player in -> so the Higher the DamageHitMultiplier is. This floating value decide the Damage and the Velocity of the Arrow.
For now there is a hardcoded calculation that calculates the DamageHitMultiplier of the Bow during a StateTime in a Loop. The Base Velocity of an Arrow it hardcoded to be 200.0.
So there needs to be Code Patching on more places for different Speeds of Bow drawing.
Hi Jackydima, bin mir nicht so ganz sicher ob ich das Problem verstehe. Also hilft es ersmal jetzt nichts an den Animationen zu schrauben? Die irgendwie anzupassen (auch mit der Bogensehne zusammen ist nicht schwer, das hab ich mal gemacht, allerdings bleibt das Problem dann ja bestehen). Danke aber schonmal für diese erste Einsicht.
Hi Jackydima, bin mir nicht so ganz sicher ob ich das Problem verstehe. Also hilft es ersmal jetzt nichts an den Animationen zu schrauben? Die irgendwie anzupassen (auch mit der Bogensehne zusammen ist nicht schwer, das hab ich mal gemacht, allerdings bleibt das Problem dann ja bestehen). Danke aber schonmal für diese erste Einsicht.
Also ich will damit sagen, dass ich es mittlerweile anpassen kann aber ich muss mir was überlegen, dass einfach nur es basierend auf der Animationsdauer ( mit Faktor, zum Beispiel bei Implementierten Skills) den richtigen DamageHitMultiplier berechnet.
Also ich will damit sagen, dass ich es mittlerweile anpassen kann aber ich muss mir was überlegen, dass einfach nur es basierend auf der Animationsdauer ( mit Faktor, zum Beispiel bei Implementierten Skills) den richtigen DamageHitMultiplier berechnet.
Also im schnellgang, könnt ich einfach den Multiplicator mal 2 brechenen an der einen Stelle hahah. Also für zeitweilig
Mhh, also irgendeine Art Progression fänd ich schon gut. Ich mach auch gerne alle nötigen Animationen. Nur wie wäre das wenn sich der Multiplikator erhöht mit dem Bogen-Perk z.b. Kann man dann einen neuen Satz Anis abspielen lassen gemäß dem aktiven Perk? (Das Konzept wäre natürlich auch für den Nahkampf interessant).
Mhh, also irgendeine Art Progression fänd ich schon gut. Ich mach auch gerne alle nötigen Animationen. Nur wie wäre das wenn sich der Multiplikator erhöht mit dem Bogen-Perk z.b. Kann man dann einen neuen Satz Anis abspielen lassen gemäß dem aktiven Perk? (Das Konzept wäre natürlich auch für den Nahkampf interessant).
Ja das lässt sich alles einrichten. Für den Nahkampf warte ich auch noch, bis Animierer für die Waffengattungen mehrere Animationen einbauen. Ich hab es ja schon mal im Post geschrieben, so ähnlich wie in G2 das Progressionsprozess der Animation einfach.
Für bögen kann man einfach einen Multiplikator einbauen, aber dann muss auch überall für den Schaden und die Geschwindigkeit+ Animation gleich angepasst werden. Da schau ich noch, fehlt aber noch etwas Zeit leider momentan
Gothic 3 sollte ja mal ursprünglich Pferde haben. Ließe sich das rein theoretisch jetzt einbauen? Neue Modelle in die Engine importieren geht ja bereits, Animationen mittlerweile auch.