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

Get Static Mesh Vertex Locations Using PhysX


**Works in Packaged Games by using PhysX coding!**

**C++ Source Code For You! ♥ **



```


bool UVictoryBPFunctionLibrary::GetStaticMeshVertexLocations(UStaticMeshComponent* Comp, TArray<FVector>& VertexPositions)
{
	VertexPositions.Empty();
	 
	if(!Comp || !Comp->IsValidLowLevel()) 
	{
		return false;
	}
	
	//Body Setup valid?
	UBodySetup* BodySetup = Comp->GetBodySetup();
	
	if(!BodySetup || !BodySetup->IsValidLowLevel())
	{
		return false;
	}  
	
	//Get the Px Mesh!
	PxTriangleMesh* TriMesh = BodySetup->TriMesh;
	 
	if(!TriMesh) 
	{
		return false;
	}
	//~~~~~~~~~~~~~~~~
	
	//Component Transform
	FTransform RV_Transform = Comp->GetComponentTransform(); 
	
	//Number of vertices
	PxU32 VertexCount 		= TriMesh->getNbVertices();
	
	//Vertex array
	const PxVec3* Vertices 	= TriMesh->getVertices();
	
	//For each vertex, transform the position to match the component Transform 
	for(PxU32 v = 0; v < VertexCount; v++)
	{ 
		VertexPositions.Add(RV_Transform.TransformPosition(P2UVector(Vertices[v])));
	}
	
	return true;
} 


```


Download Link (7.8mb)

UE4 Wiki, Plugin Download Page

:slight_smile:

Alright, well to save you the trouble, I’ll write you a short piece of code for rounding decimal places so you have to think less:


float FloatForRound = 3.14159265
int DecimalsToKeep = 5

FloatForRound = (int)(FloatForRound * 10^DecimalsToKeep) / 10^DecimalsToKeep

Obviously doesn’t round to nearest at the end, but you get the point in case you didn’t automatically know what to do.

Made a minimap with your Save Pixels node:


On the Save Pixels node, can you add an output for a texture2d ?

Also, the way your node pulls data from the array does not line up with my data structure. I basically need to be able to rotate it 90 degrees and then flip it horizontally. Would it be possible to add some orientation manipulation capabilities to the node or another node? Basically need the simple rotate options that MS Paint has: Rotate 90 Counter, Rotate 90 Clockwise, Flip Horizontal, and Flip Vertical.

The same options would be useful for your Load Texture nodes as well.

Oh dont worry, I already have the code I need, just have to write the node and update my plugin :slight_smile:

Thanks though!

:slight_smile:

Oooh nice! Thanks for sharing!

Yes a “rotate image pixels” node sounds like fun, gonna take me a bit of to do it, but it’s a great idea!

:slight_smile:

100+ Extra BP Nodes For You!

No c++ required!

No compile required!

Download and plug in!

**Latest plugin download is here: (about 8 mb) **

:slight_smile:

I call on your superpowers for blueprint nodes to ask for a node I think would be very useful (I’ve been trying to do it myself but I’m just not good enough with c++ yet) Download image from url to either save to file or output Texture2D (or both) It would help me very much in a project.
And btw thank you for your awesome plugin I’ve been using it a lot ^^

wow that’s quite the request! I’m gonna process some of my other node requests and get to that one soon as I can :slight_smile:

Get Float As String With Precision Using Epic’s FText Helpers

Dear Community,

I’ve updated my Get Float As String With Precision node to

  1. Be pure (no exec chain)

  2. Utilize Epic’s FText C++ code to leverage of their hard work on float decimal precision.

  3. Add bool to make the leading 0 optional, so 0.5 could be shown as 0.5 or .5 depending on your preferences!

Yay!


**My C++ Code For You!**

Here's how it works in C++ !



```


void UVictoryBPFunctionLibrary::StringConversion__GetFloatAsStringWithPrecision(float TheFloat, FString & FloatString, uint8 Precision, bool IncludeLeadingZero)
{ 
	FNumberFormattingOptions NumberFormat;					//Text.h
	NumberFormat.MinimumIntegralDigits = **(IncludeLeadingZero) ? 1 : 0;**
	NumberFormat.MaximumIntegralDigits = 10000;
	NumberFormat.MinimumFractionalDigits = **Precision;**
	NumberFormat.MaximumFractionalDigits = **Precision; **
	FloatString = FText::AsNumber(**TheFloat**, &NumberFormat).ToString();
}


```



**Latest plugin download is here: (about 8 mb) **

Enjoy!

:slight_smile:

Hi ,

Thanks a lot for your Lib. It’s great.
I have an with Capture 2D Save Image. I have an access violation in msvcr120.dll
I tried to stop capture every frame, add a boolean to prevent multiple save, but no way. Sometimes, it’s work but no always.

will save me some effort and BP space, thanks!

You’re welcome!

I have pm’ed the Victory Dev that made that node, will see what they say :slight_smile:

BP Node to Get Your Computer’s IP Address!

Dear Community,

I’ve finally succeeded at implementing a node that many have been trying to implement since the Beta!

is a BP node that gets the IP address of your computer!

My node relies on http://api.ipify.org, a free and easy way to get your current IP address.

Because node involves an HTTP request I can’t make it a static library node, so I instead made a VictoryPC class that contains only functionality.

You can easily re-parent your current player controller blueprint to use my plugin VictoryPC class!

File->Reparent

and if you are not using a PC already, make sure to go to World Settings and use my VictoryPC as your player controller!

As long as my Victory BP Library is an active plugin for you, then VictoryPC class will show up!

Download:


**Celebration!**

Yay!

Now we can  get the IP address of the local computer for use with multiplayer games or webserver activities!

Enjoy!



Pic

Here’s the setup you should create in your Blueprinted version of my VictoryPC!


**C++ Source Code For You**

Here is the C++ source code I wrote just earlier today!



```


bool AVictoryPC::VictoryPC_GetMyIP_SendRequest()
{
	FHttpModule* Http = &FHttpModule::Get();
	
	if(!Http)
	{
		return false;
	}
	 
	if(!Http->IsHttpEnabled()) 
	{
		return false;
	} 
	//~~~~~~~~~~~~~~~~~~~
	
	FString TargetHost = "http://api.ipify.org";
	TSharedRef < IHttpRequest > Request = Http->CreateRequest(); 
	Request->SetVerb("GET");
	Request->SetURL(TargetHost);
	Request->SetHeader("User-Agent", "VictoryBPLibrary/1.0");
	Request->SetHeader("Content-Type" ,"text/html");
 
	Request->OnProcessRequestComplete().BindUObject(, &AVictoryPC::HTTPOnResponseReceived);
	if (!Request->ProcessRequest())
	{
		return false;
	}
	  
	return true;
}
	
void AVictoryPC::HTTPOnResponseReceived(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
{
	->VictoryPC_GetMyIP_DataReceived(Response->GetContentAsString());
}
 


```



**Latest plugin download is here: (about 8 mb) **

Enjoy!

:slight_smile:

4.8 In Progress

Please know that I am upgrading my Victory plugin to 4.8 as fast as I can, I will post again when I have finished!

:slight_smile:

In the meantime I have working. I took the errors from the victorygamemode and just fixed them (meaning I just made the virual functions not overridable it was throwing an not-overridden error in the gamemode header). IS NOT AN OFFICAL FIX, IT MIGHT CRASH, CORRUPT YOUR GAME OR OTHERWISE ITS SIMPLY A VERSION THAT WORKS IN 4.8 AND IN NO WAY AM I CONNECTED TO .

https://mega.co.nz/#!DxtExJJC!tcs6I1mRpjffU0xb3wNRcuBicgZvOnSyTGBRrWlljYo

4.8 Released! (6/10/15)

Dear Community,

I’ve completed the Victory Plugin upgrade to 4.8 !

is the 6/10/15 build of the plugin that you can download from the Epic Wiki!


**Latest plugin download is here: (about 8 mb) **
https://wiki.unrealengine.com/File:VictoryPlugin.zip

Enjoy!



@Nsmonia ~ Thanks for sharing!

I simply removed my VictoryGameMode class since Epic's new changes make it unnecessary.

If anyone has an because of , (can't load a BP from removed C++ class), use ['s version](https://mega.co.nz/#!DxtExJJC!tcs6I1mRpjffU0xb3wNRcuBicgZvOnSyTGBRrWlljYo) and then you can reparent back to regular GameMode.

Again if  is an for anyone just let me know :)

Thanks , was scared I was going to ruin my project if I started developing in 4.8 using my half-baked fix. bows down Your speed is explanatory.

Hi ,

I don’t think your newest version made it to the wiki - your last upload was on the 7th, for the HTTP patch I assume. Here’s a screenshot:

http://puu.sh/ikm5N/a8c3951679.png

What am I doing wrong? Q_Q

Unfortunately I can’t build my project with 's June 10th Victory Plugin, but it works with 's quick fix. I also did reparent my own GameMode to the regular GameMode class. I wish I could copy the error log, but it dissappears as soon as the error message pops up telling me to try rebuilding from source.



The following modules are missing or built with a different engine version:

UE4Editor-VictoryBPLibrary.dll

Would you like to rebuild them now?


Same for me. I’ll have to stick to 4.7 for now.