Originally posted by Rama
View Post
Announcement
Collapse
No announcement yet.
(39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required!
Collapse
X
-
Marketplace Assets
Advanced Mobile Input: Marketplace Page | Support Thread ――― Easy Input Remapping: Marketplace Page | Support ThreadMultiplayer Blueprint Chat System: Marketplace Page | Support Thread ――― Closing Credits System: Marketplace Page | Support ThreadMinesweeper Template: Marketplace Page | Support Thread ――― Maze Creator: Marketplace Page | Support Thread
-
Originally posted by Jamendxman3 View PostI reinstalled my Visual Studio 2013, with the VS 2013 Ultimate for desktop, but how do I compile VictoryAI manually?
So step 1 is to turn your project into a project that has source code: (or see my note below!)
1. Create a new empty actor class in the editor via File->add code to project
2. Now you can close the editor and navigate to the folder containing your .uproject.
3. make sure you are storing my plugin template inside a folder called "Plugins" that is in this same directory as your .uproject
4. if you dont see a .sln file you can right click on your .uproject and select Generate VS Files
5. open the .sln that is created and build your project! ("build" from top menu bar)
Because your project is now setup to have source code, the Unreal Build Tool (UBT) will detect the plugin template and compile it along with the source code for your project.
Now you can proceed with modifying my plugin template, and then just keep recompiling your main project .sln file!
Please note, you can use any project to do this process, so you could even create a new C++ project that is really just to compile the plugin, and then use the plugin with your BP-only project.
RamaUE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin
♥ Rama
Comment
-
Can you please make the next node to be a node that enable you to use external audio files like you did with the texture node ?Check out my game OldSchool Nightmare : http://www.indiedb.com/games/oldschool-nightmare
Comment
-
Originally posted by Sahkan View PostCan you please make the next node to be a node that enable you to use external audio files like you did with the texture node ?
What would be the use case though? curious
4.10 Update! -> [Community Project] WIP Weather & Ocean Water Shader
WIP Interactive Water Shader, WIP 2D Water Sim
WIP FFT Ocean w/ Foam, Quad-tree Infinite Ocean LOD
Comment
-
Originally posted by TK-Master View PostSounds cool but I can think a few possible problems, such as UE4 only supports .wav.
What would be the use case though? curiousMarketplace Assets
Advanced Mobile Input: Marketplace Page | Support Thread ――― Easy Input Remapping: Marketplace Page | Support ThreadMultiplayer Blueprint Chat System: Marketplace Page | Support Thread ――― Closing Credits System: Marketplace Page | Support ThreadMinesweeper Template: Marketplace Page | Support Thread ――― Maze Creator: Marketplace Page | Support Thread
Comment
-
Originally posted by TK-Master View PostSounds cool but I can think a few possible problems, such as UE4 only supports .wav.
What would be the use case though? curious
So the user can replace fire.wav with an other fire.wav and the game will play the current file.Check out my game OldSchool Nightmare : http://www.indiedb.com/games/oldschool-nightmare
Comment
-
Hey Rama,
thanks a lot for this great plugin!
Could the "Victory Save Pixels" node be extended in a way that it outputs a new Texture2d without saving the file to disk first?
edit: actually, get the pixels of a Texture2d, manipulate, and create a new Texture2dLast edited by Ben_Cykyria; 05-07-2015, 01:25 PM.
Comment
-
Load .Wav From File and play it!
Originally posted by Sahkan View PostI Want to give the user the ability to replace audio files for certain actions, like a shooting sound for example.
So the user can replace fire.wav with an other fire.wav and the game will play the current file.
I already have these nodes for loading audios from file!
Does this give you want?
PlaySoundAttachedFromFile
PlaySoundAtLocationFromFile
GetSoundWaveFromFile
Code:/** Contributed by UE4 forum member n00854180t! Plays a sound from file, attached to and following the specified component. This is a fire and forget sound. Replication is also not handled at this point. * @param FilePath - Path to sound file to play * @param AttachComponent - Component to attach to. * @param AttachPointName - Optional named point within the AttachComponent to play the sound at * @param Location - Depending on the value of Location Type this is either a relative offset from the attach component/point or an absolute world position that will be translated to a relative offset * @param LocationType - Specifies whether Location is a relative offset or an absolute world position * @param bStopWhenAttachedToDestroyed - Specifies whether the sound should stop playing when the owner of the attach to component is destroyed. * @param VolumeMultiplier - Volume multiplier * @param PitchMultiplier - PitchMultiplier * @param AttenuationSettings - Override attenuation settings package to play sound with */ UFUNCTION(BlueprintCallable, Category = "VictoryBPLibrary", meta = (VolumeMultiplier = "1.0", PitchMultiplier = "1.0", AdvancedDisplay = "2", UnsafeDuringActorConstruction = "true")) static class UAudioComponent* PlaySoundAttachedFromFile(const FString& FilePath, class USceneComponent* AttachToComponent, FName AttachPointName = NAME_None, FVector Location = FVector(ForceInit), EAttachLocation::Type LocationType = EAttachLocation::SnapToTarget, bool bStopWhenAttachedToDestroyed = false, float VolumeMultiplier = 1.f, float PitchMultiplier = 1.f, float StartTime = 0.f, class USoundAttenuation* AttenuationSettings = NULL); /** Contributed by UE4 forum member n00854180t! Plays a sound at the given location. This is a fire and forget sound and does not travel with any actor. Replication is also not handled at this point. * @param FilePath - Path to sound file to play * @param Location - World position to play sound at * @param World - The World in which the sound is to be played * @param VolumeMultiplier - Volume multiplier * @param PitchMultiplier - PitchMultiplier * @param AttenuationSettings - Override attenuation settings package to play sound with */ UFUNCTION(BlueprintCallable, Category = "VictoryBPLibrary", meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", VolumeMultiplier = "1.0", PitchMultiplier = "1.0", AdvancedDisplay = "3", UnsafeDuringActorConstruction = "true")) static void PlaySoundAtLocationFromFile(UObject* WorldContextObject, const FString& FilePath, FVector Location, float VolumeMultiplier = 1.f, float PitchMultiplier = 1.f, float StartTime = 0.f, class USoundAttenuation* AttenuationSettings = NULL); /** Contributed by UE4 forum member n00854180t! Creates a USoundWave* from file path. * Read .ogg header file and refresh USoundWave metadata. * @param FilePath path to file to create sound wave from */ UFUNCTION(BlueprintCallable, Category = "VictoryBPLibrary") static class USoundWave* GetSoundWaveFromFile(const FString& FilePath);
RamaLast edited by Rama; 05-07-2015, 02:02 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 PostLoad .Wav From File To USoundWave*
Dear Sahkan,
I already have these nodes for loading audios from file!
Does this give you want?
PlaySoundAttachedFromFile
PlaySoundAtLocationFromFile
GetSoundWaveFromFile
Code:/** Contributed by UE4 forum member n00854180t! Plays a sound from file, attached to and following the specified component. This is a fire and forget sound. Replication is also not handled at this point. * @param FilePath - Path to sound file to play * @param AttachComponent - Component to attach to. * @param AttachPointName - Optional named point within the AttachComponent to play the sound at * @param Location - Depending on the value of Location Type this is either a relative offset from the attach component/point or an absolute world position that will be translated to a relative offset * @param LocationType - Specifies whether Location is a relative offset or an absolute world position * @param bStopWhenAttachedToDestroyed - Specifies whether the sound should stop playing when the owner of the attach to component is destroyed. * @param VolumeMultiplier - Volume multiplier * @param PitchMultiplier - PitchMultiplier * @param AttenuationSettings - Override attenuation settings package to play sound with */ UFUNCTION(BlueprintCallable, Category = "VictoryBPLibrary", meta = (VolumeMultiplier = "1.0", PitchMultiplier = "1.0", AdvancedDisplay = "2", UnsafeDuringActorConstruction = "true")) static class UAudioComponent* PlaySoundAttachedFromFile(const FString& FilePath, class USceneComponent* AttachToComponent, FName AttachPointName = NAME_None, FVector Location = FVector(ForceInit), EAttachLocation::Type LocationType = EAttachLocation::SnapToTarget, bool bStopWhenAttachedToDestroyed = false, float VolumeMultiplier = 1.f, float PitchMultiplier = 1.f, float StartTime = 0.f, class USoundAttenuation* AttenuationSettings = NULL); /** Contributed by UE4 forum member n00854180t! Plays a sound at the given location. This is a fire and forget sound and does not travel with any actor. Replication is also not handled at this point. * @param FilePath - Path to sound file to play * @param Location - World position to play sound at * @param World - The World in which the sound is to be played * @param VolumeMultiplier - Volume multiplier * @param PitchMultiplier - PitchMultiplier * @param AttenuationSettings - Override attenuation settings package to play sound with */ UFUNCTION(BlueprintCallable, Category = "VictoryBPLibrary", meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", VolumeMultiplier = "1.0", PitchMultiplier = "1.0", AdvancedDisplay = "3", UnsafeDuringActorConstruction = "true")) static void PlaySoundAtLocationFromFile(UObject* WorldContextObject, const FString& FilePath, FVector Location, float VolumeMultiplier = 1.f, float PitchMultiplier = 1.f, float StartTime = 0.f, class USoundAttenuation* AttenuationSettings = NULL); /** Contributed by UE4 forum member n00854180t! Creates a USoundWave* from file path. * Read .ogg header file and refresh USoundWave metadata. * @param FilePath path to file to create sound wave from */ UFUNCTION(BlueprintCallable, Category = "VictoryBPLibrary") static class USoundWave* GetSoundWaveFromFile(const FString& FilePath);
RamaCheck out my game OldSchool Nightmare : http://www.indiedb.com/games/oldschool-nightmare
Comment
-
Originally posted by btengelh View PostHey Rama,
thanks a lot for this great plugin!
Could the "Victory Save Pixels" node be extended in a way that it outputs a new Texture2d without saving the file to disk first?
edit: actually, get the pixels of a Texture2d, manipulate, and create a new Texture2d
RamaUE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin
♥ Rama
Comment
-
TMaps, Mapping Two Data Types Together In BP!
Rama's Blueprints TMap Solution!
I've now made a BP TMap solution!
TMap is a data structure that is not yet exposed to BP, but I've made a component-based solution for you so that you can use TMaps in BP!
~~~
What's a TMap?
Really it's name is "Map" and T is the class specifier in C++, but I tend to call them TMaps since Map is a rather generic word.
A TMap is a data structure based on Key,Value pairs, where for any Key there is only one Value.
This allows internal data structure look up times that are much faster than a regular dynamic array.
This also allows for the association of dissimilar data types in a way that you organize.
For example, you can map a set of integers to a set of Vectors, so that each integer is related to exactly one vector.
Or, as I provide you with in my plugin, you can relate a String to an Actor!
This means you can look up an Actor reference via a simple string input!
Or you can look up Vector data based on String data!
The primary use of TMaps is for efficient lookup of data, which dynamic arrays simply cannot do because there is no guarantee or assumption with dynamic arrays of anything like a key,value where each key has only 1 value.
The rules of TMaps allow for efficient look up to speed up your game flow!
~~~
Actor Component
My solution is component-based, which means you can have per-instance TMap data for your game's actors!
You simply add my Victory TMap Component to any actor you want!
I used the My Character blueprint in my own tests!!!
You can use literally any actor you want, or make a new actor BP whose only role is to house the TMap Component
~~~
Supported Types
Supported TMap Functions
~~~
Additional TMap Combinations
If you find that you cannot use my existing set of TMap Combinations to fulfill your game's needs, let me know by posting in this thread and I can add additional TMaps to the component.
~~~
Per Instance
Remember that what I providing you with is a component-based solution, so you can add this TMap data to as many actors in your game as you want, and have per-instance variations in the data contained therein!
~~~
Most Recent Plugin Download From UE4 Wiki
https://wiki.unrealengine.com/File:VictoryPlugin.zip
RamaLast edited by Rama; 05-09-2015, 10:34 PM.UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin
♥ Rama
Comment
-
I tried the "get sound wav from file" and it didn't work for me.
While "get texture from file" worked great, trying to get the wav files the exact same way and it gives me nulls.
Did someone try that node already?
Edit: Oh i see now. they files supposed to be in .ogg format, it wasn't that obvious though :\Last edited by Sahkan; 05-12-2015, 01:52 PM.Check out my game OldSchool Nightmare : http://www.indiedb.com/games/oldschool-nightmare
Comment
-
Thank you Rama, and everybody who ever contributed for this great Plugin, it's really awesome.
I have a question and a request:
In January you wrote on answerhub that it will be possible "very soon" to package BP only projects - is there any new information?
I really would love to see Apply Multiple Damage & Event Multiple Damage nodes. Similar to the current ones, but instead of a float as base damage it would carry a float array, so it may affect various attributes at once with different intensity - e.g. Life, Mana, Stamina. In addition it may also have a bool array and another float array for "is DoT (damage over time)" and "DoT (damage over time) duration". The Bool array is not really necessary, but it may be a bit more comfortable to work with.Last edited by aWinter; 05-11-2015, 09:12 PM.
Comment
Comment