目的:在AnimationBlueprint中使用自定义动画控制节点。
主要过程:
1. 引用相关模块。在Client.Build.cs文件中,PublicDependencyModuleNames.AddRange里加入”AnimGraphRuntime”,“AnimGraph”, “BlueprintGraph”,添加引用模块后可在使用时直接包含头文件名称,而不用指定具体路径。
2. 实现AnimNode类,用于处理更新骨骼位置等具体逻辑;
3. 实现AnimGraphNode类,用于在编辑器中显示信息等;
4. 编辑工程后即可在AnimationBlueprint中使用该节点
下面以我的自定义动画节点CopyParentBone为例,该节点作用是更改当前Component内某骨骼的Transform为Parent Component内同名称骨骼的Transform:
一、添加引用模块
Client.Build.cs
PublicDependencyModuleNames.AddRange(new string[]
{
"Core",
"CoreUObject",
"Engine",
"InputCore",
"AIModule",
"GameplayTasks",
"Landscape",
"Foliage",
"AnimGraphRuntime",
"AnimGraph",
"BlueprintGraph"
});
二、AnimNode类
Public/AnimNode_CopyParentBone.h
/*
* \file AnimNode_CopyParentBone.h
*
* \author: Jia Zhipeng
* \date: 2016/02/24
*/
#pragma once
#include "AnimNode_SkeletalControlBase.h"
#include "AnimNode_CopyParentBone.generated.h"
USTRUCT()
struct FAnimNode_CopyParentBone :public FAnim