Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed Artboards. #104

Merged
merged 3 commits into from
Aug 14, 2024
Merged

Fixed Artboards. #104

merged 3 commits into from
Aug 14, 2024

Conversation

Tod-Rive
Copy link
Collaborator

@Tod-Rive Tod-Rive commented Aug 8, 2024

  • No more phantom artboards during PIE.
  • Artboards in the level reset on PIE begin.

- No more phantom artboards during PIE.
- Artboards in the level reset on PIE begin.
@Tod-Rive Tod-Rive requested a review from schetle August 8, 2024 14:37
@@ -144,7 +151,11 @@ FVector2f URiveTextureObject::GetLocalCoordinatesFromExtents(const FVector2f& In

void URiveTextureObject::Initialize(const FRiveDescriptor& InRiveDescriptor)
{
Artboard = nullptr;
if (Artboard == nullptr)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move the new artboard, and Reinitialization of the artboard into RiveReady.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@@ -77,6 +77,7 @@ class RIVE_API URiveTextureObject : public URiveTexture, public FTickableGameObj

#if WITH_EDITOR
void EditorBeginPlay();
void OnBeginPIE(bool bIsSimulating);
void OnEndPIE(bool bIsSimulating);
bool bHasBegunPlay = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably remove bHasBegunPlay at this point. We can also remove the small block of code in Tick that references it, and calls EditorBeginPlay

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

- Moved Artboard check/creation to URiveTextureObject::RiveReady
- Removed EditorBeginPlay() and bHasBegunPlay
@Tod-Rive Tod-Rive requested a review from schetle August 13, 2024 19:03
@schetle schetle merged commit 3ede349 into development Aug 14, 2024
@schetle schetle deleted the Dev_Tod_ArtboardFix branch August 14, 2024 15:56
@Tod-Rive Tod-Rive restored the Dev_Tod_ArtboardFix branch August 14, 2024 20:02
@Tod-Rive Tod-Rive deleted the Dev_Tod_ArtboardFix branch August 29, 2024 20:08
schetle added a commit that referenced this pull request Sep 9, 2024
* UR-244: Fix reimport

* UR-245: Remove RiveViewport client, replaced RiveWidget for fixed UI blending; Removed UI Blend Mode

* fix includes for release build

* ensure all Initialization paths listen for RiveFile delegates; Artboard file code cleanup

* 4b4529a continued: "ensure all Initialization paths listen for RiveFile delegates; Artboard file code cleanup"

* expose OnRiveReady for RiveTextureObject

* UR-247: Artboard / State machine dropdowns implemented across RiveWidget, RiveTextureObject, RiveActorComponent

* rive audio changes

* editor-only: reset rive textures on editor begin play

* RiveWidget audio convience

* win,android: update rive to b192f37856b249fbd6247700bf13d07d9b064c47

* macOS, iOS: update rive to b192f37856b249fbd6247700bf13d07d9b064c47

* Runtime Asset swapping (#105)

RiveAsset class was broken into 3 classes
        RiveAudioAsset
        RiveImageAsset, contains runtime compatible functions:
            LoadImageBytes (accepting an array of bytes in png, webp, jpg format)
            LoadTexture (not yet implemented fully, as we wait on Rive to allow us to submit bitmap data)
        RiveFontAsset, contains runtime compatible functions:
            LoadFontFace (loads an Unreal font face, if the font face's load policy is set to Inline)
            LoadFontBytes (accepting an array of bytes in ttf/otf format)
    RiveFile now supports a function "GetRiveAssetById", returning a base RiveAsset which can later be cast to one of the specific asset types to operate on
***
* asset overrides

* load image bytes call

* cleanup

* Ensure RiveWidget setup is called a short time after init

* Fixed Artboards. (#104)

* Fixed Artboards.

- No more phantom artboards during PIE.
- Artboards in the level reset on PIE begin.

* Made PR suggested changes.

- Moved Artboard check/creation to URiveTextureObject::RiveReady
- Removed EditorBeginPlay() and bHasBegunPlay

* UR-249: Improve UMG widget handling, with minimum sizes based on selected artboard as the initial size

* win,android: update rive to 14d13c3ded7b141d5130c0246901008dc070c9fe

* macOS, iOS: update rive to 14d13c3ded7b141d5130c0246901008dc070c9fe

* fix a few includes

* fix filehelper include

* add another include

* replaced forward with include; fixing a peculiar compilation issue

* add SetTextValueAtPath, and GetStringValueAtPath

* win,android refactor update rive to bc8ed46e56b3c312f0333aa82f0486838a898739

* missing files

* macOS, iOS refactor update rive to bc8ed46e56b3c312f0333aa82f0486838a898739

* remove unused components and content

* header fixes for packaging

* update plugin icon with Rive graphic

---------

Co-authored-by: Tod-Rive <tod@rive.app>
schetle added a commit that referenced this pull request Sep 9, 2024
* UR-244: Fix reimport

* UR-245: Remove RiveViewport client, replaced RiveWidget for fixed UI blending; Removed UI Blend Mode

* fix includes for release build

* ensure all Initialization paths listen for RiveFile delegates; Artboard file code cleanup

* 4b4529a continued: "ensure all Initialization paths listen for RiveFile delegates; Artboard file code cleanup"

* expose OnRiveReady for RiveTextureObject

* UR-247: Artboard / State machine dropdowns implemented across RiveWidget, RiveTextureObject, RiveActorComponent

* rive audio changes

* editor-only: reset rive textures on editor begin play

* RiveWidget audio convience

* win,android: update rive to b192f37856b249fbd6247700bf13d07d9b064c47

* macOS, iOS: update rive to b192f37856b249fbd6247700bf13d07d9b064c47

* Runtime Asset swapping (#105)

RiveAsset class was broken into 3 classes
        RiveAudioAsset
        RiveImageAsset, contains runtime compatible functions:
            LoadImageBytes (accepting an array of bytes in png, webp, jpg format)
            LoadTexture (not yet implemented fully, as we wait on Rive to allow us to submit bitmap data)
        RiveFontAsset, contains runtime compatible functions:
            LoadFontFace (loads an Unreal font face, if the font face's load policy is set to Inline)
            LoadFontBytes (accepting an array of bytes in ttf/otf format)
    RiveFile now supports a function "GetRiveAssetById", returning a base RiveAsset which can later be cast to one of the specific asset types to operate on
***
* asset overrides

* load image bytes call

* cleanup

* Ensure RiveWidget setup is called a short time after init

* Fixed Artboards. (#104)

* Fixed Artboards.

- No more phantom artboards during PIE.
- Artboards in the level reset on PIE begin.

* Made PR suggested changes.

- Moved Artboard check/creation to URiveTextureObject::RiveReady
- Removed EditorBeginPlay() and bHasBegunPlay

* UR-249: Improve UMG widget handling, with minimum sizes based on selected artboard as the initial size

* win,android: update rive to 14d13c3ded7b141d5130c0246901008dc070c9fe

* macOS, iOS: update rive to 14d13c3ded7b141d5130c0246901008dc070c9fe

* fix a few includes

* fix filehelper include

* add another include

* replaced forward with include; fixing a peculiar compilation issue

* add SetTextValueAtPath, and GetStringValueAtPath

* win,android refactor update rive to bc8ed46e56b3c312f0333aa82f0486838a898739

* missing files

* macOS, iOS refactor update rive to bc8ed46e56b3c312f0333aa82f0486838a898739

* remove unused components and content

* header fixes for packaging

* update plugin icon with Rive graphic

* android rendertarget slip

---------

Co-authored-by: Tod-Rive <tod@rive.app>
schetle added a commit that referenced this pull request Sep 25, 2024
* started implementing rhi

* UR-244: Fix reimport

* UR-245: Remove RiveViewport client, replaced RiveWidget for fixed UI blending; Removed UI Blend Mode

* fix includes for release build

* ensure all Initialization paths listen for RiveFile delegates; Artboard file code cleanup

* 4b4529a continued: "ensure all Initialization paths listen for RiveFile delegates; Artboard file code cleanup"

* expose OnRiveReady for RiveTextureObject

* UR-247: Artboard / State machine dropdowns implemented across RiveWidget, RiveTextureObject, RiveActorComponent

* rive audio changes

* editor-only: reset rive textures on editor begin play

* RiveWidget audio convience

* win,android: update rive to b192f37856b249fbd6247700bf13d07d9b064c47

* macOS, iOS: update rive to b192f37856b249fbd6247700bf13d07d9b064c47

* Runtime Asset swapping (#105)

RiveAsset class was broken into 3 classes
        RiveAudioAsset
        RiveImageAsset, contains runtime compatible functions:
            LoadImageBytes (accepting an array of bytes in png, webp, jpg format)
            LoadTexture (not yet implemented fully, as we wait on Rive to allow us to submit bitmap data)
        RiveFontAsset, contains runtime compatible functions:
            LoadFontFace (loads an Unreal font face, if the font face's load policy is set to Inline)
            LoadFontBytes (accepting an array of bytes in ttf/otf format)
    RiveFile now supports a function "GetRiveAssetById", returning a base RiveAsset which can later be cast to one of the specific asset types to operate on
***
* asset overrides

* load image bytes call

* cleanup

* Ensure RiveWidget setup is called a short time after init

* Fixed Artboards. (#104)

* Fixed Artboards.

- No more phantom artboards during PIE.
- Artboards in the level reset on PIE begin.

* Made PR suggested changes.

- Moved Artboard check/creation to URiveTextureObject::RiveReady
- Removed EditorBeginPlay() and bHasBegunPlay

* working imagemesh without background

* missed some headers

* UR-249: Improve UMG widget handling, with minimum sizes based on selected artboard as the initial size

* imageRect now working

* win,android: update rive to 14d13c3ded7b141d5130c0246901008dc070c9fe

* macOS, iOS: update rive to 14d13c3ded7b141d5130c0246901008dc070c9fe

* fix a few includes

* fix filehelper include

* add another include

* replaced forward with include; fixing a peculiar compilation issue

* add SetTextValueAtPath, and GetStringValueAtPath

* updated to work with new rive layout

* basic rendering and shader permutations working

* made work with main

* win,android refactor update rive to bc8ed46e56b3c312f0333aa82f0486838a898739

* missing files

* macOS, iOS refactor update rive to bc8ed46e56b3c312f0333aa82f0486838a898739

* remove unused components and content

* header fixes for packaging

* update plugin icon with Rive graphic

* android rendertarget slip

* some cleanup and exports for gms

* more cleanup

* UR-207: Rive on Metal looks washed out

* commit basic FilterPlugin

* removed uneeded guards

* updated to latest runtime

* added rive rhi shaders

* removed dupliocate calls in render target

* allow some UTextures to be used as targets for runtime asset overriding

* fixed some compiler warnings and added flag to ignore shader warnings

* add rive renderer settings

* remvoe duplicate include

* added default load action instead of silencing warning

* updated to use the enable tech preview setting

* addressed PR comments

* move editor specific settings to RiveEditor module

* Use RiveFile initialization delegate before completing rivetextureobject init

* added webp loading, fixed issues with packaging the plugin

---------

Co-authored-by: blakdragan7 <jcopela4@gmail.com>
Co-authored-by: Tod-Rive <tod@rive.app>
schetle added a commit that referenced this pull request Sep 27, 2024
* started implementing rhi

* UR-244: Fix reimport

* UR-245: Remove RiveViewport client, replaced RiveWidget for fixed UI blending; Removed UI Blend Mode

* fix includes for release build

* ensure all Initialization paths listen for RiveFile delegates; Artboard file code cleanup

* 4b4529a continued: "ensure all Initialization paths listen for RiveFile delegates; Artboard file code cleanup"

* expose OnRiveReady for RiveTextureObject

* UR-247: Artboard / State machine dropdowns implemented across RiveWidget, RiveTextureObject, RiveActorComponent

* rive audio changes

* editor-only: reset rive textures on editor begin play

* RiveWidget audio convience

* win,android: update rive to b192f37856b249fbd6247700bf13d07d9b064c47

* macOS, iOS: update rive to b192f37856b249fbd6247700bf13d07d9b064c47

* Runtime Asset swapping (#105)

RiveAsset class was broken into 3 classes
        RiveAudioAsset
        RiveImageAsset, contains runtime compatible functions:
            LoadImageBytes (accepting an array of bytes in png, webp, jpg format)
            LoadTexture (not yet implemented fully, as we wait on Rive to allow us to submit bitmap data)
        RiveFontAsset, contains runtime compatible functions:
            LoadFontFace (loads an Unreal font face, if the font face's load policy is set to Inline)
            LoadFontBytes (accepting an array of bytes in ttf/otf format)
    RiveFile now supports a function "GetRiveAssetById", returning a base RiveAsset which can later be cast to one of the specific asset types to operate on
***
* asset overrides

* load image bytes call

* cleanup

* Ensure RiveWidget setup is called a short time after init

* Fixed Artboards. (#104)

* Fixed Artboards.

- No more phantom artboards during PIE.
- Artboards in the level reset on PIE begin.

* Made PR suggested changes.

- Moved Artboard check/creation to URiveTextureObject::RiveReady
- Removed EditorBeginPlay() and bHasBegunPlay

* working imagemesh without background

* missed some headers

* UR-249: Improve UMG widget handling, with minimum sizes based on selected artboard as the initial size

* imageRect now working

* win,android: update rive to 14d13c3ded7b141d5130c0246901008dc070c9fe

* macOS, iOS: update rive to 14d13c3ded7b141d5130c0246901008dc070c9fe

* fix a few includes

* fix filehelper include

* add another include

* replaced forward with include; fixing a peculiar compilation issue

* add SetTextValueAtPath, and GetStringValueAtPath

* updated to work with new rive layout

* basic rendering and shader permutations working

* made work with main

* win,android refactor update rive to bc8ed46e56b3c312f0333aa82f0486838a898739

* missing files

* macOS, iOS refactor update rive to bc8ed46e56b3c312f0333aa82f0486838a898739

* remove unused components and content

* header fixes for packaging

* update plugin icon with Rive graphic

* android rendertarget slip

* some cleanup and exports for gms

* more cleanup

* UR-207: Rive on Metal looks washed out

* commit basic FilterPlugin

* removed uneeded guards

* updated to latest runtime

* added rive rhi shaders

* removed dupliocate calls in render target

* allow some UTextures to be used as targets for runtime asset overriding

* fixed some compiler warnings and added flag to ignore shader warnings

* add rive renderer settings

* remvoe duplicate include

* added default load action instead of silencing warning

* updated to use the enable tech preview setting

* addressed PR comments

* move editor specific settings to RiveEditor module

* Use RiveFile initialization delegate before completing rivetextureobject init

* added webp loading, fixed issues with packaging the plugin

* fix for metal write only flag issue

* rename GetStringValueAtPath to GetTextValueAtPath

* made compile on 5.3

* Made compile on 5.3 and up and made build scripts 4.27 compatable.

* fixed macro copy-pasta mistake

* fix for mac and ios build name discrepencies

* updated again for mac paths

* syntax error

* update check

* fix apple linkage

* ensure hit results are properly counted regardless of hit vs. hitOpaque

---------

Co-authored-by: blakdragan7 <jcopela4@gmail.com>
Co-authored-by: Tod-Rive <tod@rive.app>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants