Download

(39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required!

Hmm, I’ve got it working fine from the project folder. It doesn’t appear in the default list of plugins on the right, it’s in a category at the bottom of the list on the left. I almost overlooked it.

Yes all the engine plugins are at the top, and the bottom is for project context, I believe :slight_smile:

Alex3d let us know if this info helps at all!

Here’s a pic

Rama

New BP Node

Clone Static Mesh Actor

Clones the mesh, materials, rotation, location, and physics state of a Static Mesh Actor.

You can set an optional offset of location and rotation from the original!

This is done during game-time!

You can clone the output of this node, to creating a series of actors rotated / translated from the original (like an array in 3ds max)

Or, you can numerically increment the location and rotation offsets and keep using the original in a for loop !

:slight_smile:


**Picture**

![4c4bf184ee26f08aef760fe5c670efb017557b23.jpeg|1440x1080](upload://aSWZJTY8PrNb4rR6FbAtFjt3M1d.jpeg)

C++ Code


AStaticMeshActor* UVictoryBPFunctionLibrary::Clone__StaticMeshActor(UObject* WorldContextObject, bool&IsValid, AStaticMeshActor* ToClone, FVector LocationOffset,FRotator RotationOffset)
{
	IsValid = NULL;
	if(!ToClone) return NULL;
	if(!ToClone->IsValidLowLevel()) return NULL;
	//~~~~~~~~~~~~~~~~~~~~~~~~~~~
	
	if(!WorldContextObject) return NULL;
	
	//using a context object to get the world!
    UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
	if(!World) return NULL;
	//~~~~~~~~~~~
	
	//For BPS
	UClass* SpawnClass = ToClone->GetClass();
	
	FActorSpawnParameters SpawnInfo;
	SpawnInfo.bNoCollisionFail 		= true;
	SpawnInfo.Owner 				= ToClone;
	SpawnInfo.Instigator				= NULL;
	SpawnInfo.bDeferConstruction 	= NULL;
	
	AStaticMeshActor* NewSMA = World->SpawnActor<AStaticMeshActor>(SpawnClass, ToClone->GetActorLocation() + FVector(0,0,512) ,ToClone->GetActorRotation(), SpawnInfo );
	
	if(!NewSMA) return NULL;
	
	//Copy Transform
	NewSMA->SetActorTransform(ToClone->GetTransform());
	
	//Mobility
	NewSMA->StaticMeshComponent->SetMobility(EComponentMobility::Movable	);
	
	//copy static mesh
	NewSMA->StaticMeshComponent->SetStaticMesh(ToClone->StaticMeshComponent->StaticMesh);
	
	//~~~
	
	//copy materials
	TArray<UMaterialInterface*> Mats;
	ToClone->StaticMeshComponent->GetUsedMaterials(Mats);
	
	const int32 Total = Mats.Num();
	for(int32 v = 0; v < Total; v++ )
	{
		NewSMA->StaticMeshComponent->SetMaterial(v,Mats[v]);
	}
	
	//~~~
	
	//copy physics state
	if(ToClone->StaticMeshComponent->IsSimulatingPhysics())
	{
		NewSMA->StaticMeshComponent->SetSimulatePhysics(true);
	}
	
	//~~~
	
	//Add Location Offset
	const FVector SpawnLoc = ToClone->GetActorLocation() + LocationOffset;
	NewSMA->SetActorLocation(SpawnLoc);
	
	//Add Rotation offset
	FTransform TheTransform = NewSMA->GetTransform();
	TheTransform.ConcatenateRotation(RotationOffset.Quaternion());
	TheTransform.NormalizeRotation();
	
	//Set Transform
	NewSMA->SetActorTransform(TheTransform);
	
	IsValid = true;
	return NewSMA;
}

Thanks. I probably overlooked it, because it is there.

Looking at your wiki…

I don’t see this at all. Only the V snap to vertice feature is working. U and Y does nothing.

I’ve noticed it doesn’t seem to work with meshes that are in a blueprint(Did I miss something?), Y doesn’t work if the object is over a brush/CSG geometry, works fine when over another static mesh or landscape.

The vertex snap feature and the U and Y keys are something that have to be activated via config file :slight_smile:

Did you do that part?

None of this required to use the Blueprint nodes though! They will work as soon as editor is restarted after checking my plugin as active.


**I am giving my Vertex Snap Feature To Epic**

I am currently reworking the vertex snap feature to be integrated directly into the engine, no longer a plugin,

![2e14576c31d1833e7d7fc6208633b6c1cad77cb9.jpeg|751x633](upload://6zDxNkGn5ZFGjIGwdlDLBL5sdlv.jpeg)

![acf0bb09fe2b65ba33df013efce5e030beeec616.jpeg|923x636](upload://oFTT3489lBgfZaig4il8XUJVNTU.jpeg)

![5efd65da42eb723a2a376f30831a80d835464d1d.jpeg|925x650](upload://dyjME8XsQ4g9aEKNAiVtR1Ylpgx.jpeg)

you can vote for it here!

https://forums.unrealengine.com/showthread.php?3275-Giving-my-Vertex-Snap-Editor-Feature-to-Epic-as-Pull-Request

ooooh, yea that makes sense Xodroc! Cause BSP is not getting detected by my trace method with the Y drop-to-nearest surface feature!

Thanks for clarifying that!

I’ve not put much energy into the Plugin vertex snap and other Victory Editor Mode features since I’m busy integrating vertex snap directly into the Engine :slight_smile:


**Video of UE4 Vertex Snap Editor Integration**

This is an alpha footage video of UE4 Vertex Snapping, as a built in feature that will come with the Editor!


https://www.youtube.com/watch?v=fW23S0DlF3g


You can vote for it here!

https://forums.unrealengine.com/showthread.php?3275-Giving-my-Vertex-Snap-Editor-Feature-to-Epic-as-Pull-Request

that not for a noob like me but i like see people share ‘open’ here work and ideas, that help others learn. thx

Yes, I did. But
Anyway, I will wait for the Vertex Snap Editor Integration. :wink: Thanks

Get Screen Resolutions & Combine String

Two New BP Nodes

The download link in original post is now updated with two new nodes!


**Get Screen Resolutions**

Obtains a list of all the screen resolutions supported by the user's current display adapter!

**Option to include or exclude the refresh rates that are available for each resolution!**


**New version of Get Screen Resolutions**
![3975ab3d6a15f4e36483e111fc160973adf7e86d.jpeg|1280x960](upload://8cjjRazEUm77M7U8S6HTegXHO5n.jpeg)

Combine Strings

Combine two strings with an optional separator and labels that will appear in front of each member of the pair.


Picture

I used the two nodes above to print out a listing of all supported screen resolutions, on the press of a key, using blueprints!

(open in new tab to see full size)

https://d3ar1piqh1oeli.cloudfront.net/e/e0/ScreenResolutions.jpg/1400px-ScreenResolutions.jpg

Dear Rama,

Have i ever told you how crazy awesome you are?

**** Rama, you are unstoppable! Thank you for this.

Quick suggestion: Arrow keys move actors in the X/Y via the snap grid amount

excelent! thank you!

I just wanted to thank you for all this contribution to the community.
It’s great! and yeah you are awesome :smiley:

Rawrrr!!

(nice suggestion too, have you tried ctrl + LMB, RMB, and both mouse buttons? That feature is already built in :slight_smile: )

CTRL + LMB + mouse move = x axis
CTRL + RMB + mouse move = y axis
CTRL + Both + mouse move = z axis

Hee hee! Thanks Jacky!

Hee heeee!

I didn’t know that, but now I do! :slight_smile:

I guess I should have explained my suggestion better (but I was trying to be quick hehe). I meant using the arrow keys to nudge the actor a one (grid) slot. Sometimes you want to move that actor one space over and but the mouse moves it two, or three. It really becomes a pain when working with large objects, etc.

oooh!

That would be another great UE4 Engine pull request so that everyone can benefit from it.

I will try to remember it. :slight_smile: Remind me periodically hee hee, I’m still working the Vertex Snap Editor Integration.

Rama

Trace Data BP Nodes For Your Use

[FONT=Comic Sans MS]Featured BP Nodes
**
Trace Data**

I’ve designed several BP nodes to make doing traces easier!

Again you can download and use these nodes as a plugin, even in non-C++ project!

Get Trace Data From Skeletal Mesh Socket

:slight_smile:

Rama

Hey Rama, this looks really great and just what I was looking for (with the Vertex snapping). Tried to install this for a project using UE 4.1 and I see that the tools are enables and can see Victory items in the Blueprint window, but I do not see the referenced “10. You should now see the Victory Editor HotKeys button in the top left” item, nor do any of the hotkeys seem to be working. I followed all of the install instructions from the wiki very closely. Any ideas?

Hi there!

Many people have gotten it working so we’ll figure it out :slight_smile:

Did you do the step about the Config/DefaultEngine.ini ?


;[/Script/Engine.Engine]
;UnrealEdEngine=/Script/VictoryBPLibrary.VictoryEdEngine

Remove the semi-colons to make this active, AFTER making sure you are seeing the extra BP nodes as well (mainly for other readers)

If anyone uses this and their editor crashes on load, just comment the above lines back out and you will be fine.

My plugin cannot hurt your Engine install, you just have to comment out the above and follow the steps in order :slight_smile:


**Edit**

Oh you know

the wiki formatted my config file lines funny



```

[/Script/Engine.Engine] UnrealEdEngine=/Script/VictoryBPLibrary.VictoryEdEngine

```



should be



```

[/Script/Engine.Engine] 
UnrealEdEngine=/Script/VictoryBPLibrary.VictoryEdEngine


```




See if that helps!

:)

Rama

Rama, you sly dog! :slight_smile:

That was it - the strange formatting from the wiki! Replaced the old .ini code with that and all is well! Thanks a bunch!