Switching blendspaces

G’day,

The Agent has a great tutorial on using weapon types similar UDK/UT3 to switch between blend spaces.

Is there an existing way to switch blend spaces with out a hard coded variable?

Figured I’d better ask before I start as I don’t want to spend time recreating a new class to support something that can already be done that I have simply over looked.

Thank you.

-Kris

Closing for tracking purposes. Please reply if you need additional assistance with this issue.

Thanks!

Sean

Sorry for delay.

Is there an existing way to switch blend spaces with out a hard coded variable?

I’m not exactly sure what you’re asking. Could you post link of the tutorial so I can see what you meant?

Thanks,

–Lina,

Here is the tutorial:
http://forums.epicgames.com/threads/973421-Tutorial-Blending-In-AnimBluePrint-based-on-Weapon-Enum-Types

We’re essentially looking for the UE4 equivalent of the aim offset and aim sequence nodes, in addtion to animation sets.

If we use enumeration and someone wishes to add a type of item that can’t use any existing offsets, they would have to redo all the character related blueprints/code, adding the new type.

In UE3, we had each item setup to specify the animation sets it wanted to use. This allowed us to share animations and offsets where possible, but use unique offsets or animations when required. This was due to animations with the same name overriding earlier ones.

eg. The AK47 and M4 both use a generic rifle animation set, but the AK47 has a different reload animation. In its animation set list, the first entry is for the generic rifle animation set and the second is for a set that contains AK47 specific reload animations.

I’m looking to support that again. Makes it a bit more difficult to create, but makes it a lot easier for modders later on.

Hi Christopher,

To clarify, TheAgent is using BlendPoses not BlendSpaces. He is driving his BlendPose by an Enumeration. In his case, he is creating his Enumeration in code, although that is not entirely necessary. If you Right-click in the Content Browser and choose Miscellaneous > Enumeration, then you can create your own Enumeration asset and populate it with as many elements as you require. After it is created, in your Animation Blueprint, if you right-click and choose Blends, Blend List by Enum you will see your custom Enumeration available in the list. After the node is added, you can use a variable made in-editor to set the ActiveEnumValue.

I hope that helps. Cheers!

-Stephen

If I do them by enum, we are limited to a set amount of blend spaces.

I am looking for a way to switch between blend spaces by name, not enum.

Something like:

void UAnimGraphNode_DynamicBlendSpace::SetBlendSpace(FString NewBlendSpaceName)
{
	if (Node.BlendSpace != NULL)
	{
		const FString CurBlendSpaceName(Node.BlendSpace->GetName());
		
		if (CurBlendSpaceName != NewBlendSpaceName)
		{
			static ConstructorHelpers::FObjectFinder NewBlendSpace(NewBlendSpaceName);
			Node.BlendSpace = NewBlendSpace;
			< re-init / cook / bake / what ever>
		}
	}
}

Thoughts?

We don’t have dynamic blendspace player you described above. I don’t think it will be hard to do, it just hasn’t come up as an issue. What you described sounds reasonable if you need that.

Thanks,

–Lina,

Fair enough :slight_smile:

Put it on hold for a moment as we transition to Beta5 etc.

Thank you for the reply.

-Kris

im having one hell of a time with this in 4.12 i know this is an old thread but i can t get it to work at all when i use blend pose by enum for weapon type enum the aim offset stops working i cant even get it to work with blend spaces…