Announcement

Collapse
No announcement yet.

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by Mosel3y View Post
    Yes, sorry about that guys, I've just realized I'd coppied in an older version that I had broken myself, not the latest
    All good, hee hee!



    Rama
    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    ♥ Rama

    Comment


      In regard to IsValidIndex
      Originally posted by sgehrman View Post
      I'm still getting crashes.

      -steve
      I can confirm I was still getting crashes too, I looked into the code and fixed it, here is the correct .h file for 4.9.0

      Code:
      /* 
       *See if index is a valid index for this array
       *    
       *@param    TargetArray        The array to perform the operation on
       *@param    Index            The index to check.
       *@return    Bool if integer is valid index for this array
      */
      UFUNCTION(Category="VictoryBPLibrary|Utilities|Array", BlueprintPure, CustomThunk, meta=(DisplayName = "Valid Index", CompactNodeTitle = "VALID INDEX", ArrayParm = "TargetArray"))
      static bool Array_IsValidIndex(const TArray<int32>& TargetArray, int32 Index);
      
      static bool GenericArray_IsValidIndex(void* TargetArray, const UArrayProperty* ArrayProp, int32 Index);
        
      DECLARE_FUNCTION(execArray_IsValidIndex)
      {
      	Stack.MostRecentProperty = nullptr;
      	Stack.StepCompiledIn<UArrayProperty>(NULL);
      	void* ArrayAddr = Stack.MostRecentPropertyAddress;
      	UArrayProperty* ArrayProperty = Cast<UArrayProperty>(Stack.MostRecentProperty);
      	if (!ArrayProperty)
      	{
      		Stack.bArrayContextFailed = true;
      		return;
      	}
      	P_GET_PROPERTY(UIntProperty, Index);
      	P_FINISH;
      
      	bool WasValid = GenericArray_IsValidIndex(ArrayAddr, ArrayProperty, Index);
      	*(bool*)RESULT_PARAM = WasValid;
      }
      Uploading new plugin version shortly.



      Rama
      UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

      ♥ Rama

      Comment


        Originally posted by Shrooblord View Post
        I'm getting an error saying "VictoryPlugin could not be loaded because the module VictoryBPLibrary could not be found." I've looked in the plugin's Source folder and... well... it's right there. Not sure what the plugin is not seeing that I can.
        My plugin is now on 4.9.0, please use prior versions if you are using a prior engine version

        Unfortunately I have no easy way to notate on the wiki which version corresponds to which date.



        Rama
        UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

        ♥ Rama

        Comment


          New Plugin Version, IsValidIndex crashfix

          Dear Community,

          I've posted a new version of my Victory BP Library where IsValidIndex no longer crashes.

          Again please note the plugin is now on UE4 version 4.9.0


          ~~~

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

          ~~~

          Note on Packaging Victory Plugin

          https://forums.unrealengine.com/show...l=1#post368790

          Enjoy!



          Rama
          Last edited by Rama; 09-04-2015, 12:10 PM.
          UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

          ♥ Rama

          Comment


            Originally posted by Rama View Post
            My plugin is now on 4.9.0, please use prior versions if you are using a prior engine version
            Thing is, I was using Unreal 4.9.0 already.

            I just downloaded your newest version, the one from today, and now I get the following error message:
            The following modules are missing or built with a different engine version:
            UE4Editor-VictoryBPLibrary.dylib
            Rebuilding them as the engine suggests does not work. It crashes on build/cannot be built.

            Perhaps it's important I mention I'm on Mac OSX. Are these Mac OSX compatible?

            Comment


              I've been using the BP library for a while and recently tried your engine plugin since I noticed it was updated for 4.9. Been playing around with the instanced mesh creation to test the limits and so far it is working great =D; Wish I had it installed sooner!
              Marketplace code plugin: AesTargeting - Make your Actors targetable =)

              Comment


                Originally posted by Rama View Post
                In regard to IsValidIndex

                I can confirm I was still getting crashes too, I looked into the code and fixed it, here is the correct .h file for 4.9.0

                Rama
                In the original instances I was using the node, everything was fine with the first fix.
                Further usage caused crash
                Found the issue and fixed it, but before I get the chance to send it to Rama, he's already sorted it and contacted me!

                Rule#21: Be polite, be professional, but have a plan to kill everyone you meet.

                Comment


                  Originally posted by Parvan View Post
                  1>EXEC : error : Exception thrown while processing dependent modules of VictoryBPLibrary

                  Have you seen this Rama? I'm trying to build Linux dedicated server. Hmmm....

                  Wow, we keep you too busy on here! Sorry about that. Not quite sure if this is a general problem with the engine or the plugin. I searched for a while and found no information.

                  I commented out
                  "UnrealEngine-4.7.2-release\Engine\Source\ThirdParty\libPNG\UElibPNG.Build.cs"
                  lines 61-66 to avoid
                  "if (Target.Type == TargetRules.TargetType.Server)"
                  Will see if that works...


                  Thanks!
                  I guess I also fixed this once before for Linux dedicated server build and I completely forgot. Too much on the mind. I'm posting this in case it is useful for someone else.

                  Metahusk: A 501(c)(3) Creative Development Cooperative
                  Projects | Forums | Repositories | Nonprofit | Donate

                  Comment


                    Originally posted by Shrooblord View Post
                    Perhaps it's important I mention I'm on Mac OSX. Are these Mac OSX compatible?
                    I'd appreciate it if someone who has Mac OS can build the plugin from source code, and post it to me by PM. I can't help folks with Mac OS otherwise

                    ~~~

                    @Parvan

                    Thank you for sharing your Linux research / confirmation of Stormwind's fixes!

                    ~~~

                    Originally posted by Kris View Post
                    In the original instances I was using the node, everything was fine with the first fix.
                    Further usage caused crash
                    Found the issue and fixed it, but before I get the chance to send it to Rama, he's already sorted it and contacted me!
                    Thank you again for your contributions Kris!



                    ~~~

                    Originally posted by Aesais View Post
                    I've been using the BP library for a while and recently tried your engine plugin since I noticed it was updated for 4.9. Been playing around with the instanced mesh creation to test the limits and so far it is working great =D; Wish I had it installed sooner!
                    Very nice to hear from you Aesais!

                    Welcome to the UE4 Forums!



                    Rama
                    Last edited by Rama; 09-07-2015, 07:59 PM.
                    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                    ♥ Rama

                    Comment


                      Click image for larger version

Name:	SaveObjectListing.jpg
Views:	5
Size:	258.7 KB
ID:	1087201

                      Get a Hard-drive accurate listing of all Save Game Objects!

                      Dear Community,

                      I've released a new node that gives you a hard-drive accurate listing of all save game files that you've created!

                      I am referring to UE4's Save Object system!

                      You can now access a full listing in a developer build or in a packaged game, to know all the save files that have been saved!

                      These save files are stored in GameDir/Saved/SaveGames

                      Click image for larger version

Name:	SaveObjectBP.jpg
Views:	5
Size:	267.5 KB
ID:	1087202

                      ~~~

                      Use Case: UMG Menu of All Save Games

                      The best use case of this new BP node is to enable you to supply the end-user with a hard-drive accurate listing of all save game files currently residing in your game's saved/savegame directory!

                      Now you can enable users to "see" the contents of the device's harddrive through UMG!

                      ~~~

                      UE4 Blueprint Save System?


                      If you did not know, you can use UE4's save system like this:

                      1. Create a new blueprint based on SaveGame
                      2. Add your variables to the blueprint that you want to save the values of
                      3. in level BP or some other blueprint, create a save game object, and set the values of that object
                      4. Save this object to a Save Game Slot, as shown in my pictures
                      5. You can load a save game object from a Slot name at any time!

                      6. Now with my new Victory BP Library, you can obtain a full listing of all existing save games as stored on your computer's hard disk!

                      This let's you know whether a file exists before you try to load it! You can also find out how many save files exist from within BP!

                      ~~~

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

                      ~~~

                      Note on Packaging Victory Plugin

                      https://forums.unrealengine.com/show...l=1#post368790

                      Enjoy!



                      Rama
                      Last edited by Rama; 09-07-2015, 08:13 PM.
                      UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                      ♥ Rama

                      Comment


                        Click image for larger version

Name:	AnimatedVertexLocations3.jpg
Views:	4
Size:	159.2 KB
ID:	1087369

                        Dear Community,

                        4.9 Update:

                        As of 4.9 I removed the velocity correction code because changes to the engine made this correction unnecessary.

                        You still have this option for older plugin versions prior to 4.9.0

                        ~~~

                        I've finally cracked the code of drawing accurate animated vertex positions for character meshes!

                        My node features a "velocity correction" system which causes the animated vertex positions to line up with your moving, animating character!

                        Now you can get the positions of the vertices of your character' mesh, as these vertices animate!

                        You can run this node in tick of your character, or in my case I use the level BP because my Victory BP Library nodes can be used anywhere!

                        Click image for larger version

Name:	AnimatedVertexLocations2.jpg
Views:	4
Size:	290.3 KB
ID:	1087370

                        ~~~

                        My C++ Code For You

                        Here's the C++ magic that I used to get the character's animated vertex positions to line up even while moving, jumping, and falling!

                        Please note this node can also be used with non-pawns / non-characters, any SkeletalMeshComponent will work!

                        Code:
                        bool UVictoryBPFunctionLibrary::AnimatedVertex__GetAnimatedVertexLocations(
                        	USkeletalMeshComponent* Mesh, 
                        	TArray<FVector>& Locations,
                        	bool PerformPawnVelocityCorrection
                        ){
                        	if(!Mesh || !Mesh->SkeletalMesh)  
                        	{
                        		return false;
                        	}
                        
                        	//~~~~~~~~~~~~~
                        	Locations.Empty(); 
                        	//~~~~~~~~~~~~~
                        	 
                        	Mesh->ComputeSkinnedPositions(Locations);
                        	
                        	FTransform ToWorld = Mesh->GetComponentTransform();
                        	FVector WorldLocation = ToWorld.GetLocation();
                        	
                        	//Pawn Velocity Correction
                        	UPawnMovementComponent* MovementComp = nullptr;
                        	if(PerformPawnVelocityCorrection)
                        	{
                        		APawn* Pawn = Cast<APawn>(Mesh->GetOwner());
                        		MovementComp = (Pawn) ? Pawn->GetMovementComponent() : NULL;
                        	}
                        	bool DoVelocityCorrection = PerformPawnVelocityCorrection && MovementComp;
                        	//Pawn Velocity Correction
                        	 
                        	for(FVector& Each : Locations)
                        	{
                        		Each = WorldLocation + ToWorld.TransformVector(Each);
                        		if(DoVelocityCorrection)
                        		{
                        			Each += MovementComp->Velocity * FApp::GetDeltaTime();
                        		} 
                        	} 
                        	
                        	return true;
                        }
                        ~~~

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

                        ~~~

                        Note on Packaging Victory Plugin

                        https://forums.unrealengine.com/show...l=1#post368790

                        Enjoy!



                        Rama
                        UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                        ♥ Rama

                        Comment


                          Originally posted by Rama View Post
                          I'd appreciate it if someone who has Mac OS can build the plugin from source code, and post it to me by PM. I can't help folks with Mac OS otherwise
                          Could you tell me how I can do that, please? Thanks, Rama - all looks very neat from what I can see!

                          EDIT:
                          As in, I'm having trouble compiling even a clean project, so I'm not sure I know what I'm doing. ^^'

                          If anyone knows how to build a plugin for UE4 from source code using Xcode, any help would be appreciated. The documentation is... lacking. It just says "build it. It will work". It doesn't work.

                          Comment


                            Originally posted by Shrooblord View Post
                            Could you tell me how I can do that, please? Thanks, Rama - all looks very neat from what I can see!

                            EDIT:
                            As in, I'm having trouble compiling even a clean project, so I'm not sure I know what I'm doing. ^^'

                            If anyone knows how to build a plugin for UE4 from source code using Xcode, any help would be appreciated. The documentation is... lacking. It just says "build it. It will work". It doesn't work.
                            It would be great if someone using Mac OS could assist Shrooblord with this

                            Rama
                            UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                            ♥ Rama

                            Comment


                              Click image for larger version

Name:	FloatAsStringWithPrecision.jpg
Views:	3
Size:	250.0 KB
ID:	1087603

                              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 all 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++ !

                              Code:
                              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 on the UE4 Wiki: (15.22 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

                              ~~~

                              Note on Packaging Victory Plugin

                              https://forums.unrealengine.com/show...l=1#post368790

                              Enjoy!



                              Rama
                              UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                              ♥ Rama

                              Comment


                                Hi Rama

                                your plugin only work packing for win32 or wi64?
                                How can i pack my game for Android or Html 5?

                                Comment

                                Working...
                                X