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

I don’t know if you fixed it or still need a fix, but just in case, you should download the engine-appropriate zip (i.e. the 4.24 version for 4.24, the 4.25 version for 4.25) from the first post in thread, as the the [FONT=Courier New]IImageWrapper::GetRaw signature changed in 4.25. So the error comes from the .cpp being made for the wrong signature.

yea fixed it. I was trying to use it with the chaos demo project and it didn’t like it at . had to disable the build chaos line to get it to compile. chaos sets some variable the plugin didnt like. already fixed in an update i guess since now i can add compile chaos.
once i took out the build chaos i added to enable chaos it started working. it was an oddity

is a great idea! I will work on when I have !

is also a great node idea, I wll look into !
​​​​​​​
:heart:

4.26 Update Is Here!

Dear Victory Plugin Users,

Here is 4.26 !!!
http://www.mediafire.com/file/0q10k9…gin26.zip/file

Enjooooooy!

:heart:

thank you ~

Thank you so much :heart:

btw I got 4.26 working on a 4.25 version of the victory plugin just by changing one line:

VictoryPC.cpp:79 to

auto Request = Http->CreateRequest();

Was faster than downloading it from the link :smiley:

Hi,
I have recently created a plugin to import the audio files with mp3, ogg, wav, flac in runtime.

1 Like

hi, first let me thank you very much for very useful plugin !!!
i mainly use it for storing load/savegame thumbs-textures.
i have one question about it:
the textures stored seem very dark compared to my screen output of the scene.
is there any way to get the exact screen output ?
i tried messing with brightness in the 2d capture texture, but it wont make any difference …
kind regards
stucki

Hi,

Thanks for the great plugin @, It works like a charm and helped me a lot with my game. But I am currently trying to port my game to and I think it is causing the app to crash (I am on 4.26), I was wondering does plugin support android? Or am I just doing something wrong and that’s the reason for the crash?
Here the error I am getting before the crash happens.

Thanks :slight_smile:

In case you are still looking for an answer, these settings inside the texture render target should make the image look the same as in the engine :slight_smile:

I figured it out in case someone is having the same:
Open the .uplugin and add to the target platform wite list, then build it for and it works like a charm.
Thanks again for the great plugin :slight_smile:

2 Likes

For the sake of documenting what was a really long struggle getting seeking / start from / any deeper audio issues with an vorbis OGG -> soundwave importer, i found that UE4 relies on both the RawData and RawPCMData part of a soundwave to perform tasks deeper than just playing audio, the solution i found was to use the SerializeWaveFile function on pcm data to make a normal .wav type rawdata and then set the rawdata that way. I’m not certain if works in packaged games. Code for setting the RawData:


 //SERIALIZE PCM AND FILL IN RAW DATA
TArray < uint8 > rawSerialized;
SerializeWaveFile(rawSerialized, sw->RawPCMData, info.SampleDataSize, info.NumChannels, info.SampleRate);
sw->RawData.Lock(LOCK_READ_WRITE);
void* LockedData = sw->RawData.Realloc(rawSerialized.Num());
FMemory::Memcpy(LockedData, rawSerialized.GetData(), info.SampleDataSize);
sw->RawData.Unlock();

**Full Frankenstein OGG import code: **


USoundWave* **XXXXXXXXX**::GetSoundWaveFromOGGFile(const FString& filePath, bool& Success){
if (filePath == "") { Success = false; return nullptr; }
char* filePathChar = TCHAR_TO_ANSI(*filePath);
USoundWave* sw = NewObject<USoundWave>(USoundWave::StaticClass());
if (!sw) { Success = false; return nullptr; }
TArray < uint8 > rawFile1;
FFileHelper::LoadFileToArray(rawFile1, filePath.GetCharArray().GetData());
FByteBulkData* bulkData = &sw->CompressedFormatData.GetFormat(TEXT("OGG"));
bulkData->Lock(LOCK_READ_WRITE);
FMemory::Memcpy(bulkData->Realloc(rawFile1.Num()), rawFile1.GetData(), rawFile1.Num());
bulkData->Unlock();
FSoundQualityInfo info;
FVorbisAudioInfo vorbis_obj;
if (!vorbis_obj.ReadCompressedInfo(rawFile1.GetData(), rawFile1.Num(), &info))
{
return nullptr;
}
else
{
sw->SoundGroup = ESoundGroup::SOUNDGROUP_Default;
sw->NumChannels = info.NumChannels;
sw->Duration = info.Duration;
//sw->TotalSamples = info.SampleDataSize;
sw->RawPCMDataSize = info.SampleDataSize;
sw->SetSampleRate(info.SampleRate);
// - Decompress and bake PCM Data from file into SoundWave
sw->RawPCMData = (uint8*)FMemory::Malloc(sw->RawPCMDataSize);
vorbis_obj.ExpandFile(sw->RawPCMData, &info);
sw->bDecompressedFromOgg = true;
//SERIALIZE PCM AND FILL IN RAW DATA
TArray < uint8 > rawSerialized;
SerializeWaveFile(rawSerialized, sw->RawPCMData, info.SampleDataSize, info.NumChannels, info.SampleRate);
sw->RawData.Lock(LOCK_READ_WRITE);
void* LockedData = sw->RawData.Realloc(rawSerialized.Num());
FMemory::Memcpy(LockedData, rawSerialized.GetData(), info.SampleDataSize);
sw->RawData.Unlock();
}

if (!sw) { Success = false; return nullptr; }

Success = true;
return sw;
}

1 Like

Hey !!
I think I remember you had a plugin that allowed for much better performance when dealing with thousands of destructible meshes? Thanks man and great to hear from you as always,
Dj

thx very much. Yes i am still searching … will try tomorrow !!

, could you possibly look into these node suggestions?

-capsule trace with orientation (i hear exists in C++ but the blueprint capsule trace mysteriously lacks it?)
-trace by distance and direction nodes: so for example instead of setting end points, you just set a starting point, unit vector direction, and float distance
-exposed engine quaternion and spherical interpolation functions
-vector += and -= like you have for floats currently
-clamp vector and clamp rotator to closest of number given directions, for example returning only 8 directions or 4 directions

thank you for your hard work, and for such a wonderfully useful plugin.

Hi, -

I’m having difficulty using your plugin - Could you help me out? How should I use “Load string from file”? I get the txt file and plug it into the file path -> but the “result” has no value-> therefore I have nothing to “Parse into Array”. is a simple setup, but it does not recognize my selected file.

Hi ,

I encountered a crash in your VictoryBPFunctionLibrary.cpp.

in
Victory_LoadTexture2D_FromFile

if I pass in an EXR file, it will crash in line

FMemory::Memcpy(TextureData, UncompressedBGRA.GetData(), UncompressedBGRA.Num());

for TextureData is made of 8 bit but EXR data is usually more than 16 bit.

I modified

ImageWrapper->GetRaw(ERGBFormat::RGBA, 8, UncompressedBGRA) to

ImageWrapper->GetRaw(ERGBFormat::RGBA, bitDepth, UncompressedBGRA)
the program passed.

Another question is, I fed the final UTexture2D into HDRIBackdrop it became white, for it needs TextureCube?
Is it possible for Victory_LoadTexture2D_FromFile to get UTextureCube instead?

Thanks.

Richard

Yes, it was a pain but it crashes cause there are some functions form plugin that still in your blueprint. When crashes we find what class cause the crash and i look in class for nodes.
I dont know better alternative for that. Try to remember what nodes you used and look for them in find mode with binoculars icon

How do you install plugin