Difference between revisions of "Apply Character Force (LogiX node)"
Line 8: | Line 8: | ||
| Input1Type = Float3 | Input1Name = Force | | Input1Type = Float3 | Input1Name = Force | ||
| Input2Type = CharacterController | Input2Name = Character | | Input2Type = CharacterController | Input2Name = Character | ||
+ | | Input3Type = Bool | Input3Name = IgnoreMass | ||
| Output0Type = Impulse | Output0Name = OnDone | | Output0Type = Impulse | Output0Name = OnDone | ||
}} | }} | ||
Line 15: | Line 16: | ||
== Usage == <!--T:3--> | == Usage == <!--T:3--> | ||
+ | The <code>IgnoreMass</code> input determines whether the Mass field on any associated collider (must be on the same Slot as the <code>Character</code> and must have Type <code>CharacterController</code>) is taken into account when calculating the resulting velocity. If False, the MassScaling Enum value on the <code>Character</code> will also be taken into account and the effective mass value scaled by the <code>Character</code> Slot's global scale. Default is False. | ||
+ | |||
+ | |||
The <code>OnDone</code> output fires an impulse when the velocity of the input <code>CharacterController</code> has been changed as a result of an impulse received at <code>Apply</code>. No impulse will be fired if there is no valid <code>CharacterController</code> input. | The <code>OnDone</code> output fires an impulse when the velocity of the input <code>CharacterController</code> has been changed as a result of an impulse received at <code>Apply</code>. No impulse will be fired if there is no valid <code>CharacterController</code> input. | ||
− | The change in velocity of the <code>CharacterController</code> is the input <code>Force</code> multiplied by the update time | + | |
+ | The <code>IgnoreMass</code> is False, the change in velocity of the <code>CharacterController</code> is the input <code>Force</code> multiplied by the local user's frame update time divided by the CharacterCollider's effective mass. | ||
Note that for the input <code>CharacterController</code> to be affected, the impulse received at <code>Apply</code> must be owned by the <code>SimulatingUser</code> set in the referenced CharacterController component. | Note that for the input <code>CharacterController</code> to be affected, the impulse received at <code>Apply</code> must be owned by the <code>SimulatingUser</code> set in the referenced CharacterController component. |
Revision as of 23:47, 25 August 2021
Apply Character Force | ||
---|---|---|
Inputs | ||
Impulse | Apply | |
Float3 | Force | |
CharacterController | Character | |
Bool | IgnoreMass | |
Outputs | ||
Impulse | OnDone |
The Apply Character Force node changes the linear velocity of the input Character
CharacterController (Component) proportional to the input Force
when an impulse is received at Apply
.
Usage
The IgnoreMass
input determines whether the Mass field on any associated collider (must be on the same Slot as the Character
and must have Type CharacterController
) is taken into account when calculating the resulting velocity. If False, the MassScaling Enum value on the Character
will also be taken into account and the effective mass value scaled by the Character
Slot's global scale. Default is False.
The OnDone
output fires an impulse when the velocity of the input CharacterController
has been changed as a result of an impulse received at Apply
. No impulse will be fired if there is no valid CharacterController
input.
The IgnoreMass
is False, the change in velocity of the CharacterController
is the input Force
multiplied by the local user's frame update time divided by the CharacterCollider's effective mass.
Note that for the input CharacterController
to be affected, the impulse received at Apply
must be owned by the SimulatingUser
set in the referenced CharacterController component.