Animationssteuerung

Eure Foren für alle Diskussionen rund ums Thema Modding.
User avatar
M1800power
Posts: 1
Joined: Mon Jan 23, 2023 5:50 pm
Location: Niedersachsen

Animationssteuerung

Post by M1800power »

Hallo zusammen!

Ich habe eine Frage zum Thema XML.

Ich bin momentan an einem platzierbaren Objekt dran und habe Probleme mit den animatedObjects.

Ich habe mehrere normale Animation mit ein-und ausblenden und ein- und ausschalten schon hinzugefügt die auch problemlos funktionieren. Diese Animationen werden ganz normal über posAction="ACTIVATE_HANDTOOL" (Objekt.XML) gesteuert.

Nun möchte ich aber eine Animation für einen Rotor hinzufügen den ich im Spiel mit der linken Maustaste in die eine Richtung und mit der rechten Maustaste in die andere Richtung drehen kann.

Zudem sollte der Rotor, also die Animation einfach sobald man die Maustaste loslässt an der stelle stoppen und sich nicht eigenständig in die Ursprungsposition zurückdrehen.

So sieht der Eintrag in der XML dafür aus.

</animatedObject>
<animatedObject saveId="RotorDrehung">
<animation duration="1">
<part node="RotorDrehung">
<keyFrame time="0" rotation="0 0 0" />
<keyFrame time="1" rotation="0 0 -360" />
</part>
</animation>
<controls triggerNode="TriggerRotorDrehung" posAction="RotorLinks" negAction="RotorRechts" posText="action_RotorLinks" negText="action_RotorRechts" />
</animatedObject>



In der Moddesc habe ich für die Steuerung folgendes hinzugefügt:

<actions>
<action name="RotorRechts" category="PLAYER" axisType="FULL" ignoreComboMask="false"/>
<action name="RotorLinks" category="PLAYER" axisType="FULL"ignoreComboMask="false"/>
</actions>

<inputBinding>
<actionBinding action="RotorLinks">
<binding device="GAMEPAD_DEFAULT" input="BUTTON_19" axisComponent="-" />
</actionBinding>
<actionBinding action="RotorRechts">
<binding device="GAMEPAD_DEFAULT" input="BUTTON_17" axisComponent="+" />
</actionBinding>
</inputBinding>

<l10n>
<text name="action_RotorRechts"> <en>Rotor drehen</en> <de>Rotor drehen</de> </text>
<text name="action_RotorLinks"> <en>Rotor drehen</en> <de>Rotor drehen</de> </text>
</l10n>

Das sind auch die identischen Einträge die im LS19 funktioniert haben und eigentlich auch im LS22 funktionieren sollten.

Leider funktioniert es aber nur dann, wenn ich in der XML die Steuerung wieder auf ein Standard , also posAction="ACTIVATE_HANDTOOL" lege. Dann funktioniert es aber auch nicht so wie es soll, sondern die Animation geht wenn man die Maustasten loslässt wieder in die Ursprungsposition zurück.

</animatedObject>
<animatedObject saveId="RotorDrehung">
<animation duration="1">
<part node="RotorDrehung">
<keyFrame time="0" rotation="0 0 0" />
<keyFrame time="1" rotation="0 0 -360" />
</part>
</animation>
<controls triggerNode="TriggerRotorDrehung" posAction="ACTIVATE_HANDTOOL" posText="action_RotorLinks" negText="action_RotorRechts" />
</animatedObject>

Wie bekommt man es hin wie im LS19? Muss ich jetzt im LS22 einen eigenen vehicleType erstellen oder habe ich da irgendwo einen Fehler drinne?

Ich bin da echt ein wenig am verzweifeln und würde mich sehr über Hilfe freuen

Edit don_apple: Thema von "Allgemeine Diskussionen" nach "Modding" verschoben, da es hier um Fragen zur Erstellung eines Mods geht.