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

  • replied
    Is possible to solve all warnings.

    Code:
    LogClass: Warning: FLevelStreamInstanceInfo::Location is not initialized properly
    LogClass: Warning: FLevelStreamInstanceInfo::Rotation is not initialized properly
    LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeLoaded is not initialized properly
    LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeVisible is not initialized properly
    LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBlockOnLoad is not initialized properly
    LogClass: Warning: FLevelStreamInstanceInfo::LODIndex is not initialized properly
    LogClass: Warning: BoolProperty FVictoryInput::bShift is not initialized properly
    LogClass: Warning: BoolProperty FVictoryInput::bCtrl is not initialized properly
    LogClass: Warning: BoolProperty FVictoryInput::bAlt is not initialized properly
    LogClass: Warning: BoolProperty FVictoryInput::bCmd is not initialized properly
    
    LogAutomationTest: Warning: FLoadingScreenDescription::PlaybackType is not initialized properly
    LogAutomationTest: Warning: FDoNNavigationQueryData::Origin is not initialized properly
    LogAutomationTest: Warning: FDoNNavigationQueryData::Destination is not initialized properly
    LogAutomationTest: Warning: FLevelStreamInstanceInfo::Location is not initialized properly
    LogAutomationTest: Warning: FLevelStreamInstanceInfo::Rotation is not initialized properly
    LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeLoaded is not initialized properly
    LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeVisible is not initialized properly
    LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBlockOnLoad is not initialized properly
    LogAutomationTest: Warning: FLevelStreamInstanceInfo::LODIndex is not initialized properly
    LogAutomationTest: Warning: BoolProperty FVictoryInput::bShift is not initialized properly
    LogAutomationTest: Warning: BoolProperty FVictoryInput::bCtrl is not initialized properly
    LogAutomationTest: Warning: BoolProperty FVictoryInput::bAlt is not initialized properly
    LogAutomationTest: Warning: BoolProperty FVictoryInput::bCmd is not initialized properly
    I resolve all warnings and errors & i want to clear all warnings.
    Thanks
    Last edited by R5GAMER; 04-09-2020, 08:06 AM.

    Leave a comment:


  • replied
    Hi Rama and guys, sorry for bothering you, i got a problem with making plugs work for 4.22 + android.
    https://forums.unrealengine.com/deve...gs-and-android
    Basicly nothing saved and loaded with "get/set custom config var" on my android devices, it's not supported? Maybe there is any way to fix it (i'm badly familiar with android operating system).

    Leave a comment:


  • replied
    Originally posted by Infinity9115 View Post
    Hey everyone!
    I have a problem with two Rama's nodes and AI Perception,
    I use the nodes "get generic team ID" on a pawn, it return 255 (that's normal i think) but if i "set generic team ID" to 0, it is always 255? Set generic team ID isn't working?
    I have the interface to do that but no idea why it isn't working! Only use: Event tick > set generic team ID (0). But get generic team ID is still 255...

    Thank's for your help it will be very appreciated!!
    I have the same problem. Is anyone able to help please?

    Leave a comment:


  • replied
    EDIT: Ok, I'm dumb. Extract the library into the project folder, not the UE4 source folder. Problem solved.

    ORIGINAL:

    First of all, thank you Rama for this extremely useful plugin, it's been very helpful and I've used it since about 4.12 or so.

    Recently, I have run into an issue with compiling VictoryBP into a project using UE 4.24.3 and wonder if anyone might have any suggestions.

    First of all, I get two errors:

    Code:
    1>  #error "VictoryISM.generated.h already included, missing '#pragma once' in VictoryISM.h"
    
    1>  In file included from C:/UE4_SOURCE/UnrealEngine/Engine/Plugins/Developer/VictoryBPLibrary/Source/VictoryBPLibrary/Public/VictoryISM.cpp:7:
    1>C:\UE4_SOURCE\UnrealEngine\Engine\Plugins\Developer\VictoryBPLibrary\Source\VictoryBPLibrary\Public\VictoryISM.h(13,7): error : redefinition of 'AVictoryISM'
    Noting it seems to be complaining that the file VictoryISM.h is doing a circular include for VictoryISM.generated.h, I try adding include guards as so (editing AVictoryISM.h):

    Code:
    #ifndef GUARD
    #define GUARD
    #include "VictoryISM.generated.h"
    #endif
    Building the project again generates a new error:

    Code:
    1>C:/UE4_SOURCE/UnrealEngine/Engine/Plugins/Developer/VictoryBPLibrary/Source/VictoryBPLibrary/Public/VictoryISM.h(1): error : No #include found for the .generated.h file - the .generated.h file should always be the last #include in a header
    So it seems UE4 has some rules that make include guards difficult? But I am not very knowledgeable about C++ so if there is something I am missing, please let me know!

    Maybe important information: It compiles fine when I target Development Client - x64 --- this problem is appearing when I target Development Server - Linux.
    Last edited by dave_sullivan; 03-29-2020, 10:52 AM.

    Leave a comment:


  • replied
    Originally posted by Rama View Post

    ~~~

    Rama Research

    Thanks for sharing the additional info, helps me lock onto the issue faster

    Texture2D and Texture2DDynamic both derive from UTexture, but that is their common base class, so you can't cast a Texture2DDynamic to Texture2D.

    Because if you can do that, you can convert Texture2DDynamic -> Texture2D via a UTexture initialization.

    I've looked through the 4.15 Engine source code and Texture2DDynamic is used in only a few places, and there doesn't seem to be a conversion to UTexture2D.

    The only use of Texture2DDynamic currently appears to be Download image -> Set Brush From Texture 2D dynamic.

    Or it can be used with a Texture Parameter in a material shader.


    I've figured out how to get the platform data from Texture2DDynamic

    You have to use UTexture base class which returns a pointer to a pointer:

    Code:
    /**
    * Textures that use the derived data cache must override this function and
    * provide a pointer to the linked list of platform data.
    */
    virtual FTexturePlatformData** GetRunningPlatformData() { return NULL; }
    For anyone trying this at home make sure to dereference the ptr ptr carefully before trying to even think about access the ptr itself!
    Code:
    FTexturePlatformData** PtrPtr = T2D->GetRunningPlatformData();
    if(!PtrPtr) return false;
    FTexturePlatformData* PlatformDataPtr = *PtrPtr; //Check before dereferencing! ♥ Rama
    
    //Now check the ptr itself too
    if(!PlatformDataPtr)
    {
    return false;
    }
    
    //use the platform data
    However the issue is that the platform data for a Texture2DDynamic does not appear to be valid because I guess Texture2DDynamic does not use derived data cache.

    So that means we need to use the FTextureSource itself, I think, to get the byte data.

    But I do not see how to get the byte data from FTextureSource where I will know what the color ordering is to convert to FLinearColor and I am out of time to research this.

    ~~~

    Community Assistance Requested

    Anyone want to continue this and finish it?

    We need a second version of GetPixel data that accepts FTexture2DDyanamic



    Rama
    Is there any plans on getting the Download Image Working with your plugin?
    i was told that i can modified that { Download Image } blueprint node with c++ to have it take 2DTexture instead of waiting for the second GetPixel to accepts FTexture2DDyanamic but am not good with C++ .

    this we'll probably be a piece of cake for you to share so that we can enjoy the plugin in the meantime.

    Here's a image of someone showing me that he got it working But not willing to share :
    Click image for larger version

Name:	Capture.PNG
Views:	130
Size:	152.1 KB
ID:	1737608

    Thank you.
    Last edited by RigTag; 03-26-2020, 09:15 PM.

    Leave a comment:


  • replied
    Hello,
    am kind of confuse on the packaging part for mobile devices for UE4.24 ?

    Leave a comment:


  • replied
    When comparing Read Render Target Pixel with Get Pixel From T2D, is there a significant performance cost difference between the two?

    Read Render Target comes with a warning that the operation is extremely inefficient and slow.

    Leave a comment:


  • replied
    Originally posted by Jaytheway View Post
    frostic The issue was that SoundWave never got RawPCMData baked into it, which is apparently what it needs in packaged builds. Here's fixed GetSoundWaveFromWaveFile function:

    Code:
    class USoundWave* UMyBPFunctionLibrary::GetSoundWaveFromWaveFile(const FString& filePath, bool& Success)
    {
    if (filePath == "") { Success = false; return nullptr; }
    
    USoundWave* sw = NewObject<USoundWave>(USoundWave::StaticClass());
    if (!sw) { Success = false; return nullptr; }
    
    TArray < uint8 > rawFile;
    
    FFileHelper::LoadFileToArray(rawFile, filePath.GetCharArray().GetData());
    FWaveModInfo WaveInfo;
    
    if (WaveInfo.ReadWaveInfo(rawFile.GetData(), rawFile.Num()))
    {
    
    // - catching not supported bit depth
    if (*WaveInfo.pBitsPerSample != 16) { Success = false; return nullptr; }
    
    sw->InvalidateCompressedData();
    
    sw->RawData.Lock(LOCK_READ_WRITE);
    void* LockedData = sw->RawData.Realloc(rawFile.Num());
    FMemory::Memcpy(LockedData, rawFile.GetData(), rawFile.Num());
    sw->RawData.Unlock();
    
    int32 DurationDiv = *WaveInfo.pChannels * *WaveInfo.pBitsPerSample * *WaveInfo.pSamplesPerSec;
    if (DurationDiv)
    {
    sw->Duration = *WaveInfo.pWaveDataSize * 8.0f / DurationDiv;
    }
    else
    {
    sw->Duration = 0.0f;
    }
    sw->SetSampleRate(*WaveInfo.pSamplesPerSec);
    sw->NumChannels = *WaveInfo.pChannels;
    sw->RawPCMDataSize = WaveInfo.SampleDataSize;
    sw->SoundGroup = ESoundGroup::SOUNDGROUP_Default;
    
    }
    else {
    Success = false;
    return nullptr;
    }
    
    // - Baking PCM Data from file into SoundWave memory
    const int32 NumSamples = sw->RawPCMDataSize / sizeof(Audio::DefaultUSoundWaveSampleType);
    
    sw->RawPCMData = (uint8*)FMemory::Malloc(sw->RawPCMDataSize);
    FMemory::Memcpy(sw->RawPCMData, WaveInfo.SampleDataStart, NumSamples * sizeof(Audio::DefaultUSoundWaveSampleType));
    
    if (!sw) { Success = false; return nullptr; }
    
    Success = true;
    return sw;
    }
    Header:
    Code:
    UFUNCTION(BlueprintCallable, Category = "JP - Nodes", meta = (DisplayName = "Get Sound Wave from Wave file", Keywords = "Get Sound Wave from Wave file"))
    static class USoundWave* GetSoundWaveFromWaveFile(const FString& filePath, bool& Success);
    "Success" bool returns false if:
    - file path is invalid
    - failed to create SoundWave
    - input wave file has unsupported bit depth (other than 16)
    here is a change i had to make today as DefaultUSoundwave


    else {
    Success = false;
    return nullptr;
    }

    // - Baking PCM Data from file into SoundWave memory
    const int32 NumSamples = sw->RawPCMDataSize / sizeof(Audio::FResamplerResults);

    sw->RawPCMData = (uint8*)FMemory::Malloc(sw->RawPCMDataSize);
    FMemory::Memcpy(sw->RawPCMData, WaveInfo.SampleDataStart, NumSamples * sizeof(Audio::FResamplerResults));

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

    Success = true;
    return sw;
    }


    It seems that DefaultUSoundWaveSampleType is no longer in 4.24.3 and returns a null reference and crashes. the above change fixes this issue.

    Leave a comment:


  • replied
    Originally posted by CrowdTheFactory View Post
    Miguel1900

    I don't know about the crashing, but I know that to get the Victory Save Pixels node to work, the file path has to include the desired file name as well as the extension. So instead of "C:\Users\Desktop" it should be something like "C:\Users\Desktop\ImageName.png". Also, if you want to make sure the directory you're pointing to is right, I like to use one of Rama's Paths nodes, like "Victory Paths Saved Dir" and then just append it with the file name and extension.


    Click image for larger version Name:	VicSavePix.png Views:	0 Size:	58.3 KB ID:	1728468
    Thank you CrowdTheFactory !

    I have discovered that it's working but only with very small images. When it's a "common" image of 1024 or more, it crashes, you too?

    What I am trying to do is to generate a Render Target, generate a Texture from it (already done) and export it (or both) to the computer. Maybe for this case is most useful to follow a different workflow?

    Thank you very much

    Leave a comment:


  • replied
    Miguel1900

    I don't know about the crashing, but I know that to get the Victory Save Pixels node to work, the file path has to include the desired file name as well as the extension. So instead of "C:\Users\Desktop" it should be something like "C:\Users\Desktop\ImageName.png". Also, if you want to make sure the directory you're pointing to is right, I like to use one of Rama's Paths nodes, like "Victory Paths Saved Dir" and then just append it with the file name and extension.


    Click image for larger version  Name:	VicSavePix.png Views:	0 Size:	58.3 KB ID:	1728468

    Leave a comment:


  • replied
    Hi guys and Rama ,

    Wow, I'm still discovering this "pack of useful nodes with their C++ inside" and it's incredible! Only tested a few things, but for example the GPU ones it's a thing I was dreaming with Thank you fi this!

    I have a question too. I have seen I can import a texture from the computer with the Victory nodes, but is it possible to also export a texture from the project to the computer? (Using nodes, of course). I have been trying with this, but UE editor crashes when executing:

    Click image for larger version

Name:	capt1.PNG
Views:	298
Size:	58.5 KB
ID:	1727706

    Thank you again!!
    Last edited by Miguel1900; 03-01-2020, 02:09 PM.

    Leave a comment:


  • replied
    Originally posted by Po Iow View Post

    How can this be fixed? Thanks.
    I don't see any ERROR these are warnings.
    most warnings can be ignored. unless it is effecting your game i would just ignore them.
    I also see these warnings but they have not caused an issue for me yet.

    hope this helps.

    Leave a comment:


  • Guest replied
    Walid Chekkouri Rama frostic Traggey Falconeyi BrUnO XaVIeR LordNelson7 Jaytheway apfelbaum EricLiu2018 Fire_O
    This plugin is causing errors such as LODs set to hard-coded value...in 4.22.
    How can this be fixed? See code below:
    Code:
    UATHelper: Packaging (Windows (64-bit)): E:\Unreal Games\Projects\UPlatformGame\Plugins\VictoryPlugin\Source\VictoryBPLibrary\VictoryBPLibrary.Build.cs: warning: Referenced directory 'D:\Programs\Epic Games\UE_4.21\Engine\Source\VictoryBPLibrary\Public' does not exist.
    PackagingResults: Warning: Referenced directory 'D:\Programs\Epic Games\UE_4.21\Engine\Source\VictoryBPLibrary\Public' does not exist.
    UATHelper: Packaging (Windows (64-bit)): LogGameplayTags: Display: UGameplayTagsManager::DoneAddingNativeTags. DelegateIsBound: 0
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: FLevelStreamInstanceInfo::Location is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: FLevelStreamInstanceInfo::Rotation is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeLoaded is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeVisible is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBlockOnLoad is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: FLevelStreamInstanceInfo::LODIndex is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: BoolProperty FVictoryInput::bShift is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: BoolProperty FVictoryInput::bCtrl is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: BoolProperty FVictoryInput::bAlt is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogClass: Warning: BoolProperty FVictoryInput::bCmd is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: FLevelStreamInstanceInfo::Location is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: FLevelStreamInstanceInfo::Rotation is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeLoaded is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeVisible is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBlockOnLoad is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: FLevelStreamInstanceInfo::LODIndex is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: BoolProperty FVictoryInput::bShift is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: BoolProperty FVictoryInput::bCtrl is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: BoolProperty FVictoryInput::bAlt is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogAutomationTest: Warning: BoolProperty FVictoryInput::bCmd is not initialized properly
    PackagingResults: Warning: FLevelStreamInstanceInfo::Location is not initialized properly
    PackagingResults: Warning: FLevelStreamInstanceInfo::Rotation is not initialized properly
    PackagingResults: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeLoaded is not initialized properly
    PackagingResults: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeVisible is not initialized properly
    PackagingResults: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBlockOnLoad is not initialized properly
    PackagingResults: Warning: FLevelStreamInstanceInfo::LODIndex is not initialized properly
    PackagingResults: Warning: BoolProperty FVictoryInput::bShift is not initialized properly
    PackagingResults: Warning: BoolProperty FVictoryInput::bCtrl is not initialized properly
    PackagingResults: Warning: BoolProperty FVictoryInput::bAlt is not initialized properly
    PackagingResults: Warning: BoolProperty FVictoryInput::bCmd is not initialized properly
    PackagingResults: Warning: FLevelStreamInstanceInfo::Location is not initialized properly
    PackagingResults: Warning: FLevelStreamInstanceInfo::Rotation is not initialized properly
    PackagingResults: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeLoaded is not initialized properly
    PackagingResults: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeVisible is not initialized properly
    PackagingResults: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBlockOnLoad is not initialized properly
    PackagingResults: Warning: FLevelStreamInstanceInfo::LODIndex is not initialized properly
    PackagingResults: Warning: BoolProperty FVictoryInput::bShift is not initialized properly
    PackagingResults: Warning: BoolProperty FVictoryInput::bCtrl is not initialized properly
    PackagingResults: Warning: BoolProperty FVictoryInput::bAlt is not initialized properly
    PackagingResults: Warning: BoolProperty FVictoryInput::bCmd is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: FLevelStreamInstanceInfo::Location is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: FLevelStreamInstanceInfo::Rotation is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeLoaded is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeVisible is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBlockOnLoad is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: FLevelStreamInstanceInfo::LODIndex is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: BoolProperty FVictoryInput::bShift is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: BoolProperty FVictoryInput::bCtrl is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: BoolProperty FVictoryInput::bAlt is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogClass: Warning: BoolProperty FVictoryInput::bCmd is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: FLevelStreamInstanceInfo::Location is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: FLevelStreamInstanceInfo::Rotation is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeLoaded is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBeVisible is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: BoolProperty FLevelStreamInstanceInfo::bShouldBlockOnLoad is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: FLevelStreamInstanceInfo::LODIndex is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: BoolProperty FVictoryInput::bShift is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: BoolProperty FVictoryInput::bCtrl is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: BoolProperty FVictoryInput::bAlt is not initialized properly
    UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogAutomationTest: Warning: BoolProperty FVictoryInput::bCmd is not initialized properly
    How can this be fixed? Thanks.

    Leave a comment:


  • replied
    Rama I have used some of the BP nodes to help create my latest open source project: 3D Animated Desktop Wallpaper Engine, let me know what you think
    https://www.youtube.com/watch?v=blNmtoWyL7M

    Leave a comment:


  • replied
    Rama WE LOVE YOU! <3

    Leave a comment:

Working...
X