animateSource: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (wip)
mNo edit summary
Line 17: Line 17:
<tt>house [[animate]] ["Door_1_rot", 1];</tt>
<tt>house [[animate]] ["Door_1_rot", 1];</tt>
<br>
<br>
<tt>house [[animate]] ["Door_Handle_1_rot_1", 1];</tt>
<tt>house [[animate]] ["Door_Handle_1_rot", 1];</tt>
<br><br>
<br><br>
With [[animateSource]] this would require only 1 (provided everything is configured correctly):
With [[animateSource]] this would require only 1 (provided everything is configured correctly):

Revision as of 17:12, 12 March 2016

-wrong parameter ("arma3dev") defined!-[[:Category:Introduced with arma3dev version 1.57|1.57]]
Hover & click on the images for description

Description

Description:
Activates object animations by source. If animate uses class name from CfgModels Animations, animateSource uses name defined by source property. This allows to use just one command on a bunch of animations related to the same source simultaneously.

A class with the same source name should also be present in main config in CfgVehicles AnimationSources and have to be bound to the "user" controller for the command to work. If in order to animate door in example below using animate command it would require 2 calls:

house animate ["Door_1_rot", 1];
house animate ["Door_Handle_1_rot", 1];

With animateSource this would require only 1 (provided everything is configured correctly):

house animateSource ["Door_1_source", 1];

// model.cfg
....
class Animations
{
	class Door_1_rot
	{
		type = rotation;
		source = Door_1_source;
		selection = Door_1;
		axis = Door_1_axis;
		memory = 1;
		minValue = 0.1;
		maxValue = 1;
		angle0 = 0;
		angle1 = (rad 110);
	};
	class Door_Handle_1_rot
	{
		type = rotation;
		source = Door_1_source;
		selection = Door_Handle_1;
		axis = Door_Handle_1_axis;
		memory = 1;
		minValue = 0;
		maxValue = 0.1;
		angle0 = 0;
		angle1 = (rad -50);
	};
};
...

// config.cpp
...
class AnimationSources
{
	class Door_1_source
	{
		source = "user";
		animPeriod = 2;
		initPhase = 0;
	};
};
...

If you don't know much about model config you can use this page createVehicle/vehicles for reference. Some of the AnimationSources are listed with the class names of the available assets in Arma 3. If it says "user", the chance is it could work with animateSource (see example 2).

Arma 3
It is recommended that animateSource command is used instead of animate whenever is possible, as it is more efficient and optimised for MP
Mixing animateSource command with animate command in the same script may produce some undefined behaviour
Groups:
Uncategorised

Syntax

Syntax:
object animateSource [source, phase, now]
Parameters:
object: Object
[source, phase, now]: Array
source: String - common source
phase: Number - wanted animation phase
now: Boolean - when true animation is instant
Return Value:
Nothing

Examples

Example 1:
house animateSource ["Door_1_source", 1, true];

Additional Information

See also:
animationSourcePhaseanimateDooranimatesetFaceAnimation

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

[[Category:Introduced with arma3dev version 1.57]][[ Category: arma3dev: New Scripting Commands | ANIMATESOURCE]][[ Category: arma3dev: Scripting Commands | ANIMATESOURCE]]

Notes

Bottom Section