animate: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|seealso= *\[\[([^ ]+)\]\], \[\[([^ ]+)\]\]" to "|seealso= $1 $2")
m (Some wiki formatting)
Line 32: Line 32:
* It is recommended that [[animateSource]] command is used instead of [[animate]] whenever is possible, as it is more efficient and optimised for multiplayer
* It is recommended that [[animateSource]] command is used instead of [[animate]] whenever is possible, as it is more efficient and optimised for multiplayer
* Since {{arma3}} v1.58 animation names can be obtained with [[animationNames]]}}
* Since {{arma3}} v1.58 animation names can be obtained with [[animationNames]]}}
{{Feature|Warning|Mixing [[animateSource]] command with [[animate]] command to animate the same part may produce some undefined behaviour.}}
{{Feature|warning|Mixing [[animateSource]] command with [[animate]] command to animate the same part may produce some undefined behaviour.}}


|s1= object [[animate]] [animationName, phase, speed]
|s1= object [[animate]] [animationName, phase, speed]
Line 38: Line 38:
|p1= object: [[Object]]
|p1= object: [[Object]]


|p2= animationName: [[String]] - Name of the animation. This is the class-name of the animation defined in the config.
|p2= animationName: [[String]] - Name of the animation. This is the class-name of the animation defined in the config


|p3= phase: [[Number]] - Range 0 (start point of the animation) to 1 (end point of the animation). The speed, in which the animation is processed, is defined in the addon's config.cpp and cannot be changed during running missions.
|p3= phase: [[Number]] - Range 0 (start point of the animation) to 1 (end point of the animation). The speed, in which the animation is processed, is defined in the addon's config.cpp and cannot be changed during running missions


|p4= speed: [[Boolean]] or [[Number]] - When [[true]] animation is instant. Since {{arma3}} v1.66 [[Number]] > 0 is treated as config speed value multiplier
|p4= speed: [[Boolean]] or (since {{GVI|arma3|1.66|size=0.75}}) [[Number]] - (Optional, default [[false]]) when [[true]] animation is instant; [[Number]] > 0 is treated as config speed value multiplier


|r1= [[Nothing]]
|r1= [[Nothing]]


|x1= <code>_building [[animate]] ["maindoor", 1];</code>
|x1= <sqf>_building animate ["maindoor", 1];</sqf>


|x2= <code>_building [[animate]] ["Door_1_rot", 1, [[true]]];</code>
|x2= <sqf>_building animate ["Door_1_rot", 1, true];</sqf>


|x3= Create Offroad and add flashing police light bar:<code>offroad = "C_Offroad_01_F" [[createVehicle]] ([[player]] [[getRelPos]] [5, 0]);
|x3= Create Offroad and add flashing police light bar:
offroad [[animate]] ["HidePolice", 0];
<sqf>
offroad [[animate]] ["BeaconsStart", 1];</code>
offroad = "C_Offroad_01_F" createVehicle (player getRelPos [5, 0]);
offroad animate ["HidePolice", 0];
offroad animate ["BeaconsStart", 1];
</sqf>


|seealso= [[animationPhase]] [[setFaceAnimation]] [[animateSource]] [[animationSourcePhase]] [[animateDoor]] [[doorPhase]] [[animationNames]]
|seealso= [[animationPhase]] [[setFaceAnimation]] [[animateSource]] [[animationSourcePhase]] [[animateDoor]] [[doorPhase]] [[animationNames]]
}}
}}


<dl class="command_description">
{{Note
 
|user= Mikero
<dt></dt>
|timestamp= 20070823225000
<dd class="notedate">Posted on Aug 2007</dd>
|text= Animations can be used on existing game models such as houses that have doors eg. The general syntax is
<dt class="note">[[User:Mikero|Mikero]]</dt>
<sqf>house animate ["dvere1", 1]</sqf>
<dd class="note">Animations can be used on existing game models such as houses that have doors eg. The general syntax is<code>house [[animate]] ["dvere1", 1]</code>to 'open' the door and house animate ["dvere1",0] to 'close it'. Whether used on Oem addons, or official ones, an internal working knowledge (via config.cpp) of the model's animated name(s) is required.<br>
to 'open' the door and <sqf>house animate ["dvere1", 0]</sqf> to 'close' it. Whether used on Oem addons, or official ones, an internal working knowledge (via config.cpp) of the model's animated name(s) is required.<br>
<br>
<br>
'open' and 'close' are visual perceptions of the state of the model, and are a design decision of the p3d. Open does not, necessarily mean, 1, and close does not mean 0. <br>
'open' and 'close' are visual perceptions of the state of the model, and are a design decision of the p3d. Open does not, necessarily mean, 1, and close does not mean 0.<br>
'0' and '1' are better seen as FULLY_OFF and FULLY_ON<br>
'0' and '1' are better seen as FULLY_OFF and FULLY_ON<br>
If a door is initially closed in the model, FULLY_ON, will open it. If it is initialy OPEN visually, in the model, FULLY_ON will close it.<br>
If a door is initially closed in the model, FULLY_ON, will open it. If it is initialy OPEN visually, in the model, FULLY_ON will close it.<br>
<br>
<br>
{{hl|c= initphase = 1;}} (in config cpp) does not alter open and close meanings, all it does is set the model to the 'on' (rather than 'off') state to begin with. Whether on means open or close visually is a p3d design decision.
{{hl|c= initphase = 1;}} (in config cpp) does not alter open and close meanings, all it does is set the model to the 'on' (rather than 'off') state to begin with. Whether on means open or close visually is a p3d design decision.
<dt><dt>
}}
<dd class="notedate">Posted on  June 2011</dd>
<dt class="note">[[User:Tyger|Tyger]]</dt>
<dd class="note">Also, to animate the object called "Bar Gate" in ArmA, use the following: <code>myGate [[animate]] ["Bargate",1]</code> to close it, and <code>myGate [[animate]] ["Bargate", 0]</code> to open it.


<dt></dt>
{{Note
<dd class="notedate">Posted on February 16, 2016 - 21:33 (UTC)</dd>
|user= Tyger
<dt class="note">[[User:RageBone|RageBone]]</dt>
|timestamp= 20081206082300
<dd class="note">
|text= Also, to animate the object called "Bar Gate" in ArmA, use the following: <sqf>myGate animate ["Bargate",1]</sqf> to close it, and <sqf>myGate animate ["Bargate", 0]</sqf> to open it.
"Bargate" was exchanged with "Door_1_rot" at one point:
}}
<code>object [[animate]] ["Bargate", 0]; {{cc|doesn't work}}</code>
<code>object [[animate]] ["Door_1_rot", 0]; {{cc|works}}</code>
</dd>


<dt></dt>
{{Note
<dd class="notedate">Posted on March 14, 2016 - 00:34 (UTC)</dd>
|user= RageBone
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
|timestamp= 20160216213300
<dd class="note">
|text= "Bargate" was exchanged with "Door_1_rot" at one point:
To animate bargate use [[animateSource]]:
<sqf>object animate ["Bargate", 0]; // doesn't work</sqf>
<code>bargate [[animateSource]] ["Door_1_source", 1];</code>
<sqf>object animate ["Door_1_rot", 0]; // works</sqf>
</dd>
}}


<dt></dt>
{{Note
<dd class="notedate">Posted on November 25, 2017 - 20:55 (UTC)</dd>
|user= Killzone_Kid
<dt class="note">[[User:SteveStevenson|SteveStevenson]]</dt>
|timestamp= 20160314003400
<dd class="note">
|text= To animate bargate use [[animateSource]]:
<sqf>bargate animateSource ["Door_1_source", 1];</sqf>
}}


For pop-up targets, you can keep the target down (until you tell it to pop up) with:
{{Note
<code>target1 [[animate]] ["terc", 1];</code>
|user= SteveStevenson
|timestamp= 20171125205500
|text= For pop-up targets, you can keep the target down (until you tell it to pop up) with:
<sqf>target1 animate ["terc", 1];</sqf>


When you're ready for the target to pop up, you can use:
When you're ready for the target to pop up, you can use:
<code>target1 [[animate]] ["terc", 0];</code>
<sqf>target1 animate ["terc", 0];</sqf>


With this setting, the target will return to its usual behavior of going down when hit and automatically popping back up again. To make the target stay down after being hit, add the following line:
With this setting, the target will return to its usual behavior of going down when hit and automatically popping back up again. To make the target stay down after being hit, add the following line:
<code>target1 [[addEventHandler]] ["HitPart", { target1 [[animate]] ["terc", 1]; }];</code>
<sqf>target1 addEventHandler ["HitPart", { target1 animate ["terc", 1]; }];</sqf>
 
}}
</dd>
 
</dl>

Revision as of 19:23, 18 April 2022

Hover & click on the images for description

Description

Description:
Activates given object animation. Animation is defined in CfgModels animations class. Class names listed in CfgVehicles AnimationSources bound to "Proxy" controller can also be animated with animate command (see Arma 3: createVehicle/vehicles).
Arma 3
  • It is recommended that animateSource command is used instead of animate whenever is possible, as it is more efficient and optimised for multiplayer
  • Since Arma 3 v1.58 animation names can be obtained with animationNames
Mixing animateSource command with animate command to animate the same part may produce some undefined behaviour.
Groups:
Animations

Syntax

Syntax:
object animate [animationName, phase, speed]
Parameters:
object: Object
animationName: String - Name of the animation. This is the class-name of the animation defined in the config
phase: Number - Range 0 (start point of the animation) to 1 (end point of the animation). The speed, in which the animation is processed, is defined in the addon's config.cpp and cannot be changed during running missions
speed: Boolean or (since Arma 3 logo black.png1.66) Number - (Optional, default false) when true animation is instant; Number > 0 is treated as config speed value multiplier
Return Value:
Nothing

Examples

Example 1:
_building animate ["maindoor", 1];
Example 2:
_building animate ["Door_1_rot", 1, true];
Example 3:
Create Offroad and add flashing police light bar:
offroad = "C_Offroad_01_F" createVehicle (player getRelPos [5, 0]); offroad animate ["HidePolice", 0]; offroad animate ["BeaconsStart", 1];

Additional Information

See also:
animationPhase setFaceAnimation animateSource animationSourcePhase animateDoor doorPhase animationNames

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Mikero - c
Posted on Aug 23, 2007 - 22:50 (UTC)
Animations can be used on existing game models such as houses that have doors eg. The general syntax is
house animate ["dvere1", 1]
to 'open' the door and
house animate ["dvere1", 0]
to 'close' it. Whether used on Oem addons, or official ones, an internal working knowledge (via config.cpp) of the model's animated name(s) is required.

'open' and 'close' are visual perceptions of the state of the model, and are a design decision of the p3d. Open does not, necessarily mean, 1, and close does not mean 0.
'0' and '1' are better seen as FULLY_OFF and FULLY_ON
If a door is initially closed in the model, FULLY_ON, will open it. If it is initialy OPEN visually, in the model, FULLY_ON will close it.

initphase = 1; (in config cpp) does not alter open and close meanings, all it does is set the model to the 'on' (rather than 'off') state to begin with. Whether on means open or close visually is a p3d design decision.
Tyger - c
Posted on Dec 06, 2008 - 08:23 (UTC)
Also, to animate the object called "Bar Gate" in ArmA, use the following:
myGate animate ["Bargate",1]
to close it, and
myGate animate ["Bargate", 0]
to open it.
RageBone - c
Posted on Feb 16, 2016 - 21:33 (UTC)
"Bargate" was exchanged with "Door_1_rot" at one point:
object animate ["Bargate", 0]; // doesn't work
object animate ["Door_1_rot", 0]; // works
Killzone_Kid - c
Posted on Mar 14, 2016 - 00:34 (UTC)
To animate bargate use animateSource:
bargate animateSource ["Door_1_source", 1];
SteveStevenson - c
Posted on Nov 25, 2017 - 20:55 (UTC)
For pop-up targets, you can keep the target down (until you tell it to pop up) with:
target1 animate ["terc", 1];
When you're ready for the target to pop up, you can use:
target1 animate ["terc", 0];
With this setting, the target will return to its usual behavior of going down when hit and automatically popping back up again. To make the target stay down after being hit, add the following line:
target1 addEventHandler ["HitPart", { target1 animate ["terc", 1]; }];