Download

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

Thank you for the welcome, and thanks to both of you for the answer!

I should apologize for wasting your time with such a long post for such a simple solution. I searched quite a lot for solutions on google and the AnswerHub, and I only found two answers (neither of which I can find at the moment): One saying it wasn’t possible (to do with blueprint), and the other saying it could be done with C++. Had I realized this was doable any other way, I’d have created a separate topic rather than unintentionally hijacking this.

Quite frankly, I have pretty much misunderstood some of the concept of casting nodes. I was under the impression that the cast nodes in blueprint wasn’t a conversion, but rather a “do something as if you are this object/actor/etc.”, hence I didn’t make the connection that this would actually work.

Should have tried it when Spoondog suggested it before posting, but for some reason I didn’t… sorry about that. Really, both of you handed me the solution, so thank you a lot. You both in many ways just saved my project. :slight_smile:

Solution for the Packaging Issues, Win32 and Win64 Both Supported Now

Dear Community,

So I’ve finally determined the source of the packaging issues people have been reporting.

I need to package my own test C++ project for both win64 and win32 packaged builds to create the required files.

Thus the size of the Victory Plugin has now basically doubled, from about 8mb to 15.5mb.

The additional file which is required for packaged 32 bit builds is:



Binaries/Win32/UE4-VictoryBPLibrary.lib


The one used by Win64 packaged builds is



Binaries/Win64/UE4-VictoryBPLibrary.lib



**Win64 and Win32 Packaged Builds Now Supported**

You will find Win32 and Win64 packaged build supported in my most recent Wiki and Media fire downloads!

:)

**Latest plugin download on the UE4 Wiki: (15.5 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

I was under the impression UE doesn’t support win32 anymore?

Oooooommmmmmgggggggg!rrrrrrama!

Congrats RAMA on the Unreal Grant! Now maybe, we will be able to see some awesomeness and great tutorials/documentation on each of your nodes;) Outside the plugin comments that is:)

You deserved that grant Rama, you are a HUGE benefit for the UE4 community! Not only do you create things we profit immensely from (seriously, without your BP plugin I would have a problem in some areas), but your cheerful way of interacting with people is just as great, and it actually helped me to feel more welcome in this community! :smiley:

And while I’m at it: Thank you and keep it up, Rama!

Hey Rama, you are awesome :cool:

Hee hee! Rawr!

Thanks!

“and it actually helped me to feel more welcome in this community!”

Yaaay! That has always been my goal! Glad to have you here Dakraid!

Hee hee! Blushes

Very nice to hear from you all!

:slight_smile:

Rama

In the first page it is still says : “Current Engine Version: 4.7 Full Release”
You may want to fix it :stuck_out_tongue:

Btw it still fails when I’m trying to pack a 32bit shipping release.

Maybe this is because the plugin has in it’s 64bit folder the extra files:

While the 32 bit folder has only:

?

Thank you…
Tiny Tanks Unblocked

Hey Rama,
I have managed to implement Fog of war following this tutorial. The problem I face, as mentioned, is while using higher resolution dynamic texture as the whole texture gets updated(reconstructed) every frame. You always come up with cool ideas, so, my question is is there any better way to do this?
Regards

Thanks for the report, will work on this :slight_smile:

Welcome to the forums GamerMaximas! I will contemplate this and let you know!

Rama

ClosestPointToCollision.jpg

Dear Community,

I’ve just released two new nodes to help you with all of your** collsion surface distance checks**!

These nodes let you easily tell how far a given point is from the actual PhysX surface of any UE4 game object with collision / primitive component!

I’ve even given you a node that let’s you directly check the distance between the physical surfaces of two objects!

See pics!

These nodes work with Characters and Skeletal Mesh actors that have physics assets!


**Distance Between Surfaces Of Two Objects**

![6b63e52de9205cb6a07392fec3226bdf5fb84299.jpeg|1273x835](upload://fk173M0m6T8zQVYU8Estu6uKiUh.jpeg)

World Point Distance To Collision Of Any Object

42686311a9773f2c63184ad34db5dc74c22ddbb9.jpeg

SurfaceDistanceBetweenBP.jpg


**My C++ For You**

Here's the C++ code for my algorithm to get the distance between the colliding surfaces of any two objects!



```


float UVictoryBPFunctionLibrary::GetDistanceBetweenComponentSurfaces(UPrimitiveComponent* CollisionComponent1, UPrimitiveComponent* CollisionComponent2, FVector& PointOnSurface1, FVector& PointOnSurface2)
{
	if(!CollisionComponent1 || !CollisionComponent2) 
        {
            return -1;
        } 

        //Closest Point on 2 to 1
	CollisionComponent2->GetDistanceToCollision(CollisionComponent1->GetComponentLocation(), PointOnSurface2);
  
	//Closest Point on 1 to closest point on surface of 2
	return CollisionComponent1->GetDistanceToCollision(PointOnSurface2, PointOnSurface1);
}

_


```



**Latest plugin download on the UE4 Wiki: (7.99 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.

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

Enjoy!

:)

Rama

Hey Rama,

Thanks for fixing the packaging!

Many modern games engage their community by encouraging share of an animated gif (share your hilarious fails etc). So allow me to request another node if you ever feel inspired to make it: “Save Animated Gif” - we could feed in an array of pixel arrays for the raw frames, though it would go nicely with a “Toggle Image Recording” node (with float input for frame rate) that processed the frames on the fly to reduce the memory needed to store the frames.

I wish I knew c++ …

Neat idea. I wouldn’t jump to requesting that feature specifically for the .gif extension though. What I mean is that other media formats/services like WebM and YouTube could possibly be better avenues for that feature.

My Dearest Rama,

Any update for 4.9? I’m bout to try compiling manually with latest version but we’ll see. Thanks.

Edit results, blank project with aug 26th victory plugin




1>  [12/26] Link UE4Editor-Continuity.dll
1>     Creating library F:\Perforce\Fixpluginsfor49\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-Continuity.lib and object F:\Perforce\Fixpluginsfor49\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-Continuity.exp
1>  VictoryTMapComp.cpp
1>  VictoryBPLibrary.generated.cpp
1>  VictoryPC.cpp
1>  VictoryISM.cpp
1>  VictoryBPFunctionLibrary.cpp
1>  VictoryBPLibraryModule.cpp
1>  TKMathFunctionLibrary.cpp
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\TKMathFunctionLibrary.cpp(412): error C2248: 'FColor::FColor' : cannot access private member declared in class 'FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(584) : see declaration of 'FColor::FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(395) : see declaration of 'FColor'
1>  VictoryEdEngine.generated.cpp
1>  JoyISM.cpp
1>  VictoryEdEngineModule.cpp
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(586): warning C4996: 'FActorSpawnParameters::bNoCollisionFail': bNoCollisionFail is deprecated. Use SpawnCollisionHandlingOverride to override the actor class's spawn collision handling setting. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>          C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Engine\Classes\Engine/World.h(458) : see declaration of 'FActorSpawnParameters::bNoCollisionFail'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(679): warning C4996: 'FMath::GetMappedRangeValue': GetMappedRangeValue is deprecated. Use GetMappedRangeValueClamped instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>          C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Core\Public\Math\UnrealMathUtility.h(548) : see declaration of 'FMath::GetMappedRangeValue'
1>  VictoryEdEngine.cpp
1>C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Slate\Public\Slate.h(5): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Slate\Public\Slate.h(5): error C2440: 'initializing' : cannot convert from 'const char [106]' to 'int'
1>          There is no context in which this conversion is possible
1>  VictoryEdAlignMode.cpp
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryEdEngine\Private\VictoryEdAlignMode.cpp(227): warning C4996: 'FActorSpawnParameters::bNoCollisionFail': bNoCollisionFail is deprecated. Use SpawnCollisionHandlingOverride to override the actor class's spawn collision handling setting. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>          C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Engine\Classes\Engine/World.h(458) : see declaration of 'FActorSpawnParameters::bNoCollisionFail'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(1180): error C2248: 'FColor::FColor' : cannot access private member declared in class 'FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(584) : see declaration of 'FColor::FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(395) : see declaration of 'FColor'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(1322): warning C4996: 'FActorSpawnParameters::bNoCollisionFail': bNoCollisionFail is deprecated. Use SpawnCollisionHandlingOverride to override the actor class's spawn collision handling setting. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>          C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Engine\Classes\Engine/World.h(458) : see declaration of 'FActorSpawnParameters::bNoCollisionFail'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryEdEngine\Private\VictoryEdAlignMode.cpp(341): warning C4996: 'FActorSpawnParameters::bNoCollisionFail': bNoCollisionFail is deprecated. Use SpawnCollisionHandlingOverride to override the actor class's spawn collision handling setting. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>          C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Engine\Classes\Engine/World.h(458) : see declaration of 'FActorSpawnParameters::bNoCollisionFail'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(1467): error C2027: use of undefined type 'UBodySetup'
1>          C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Engine\Classes\Engine/SkeletalMesh.h(598) : see declaration of 'UBodySetup'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(1467): error C2227: left of '->IsValidLowLevel' must point to class/struct/union/generic type
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(1473): error C2027: use of undefined type 'UBodySetup'
1>          C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Engine\Classes\Engine/SkeletalMesh.h(598) : see declaration of 'UBodySetup'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(1473): error C2227: left of '->TriMesh' must point to class/struct/union/generic type
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(1490): error C3861: 'P2UVector': identifier not found
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(1575): error C2664: 'void DrawDebugLine(const UWorld *,const FVector &,const FVector &,const FColor &,bool,float,uint8,float)' : cannot convert argument 4 from 'FLinearColor' to 'const FColor &'
1>          Reason: cannot convert from 'FLinearColor' to 'const FColor'
1>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(2004): warning C4996: 'FActorSpawnParameters::bNoCollisionFail': bNoCollisionFail is deprecated. Use SpawnCollisionHandlingOverride to override the actor class's spawn collision handling setting. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>          C:\Program Files\Epic Games\4.9\Engine\Source\Runtime\Engine\Classes\Engine/World.h(458) : see declaration of 'FActorSpawnParameters::bNoCollisionFail'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(2152): error C2248: 'FColor::FColor' : cannot access private member declared in class 'FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(584) : see declaration of 'FColor::FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(395) : see declaration of 'FColor'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(2182): error C2248: 'FColor::FColor' : cannot access private member declared in class 'FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(584) : see declaration of 'FColor::FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(395) : see declaration of 'FColor'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(2200): error C2248: 'FColor::FColor' : cannot access private member declared in class 'FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(584) : see declaration of 'FColor::FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(395) : see declaration of 'FColor'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(2530): error C2248: 'FColor::FColor' : cannot access private member declared in class 'FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(584) : see declaration of 'FColor::FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(395) : see declaration of 'FColor'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(2578): error C2248: 'FColor::FColor' : cannot access private member declared in class 'FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(584) : see declaration of 'FColor::FColor'
1>          c:\program files\epic games\4.9\engine\source\runtime\core\public\math\Color.h(395) : see declaration of 'FColor'
1>F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(3899): error C2664: 'int32 TArray<FColor,FDefaultAllocator>::Add(const FColor &)' : cannot convert argument 1 from 'const FLinearColor' to 'FColor &&'
1>          Reason: cannot convert from 'const FLinearColor' to 'FColor'
1>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>  -------- End Detailed Actions Stats -----------------------------------------------------------
1>ERROR : UBT error : Failed to produce item: F:\Perforce\Fixpluginsfor49\Plugins\VictoryPlugin\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-VictoryBPLibrary.exp
1>  Total build time: 70.71 seconds
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets(43,5): error MSB3075: The command ""C:\Program Files\Epic Games\4.9\Engine\Build\BatchFiles\Rebuild.bat" ContinuityEditor Win64 Development "F:\Perforce\Fixpluginsfor49\Continuity.uproject" -rocket" exited with code 5. Please verify that you have sufficient rights to run this command.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========


Edit about 2 hours of messing around and I cant get it to compile for 4.9 the slate/FColor stuff is weird to my skills. Will just wait patiently for the god of UE4: Rama.

Packaging Issues Explained

Dear Everyone,

For BP-only projects I have to provide the .lib files, and so that means I have to compile each version on my local C++ build.

I plan to support Win32 Shipping and Win64 Development indefinitely, if you need another variant like Win64 shipping, please convert your project to a C++ project (requires Visual Studio) to get the specific build you need.

My Victory BP Library Plugin files are now too large for the Epic wiki file limit of 20mb, so I"ve split my plugin into the main plugin for Editor development, and also the packaged binaries.

Rama’s Victory BP Library, separate file for packaged game binaries

So if you are wanting to package a BP only project with my plugin, please use:

win64 development
win32 shipping

for your packaging settings. :slight_smile:


**Why Not Include All Variants?**

I am not getting paid to do this in any way and I have time constraints. If someone else wishes to help me by packaging the other variants (or send donations) that'd be great :)

Donations can be sent via:
http://lightningfitness.org/donate/


**Have Fun Today!**

Enjoy!

Rama

I am working through a bug in 4.9 that is stopping me from compiling my Vertex Snap Editor plugin, trying to avoid having to temporarily suspend it, another update soon

Rama

Hey Rama how is it going? :slight_smile:

I have successfully compiled and fixed all the errors/warnings for 4.9 (the changes in get mesh triangles function was the toughest part to fix for me :stuck_out_tongue: but I think it works fine).
Maybe I can save you some trouble?

Here is the link:

Woohoo thank you so much TK-Master for helping out!

Actually we finished around the same time!

I tested both your version and mine, and the 4.9 plugin template code, there’s a bug whenever UnrealEd is included. Just wanted to know I did test your version too to honor your contribution!

See next post!

:slight_smile:

Rama