Download

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

Edit: So John pointed out how to do it, so nevermind my request. :slight_smile:

Cheers,
Dakraid

Rama, do you think it would be useful to have an event which is frame independent?
The current Event Tick fires every single frame, something which isn’t that consistent when getting low fps. I know you can use Delta Seconds to accommodate this a bit, but as far as I understood it you are limited how far. Another thing would be that it doesn’t change how often the event gets fired, so I think a proper solution would be nice and since I think it might be useful for everyone using BP it might be a good request.
I don’t know if Event can use parameters, otherwise I would say a parameter which determines how often per second the event should be fired would be nice.

PS: If it’s already possible to have a frame independent solution within BP which is basically an event which fires 50 times per second for example, then you can ignore this request ^^

If you want an event to fire 50 times a second you would create a custom event and set a timer for this custom event in begin play and set the timer to 0.02 seconds and tick “looping”. Then your custom event will fire 50 times a second, frame independent.

Thank you!
I misunderstood what timers were for, so I didn’t think about using them. Now after you mentioned it I checked the docs, tried it out and it works perfectly.
Again, thank you.

Cheers,
Dakraid

i dont mean to be any rude but guys i head into problem in ue4 but no one answering it so i try to post this at several threads this is a real dead end for me pls help me fix this blueprint

I made a whole sample project on adjusting key mappings that uses my Victory Plugin :slight_smile:

Just upgraded to 4.8
Rama’s UMG Rebindable Key System
[Full Project] Rama's UMG Rebindable Key System, Rebind keys at Runtime! - Community Content, Tools and Tutorials - Unreal Engine Forums!

:slight_smile:

Rama

**Improved Get Vertex Locations of Static Mesh

Now works in Packaged Games**

560b4f2b24fb116ffc5c2ddfd4f04754501ad6c2.jpeg

My C++ Code For You

See my PhysX wiki for the basic build.cs setup:

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

Enjoy!

:slight_smile:

Rama

True, but your system doesn’t allow the rebinding of InputAxis events, nor does it allow binding multiple keys to the same action… But this can be done easily by modifying Input.ini, and so I was hoping that in the absence of Victory Key Binding’s ability to do it I might just use BP commands to write/remove the appropriate stuff from the Input.ini file and be done with it, rather than trying to learn enough C++ to tweak your plugin to enable remapping WASD keys :stuck_out_tongue:

I know that supporting those is on your to-do list, but I also know you’re a busy guy with more important things to do than fix Epic’s lack of key rebinding so I was hoping to work around it rather than wait for you to get to it

Sound Nodes For You

Two sound BP nodes for you!

2d16db46320c67967ee1942b4e35742031880893.jpeg

59b3e199554c243882d759c4b789ea97621f9174.jpeg


**Latest plugin download on the UE4 Wiki: (7.93 mb) **
https://wiki.unrealengine.com/File:VictoryPlugin.zip

Victory Plugin on Media Fire

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking this link will not start a download instantly, it will just take you to the Media Fire file description.

Enjoy!

:slight_smile:

Rama

Key Rebinding

8ecc5dd055a307c7df41b32c70e56ddba193b6f4.jpeg

Dear Community,

I’ve now added support for rebinding both action and axis mappings during runtime!

  1. You can rebind Axis mapping keys!
  2. You can rebind Axis mapping scales (usually -1 or 1, but you can use any number you want)
  3. You can convert an input key event to an axis mapping (for use with “enter new key” type menus)

See my sample project for how to use these nodes!


**Runtime Key Rebinding Menu**

Again the whole point of these nodes is so that you can allow your players / users to change game axis/action mappings during runtime, to go with a key-rebinding menu!

Sample Project

I’ve composed a sample project that demonstrates the use of these nodes!

78e4afd1f68c16c666acb4a5fe6badb7773ab16f.jpeg]([Full Project] Rama's UMG Rebindable Key System, Rebind keys at Runtime! - Community Content, Tools and Tutorials - Unreal Engine Forums)


**Latest plugin download on the UE4 Wiki: (7.94 mb) **
https://wiki.unrealengine.com/File:VictoryPlugin.zip

Victory Plugin on Media Fire

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking this link will not start a download instantly, it will just take you to the Media Fire file description.

Enjoy!

:slight_smile:

Rama

Hi Rama,

This is in reference to the previous posts. Another alternative to spawn locations for fire particles: A voronoi fracture on a mesh creates destructible mesh. It slices the mesh into mini chunks. The number of slices or chunks can be increased or decreased based on requirements. If there is a way to access the individual locations (center) and unique ID of each of these chunks, they can become propagation points for fire. The ID is to do array/list manipulations. At present there are no blueprint nodes for this. Do you think this is doable? I am trying to improve my thesis system. The vertex based propagation is very limiting. If the voronoi method for calculation propagation points works, it may be a better and more dynamic method.

Also, is it possible to get vertex information for skeletal meshes? I have many objects that needs morph targets (therefore need to imported as skeletal meshes). This is to show effects of fire damage on those meshes.

Thanks!

Yes I’ll be working on this soon, and then on to destructible mesh piece locations, but will do Animated vertex locations of skeletal meshes first,

Keep in mind no one pays me to do any of this, so it may take some time

:slight_smile:

Rama

PS: Newest node release:

Rebinding Axis Key Mappings During Runtime!

Thanks Rama! Looking forward to the updates.

Did you know that you’re my hero, Rama?

I see from the picture that we can also map two or more keys to the same action, so that’s just like bonus points for me.

Epic should be paying you for this, man.

Now I have an options menu to finish.

Here is the logs from when I compile my game in VS:

Error 1 error C1083: Cannot open include file: ‘flex.h’: No such file or directory G:\UnrealEngine-4.8_NVIDIA_Techs\Engine\Source\Runtime\Engine\Public\PhysXIncludes.h 68 1 StairsGameC

Error 2 error C1083: Cannot open include file: ‘flex.h’: No such file or directory G:\UnrealEngine-4.8_NVIDIA_Techs\Engine\Source\Runtime\Engine\Public\PhysXIncludes.h 68 1 StairsGameC

Warning 3 warning C4996: including Slate.h is deprecated. Please include SlateBasics.h and then individual widget headers instead. G:\UnrealEngine-4.8_NVIDIA_Techs\Engine\Source\Runtime\Slate\Public\Slate.h 5 1 StairsGameC

Error 4 error : Failed to produce item: C:\Users\AndersN\Documents\Unreal Projects\StairsGameC 4.7 - Copy 4.8\Plugins\VictoryPlugin\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-VictoryBPLibrary.exp C:\Users\AndersN\Documents\Unreal Projects\StairsGameC 4.7 - Copy 4.8\Intermediate\ProjectFiles\ERROR StairsGameC

Error 5 error MSB3073: The command “G:\UnrealEngine-4.8_NVIDIA_Techs\Engine\Build\BatchFiles\Build.bat StairsGameCEditor Win64 Development “C:\Users\AndersN\Documents\Unreal Projects\StairsGameC 4.7 - Copy 4.8\StairsGameC.uproject”” exited with code -1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets 38 5 StairsGameC

I’m sorry but if you are using nVidia Branches of the Unreal Engine you need to talk to them about why Flex.h can’t be found.

The public PhysX includes are working for people on every OS for the main branch.

Ask them and feel free to let me know what they say!

:slight_smile:

Rama

Hee hee!

Yay!

:slight_smile:

Rama

8b90bb66175d0fd321089ff405b7353b054f1a9e.jpeg
(as of 6/11/15)

Dear Community,

I’ve made a new BP node for you!

HasSubstring compliments the functionality of FindSubstring.

FinsSubstring requires more inputs and returns an index within the source string.

My node, HasSubstring, requires only 1 input and only returns whether or not the supplied substring is in the source string.

I use the C++ version of HasSubstring all the time so I felt you would all enjoy having it in BP as well!


**Example Usage ~ Search Feature**

If you wanted to make a string-based search feature, that iterated over the contents of a list of UMG Texts, you can take the user's supplied search string and use my **HasSubstring **node to find all the UMG Text widgets that contain the user's supplied search string.

**Latest plugin download on the UE4 Wiki: (7.94 mb) **


**Victory Plugin on Media Fire**

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking this link will not start a download instantly, it will just take you to the Media Fire file description.

https://www.mediafire.com/?g6uf9kt5ueb2upj

Enjoy!

:)

Rama

But this only happens when I put your plugin into the Plugins folder of my project, when I remove your plugin from my project it compiles fine again. But I will ask in the Gameworks integration thread and report back if I hear anything.

UPDATE:
Here is the answer from GalaxyMan2015 on the GameWorks thread:

I believe Rama’s plugins have PhysX integrations right? If this is the case, then you will need to add FLEX to the DependencyModuleNames of the Build.cs of Rama’s plugin, I had to do this myself for my project as I have some PhysX integration stuff, and it was complaining it couldn’t find Flex.h until I added FLEX to the module list.

And this worked for me!!!

Hi,

I’ve tried using Rama’s plugin and when I ran into some packaging issues I decided to remove it (it was a time sensitive project and we couldn’t spend the time debugging). When I disabled it, the project became corrupted. (on 4.7.6, 4.8.1, and 4.8.2).

The game was a c++ project; on disabling the plugin, the visual studio part of the project was completely removed (as in, no longer in the VS project explorer - only the UE4 engine part of the VS project, and the files missing in the game folder) - even the compile option in the game editor was gone. It reduced it to a blueprint only project - which could not be cooked/packaged. I re-enabled the plugin and while I regained the visual studio part, the c++ would no longer compile; the editor would not even load, and I ended up having to delete the game and start over from a skeleton backup.

I would not recommend this plug in - this cost our group a lot of money.

Hello,

May i ask if the plugin is compatible with 4.9?

Thank you!