Base resource for [AnimationTree] nodes. Base resource for [AnimationTree] nodes. In general, it's not used directly, but you can create custom ones with custom blending formulas. Inherit this when creating nodes mainly for use in [AnimationNodeBlendTree], otherwise [AnimationRootNode] should be used instead. $DOCS_URL/tutorials/animation/animation_tree.md Adds an input to the node. This is only useful for nodes created for use in an [AnimationNodeBlendTree]. Blend an animation by [code]blend[/code] amount (name must be valid in the linked [AnimationPlayer]). A [code]time[/code] and [code]delta[/code] may be passed, as well as whether [code]seek[/code] happened. Blend an input. This is only useful for nodes created for an [AnimationNodeBlendTree]. The [code]time[/code] parameter is a relative delta, unless [code]seek[/code] is [code]true[/code], in which case it is absolute. A filter mode may be optionally passed (see [enum FilterAction] for options). Blend another animation node (in case this node contains children animation nodes). This function is only useful if you inherit from [AnimationRootNode] instead, else editors will not display your node for addition. When inheriting from [AnimationRootNode], implement this virtual method to override the text caption for this node. When inheriting from [AnimationRootNode], implement this virtual method to return a child node by its [code]name[/code]. When inheriting from [AnimationRootNode], implement this virtual method to return all children nodes in order as a [code]name: node[/code] dictionary. Amount of inputs in this node, only useful for nodes that go into [AnimationNodeBlendTree]. Gets the name of an input by index. When inheriting from [AnimationRootNode], implement this virtual method to return the default value of parameter "[code]name[/code]". Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. When inheriting from [AnimationRootNode], implement this virtual method to return a list of the properties on this node. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. Format is similar to [method Object.get_property_list]. When inheriting from [AnimationRootNode], implement this virtual method to return whether the blend tree editor should display filter editing on this node. Returns whether the given path is filtered. When inheriting from [AnimationRootNode], implement this virtual method to run some code when this node is processed. The [code]time[/code] parameter is a relative delta, unless [code]seek[/code] is [code]true[/code], in which case it is absolute. Here, call the [method blend_input], [method blend_node] or [method blend_animation] functions. You can also use [method get_parameter] and [method set_parameter] to modify local memory. This function should return the time left for the current animation to finish (if unsure, pass the value from the main blend being called). Removes an input, call this only when inactive. Adds or removes a path for the filter. Sets a custom parameter. These are used as local memory, because resources can be reused across the tree or scenes. If [code]true[/code], filtering is enabled. Emitted when the node was removed from the graph. Emitted by nodes that inherit from this class and that have an internal tree when one of their nodes changes. The nodes that emit this signal are [AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], [AnimationNodeStateMachine], and [AnimationNodeBlendTree]. Do not use filtering. Paths matching the filter will be allowed to pass. Paths matching the filter will be discarded. Paths matching the filter will be blended (by the blend value).