Is there a top prior rendering bug between sprite animation transition?

Hey guys !

have you notified that there is a top prior rendering bug between sprite animation transition, sprite blink between each animation change transition.

Thanks for your time

You can try this fix in your source code :

The solution that showed on video is for Mac or Linux version,expansion of Visual Studio files on that system is cpp, but on windows its (.h)C/C++ Header.I can attach windows version of code,may be someone can rebuilt it…

#pragma once

#include “PaperFlipbook.h”
#include “PaperAnimatedRenderComponent.generated.h”

UCLASS(MinimalAPI, ShowCategories=(Mobility), meta=(BlueprintSpawnableComponent))
class UPaperAnimatedRenderComponent : public UPrimitiveComponent
{
GENERATED_UCLASS_BODY()

protected:
UPROPERTY(Category=Sprite, EditAnywhere, meta=(DisplayThumbnail = “true”))
UPaperFlipbook* SourceFlipbook;

UPROPERTY(Category=Sprite, EditAnywhere)
UMaterialInterface* Material;

UPROPERTY(Category=Sprite, EditAnywhere, BlueprintReadWrite)
float PlayRate;

public:
/** Change the flipbook used by this instance. /
UFUNCTION(BlueprintCallable, Category=“Sprite”)
virtual bool SetFlipbook(class UPaperFlipbook
NewFlipbook);

/** Gets the flipbook used by this instance. */
UFUNCTION(BlueprintPure, Category="Sprite")
virtual UPaperFlipbook* GetFlipbook();

/** Gets the material used by this instance */
UFUNCTION(BlueprintCallable, Category="Sprite")
UMaterialInterface* GetSpriteMaterial() const;

/** Set color of the sprite */
UFUNCTION(BlueprintCallable, Category="Sprite")
void SetSpriteColor(FLinearColor NewColor);

//@TODO: Hackery for demo
UFUNCTION(BlueprintCallable, Category="Sprite")
void SetCurrentTime(float NewTime);

protected:
float AccumulatedTime;
int32 CachedFrameIndex;

UPROPERTY(BlueprintReadOnly, Interp, Category=Sprite)
FLinearColor SpriteColor;

protected:
void CalculateCurrentFrame();
public:
// UActorComponent interface
virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) OVERRIDE;
virtual void SendRenderDynamicData_Concurrent() OVERRIDE;
// End of UActorComponent interface

// UPrimitiveComponent interface
virtual FPrimitiveSceneProxy* CreateSceneProxy() OVERRIDE;
virtual FBoxSphereBounds CalcBounds(const FTransform & LocalToWorld) const OVERRIDE;
// End of UPrimitiveComponent interface

};

have you looked for the cpp file in the correct place ?
UnrealEngine4/Engine/Plugins/Experimental/Paper2D/Source/Paper2D/Private/PaperAnimatedRenderComponent.cpp
It should be the same in Win & Mac. It is about the engine project. not about the platform.

Yes,I looked for cpp at the whole UE4 folder.No paper render cpp.More than,in the paper 2d folder there is no any of cpp files.Look at the screenshots.alt text

Are you using the Launcher version of UE4? (ie. Not the Github version). If so you will not see any CPP files. You will need to download and compile the Github version to implement the above fix.

I would say the same as @Ehamloptiran

it should be the same as Mac. at the end of the day, the engine use the same source code in both systems. Here a screenshot from my other windows computer. and it works fine.

  • first make sure you have the source code

  • second, make sure you are looking inside the correct directory

  • third, you can search for the file inside the Visual studio, it is fast solution too.

Thanks, I downloaded Github and done what you showed in your video.