Download

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

I already did…There isnt a problem with the Physics Asset. The ragdoll works and looks good, but the problem is when I hook u the blueprint nodes as shown in the picture, it doesnt work like the video. The ragdoll does not behave like it does in the physics asset window, and it always spawns at the player start location. I can also never revert back to ana animated character, however my capsule collider always stays active whether the ragdoll is active or not…

Hee hee!

:slight_smile:

Rama


**Victory BP Library Compile Fix for Linux**

Dear Community and Eduard,

I just uploaded a fix so that Victory BP Library will compile in Linux!

Let me know how it goes!

Any build starting on or after **March 5th 2015** will contain this fix!
https://wiki.unrealengine.com/File:VictoryPlugin.zip

Rama

PS: if you can't see the March 5th build at above link let me know!

PSS: got to get more work done, will check out the ragdoll issues later when I get a chance :)

**Improved Get Vertex Locations of Static Mesh

Now works in Packaged Games**

560b4f2b24fb116ffc5c2ddfd4f04754501ad6c2.jpeg

I have re-written my Get Vertex Positions BP node so that it works in packaged games!


**My C++ Code For You**

See my PhysX wiki for the basic build.cs setup:
https://wiki.unrealengine.com/PhysX,_Integrating_PhysX_Code_into_Your_Project

Here is the code I wrote to get all of the transformed vertex positions using the Body Instance and PhysX code!

I am doing many safety checks to ensure the Body Instance data is valid before utilizing it, and the result is that now you can get accurate vertex locations in packaged games!



```


//~~~ PhysX ~~~
#include "PhysXIncludes.h"
#include "PhysicsPublic.h"		//For the ptou conversions
//~~~~~~~~~~~

//Get Transformed Vertex positions of any static mesh! -Rama
bool UVictoryBPFunctionLibrary::GetStaticMeshVertexLocations(UStaticMeshComponent* Comp, TArray<FVector>& VertexPositions)
{
	
	if(!Comp || !Comp->IsValidLowLevel()) 
	{
		return false;
	}
	//~~~~~~~~~~~~~~~~~~~~~~~
	
	//Component Transform
	FTransform RV_Transform = Comp->GetComponentTransform(); 
	
	//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;
	}
	//~~~~~~~~~~~~~~~~
	
	//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;
} 


```





**UE4 Wiki, Plugin Download Page**
https://wiki.unrealengine.com/File:VictoryPlugin.zip

Enjoy!

:)

Rama

Rama, you have to rename the latest version on the wiki to “5 march”. You named it 3 March, but I see that the fix about linux is present.

That’s actually the wiki being confused at the moment, started happening after recent wiki changes

Everyone, please just always get the topmost download from this page, regardless of the date :slight_smile:

Download page

Rama’ Suite of Custom Config Section BP Nodes!

Using my new suite of BP nodes, you can create as many of your own custom config file sections as you want!

You can both create and retrieve ini variables with any name and fundamental type that you want!


**Supported Types:**

Bool
Int
Float
Rotator
Vector
Color
String

Why Use a Config Var?

Config vars have several benefits

  1. Persistent data storage without using a SaveGame struct or GameInstance, store simple quantities of data and player customization this way! Data is stored between level loads and even after the current instance of the game is shut down.

So in this way config vars have greater persistence than the GameInstance class!

  1. Player-Driven Customization, Players of your game can tweak the config vars that you make available for them on their hard disk, by editing the .ini file directly, just like AAA games! This is the most significant advantage of using config files, and their real core purpose. :slight_smile:

  2. Simplicity, simpler to use than the BP SaveSystem (which is quite wonderful by the way), but not quite as powerful in that you can only store basic data types, not UObjects and Actors.

  3. **Organization, **you can create as many config header sections as you want using my nodes, organizing all your custom settings this way!


**Game.ini**

All of your custom created config vars and sections are stored in:

**Saved/Config/Windows/Game.ini**

Players can navigate to this location on their harddrive to edit your ini files just like any AAA game would allow!

Here's what my **Game.ini** file looks like after running some tests!



```


[DebugWindows]
ConsoleWidth=160
ConsoleHeight=4000
ConsoleX=-32000
ConsoleY=-32000

[/Script/UnrealEd.ProjectPackagingSettings]
BuildConfiguration=PPBC_Development
StagingDirectory=(Path="E:/MYPROJECT_DELETE")
FullRebuild=True
ForDistribution=False
UsePakFile=True
UseOBB_InAPK=False
CulturesToStage=en

[Victory]
BoolVar=True
VectorVar=X=1.000 Y=2.000 Z=9000.123
StrVar=Yay For Custom Config Vars!!!
FloatVar=234.000000


```



**Now you have fully featured ability to use config variables entirely in BP!**

Rama

PS: Here's example usage!

![Usage.jpg|1280x960](upload://vJ8VyiQCZXj6G59JXlBNDrMdZow.jpeg)

So when is Epic going to start incorporating some of these NEEDED nodes into new releases so they are just ‘there’ and no special building is needed to use Rama’s plugin?

Community Feedback Requested

Which of My Nodes Do You Want To See In-Engine?

I’d like to gather so feedback on which nodes you all think should be added to the engine!

I can submit pull requests to Epic, but I can’t request every node, so which nodes are the most important for you to have added to the engine?

This is a question to everyone :slight_smile:

Rama

Rama, do you have a simple list of all of them? :wink:

I know I have seen the on the fly key assignment stuff, that should be stock. The saving variables to the configs and reading them back, should be stock. I think you had the getting resolutions one… should be stock. I know there are others, but I simply can not keep track of all of them…

Why not? :> :stuck_out_tongue:

I’d definitely love to see the .ini work put into the engine as a standardized feature; I think a lot of people could benefit from that. People have to remember that not every user of Unreal Engine 4 comes to the forums and so gold dust like all the work you do Rama isn’t been used by absolutely everything when it really should be!

Heckle Epic and get all your work in UE4!

I suggest the viewport functions, to me they seem like they should’ve been in blueprints from the start.

https://answers.unrealengine.com/questions/168703/feature-request-blueprint-node-to-set-the-mouse-po.html

Thanks for all your work Rama.

I thought maybe this plugin could be used to gather quest text? Via File IO load string from text file line to variable? Would this be possible, and would this be a good solution, could the text file also be a database compatible file?

Related Can the Blueprint system manage quests and dialogue? - UE4 AnswerHub

All nodes should be in the engine.

Hee hee! Great to hear from you Ryan!

  • Blushes *

Hee hee! Thanks Galeon


**Config BP Suite ~ Add Your Voice**

I already submitted the Config BP Suite to the Engine and it is still pending processing.

You can add your voice to the discussion on whether to add my [Config BP Suite](https://forums.unrealengine.com/showthread.php?3851-(39)-Rama-s-Extra-Blueprint-Nodes-for-You-as-a-Plugin-No-C-Required!&p=232497&viewfull=1#post232497) to the engine here:

https://github.com/EpicGames/UnrealEngine/pull/604
(need to have a UE4-linked github account to view this link)

♥

Rama

Rama, is there an easy way to compile your plugin myself for a newer version of the engine? I am using the most recent 4.7 branch and the engine does not want to accept your latest version of the plugin. :slight_smile:

Rama I need this :smiley:

I know it takes years to make ^^

Rama’s Instanced Static Mesh Editor

I added a new feature to my Vertex Snap Editor Plugin which is an optional plugin that comes with my Victory BP Library!


**Super-Efficient Way to Render 1000s of Meshes!**

In this video you can see my frame rate go from 9 fps with 1500 static mesh actors in the scene, back to over 100 fps, with the simple press of a key! And all the geometry in the level is preserved!

You can now easily create a super efficient instanced static mesh from a selection of regular static meshes, and also undo the process to make individual edits!

**I explain everything in the video!**

Installation Instructions


Enjoy!

Rama

PS: Make sure to get my latest plugin version, it includes a fix for maintaining vertex shape choice as well as current vertex scaling (change vertex scaling with  and ] keys)

**Rama’s Instanced Static Mesh Editor

You Can Support Editor Integration!**

I’ve submitted my Instanced Static Mesh Editor Feature to Epic! You can support it if you would like it added to the engine!


**Videos**

**Video 2 ~ Editor Integration**

https://youtube.com/watch?v=uToLHLrSbDw

Video 3 ~ Blueprint Support!


**Full Description Here!**
https://forums.unrealengine.com/showthread.php?62352-Editor-Feature-Pull-Request-Rama-s-Instanced-Static-Mesh-Editor-Feature&p=244125&viewfull=1#post244125

Enjoy!

Rama

What a great addition EverNewJoy aka Rama

https://assets-cdn.github.com/images/icons/emoji/unicode/1f44d.png

Your devotion to the UE4 Community is unquestionable and outstanding

https://assets-cdn.github.com/images/icons/emoji/unicode/1f4af.png