Project: Paper2D

I reopened editor today and jittering wasn’t there. I actually was using “latest preview” before 4.3 preview.

I did see that resolution of flipbook would sometimes downscale in resolution and would require going back to flipbook and resaving. I’ll get proper 4.3 preview tonight and see how that works.

Sorry for reporting all wierdness. not trying to be annoying!

Cheers
Dan

Hi . I think I found a semi reproducable bug. I noticed that my sprite was downsampling in blueprint component editor. Things seemed to look ok in texture, sprite and flip book and then I noticed it happening in sprite editor. Here’s steps I take to reproduce… (note its most easily seen when filtering is nearest but it does occur with bi/tri as well and texture goes blurry).

a) open sprite in sprite editor.
b) load a different sprite in details panel source texture (any one from template project)
c) reload sprite to refresh it. Looks okay again.
d) Here’s strange part. Scroll down in sprite editor details panel with rendering tab and collision tab open.
e) When details panel reveals ‘Avoid merging vertices’ checkbox, sprite downsamples in viewport (half res by looks of it).

If I do b & c a couple of times after opening editor fresh and then scroll up and down in details panel then it always happens.

I can also see if happening in flipbook editor and also in thumbnail in in content browser.

I’ve attached texture that MJ_Concept_D2.png is happening to if you want to test it. I’m going to try on windows build and see if it happens there too.

edit. is in OSX preview version from launcher as well as build from source preview before 4.3 one.
edit 2. tried windows 4.3 launcher build and everything is fine with that. seems it’s an osx issue at moment.

Hi ,

Will there be a classic TileSet Editor at some point for UE4 Paper2D ? Means, you have a grid and can select and “paint” parts (squares) from a TileSet texture into viewport? That would be cool.

I have looked into Paper2D Experimental Version in 4.3 Preview and managed to do some stuff, but I am stuck with finding Paper2D Terrain Actor.

Another thing I noticed seems to be a bug due to image size. I have imported a 431x2357 px alpha layered png file into UE4, which contains all of sprites for Character ( Samus Aran from Super Metroid :wink: ) and selecting single sprites from it with double clicking them in Sprite Editor is broken, most likely due to image size. I have to double-click way above actual sprite to get it selected. Sure, I could trim it down to seperate parts and avoid issue, but having a huge sprite sheet where all “animation” stages are stored, is kinda…handy.

In any case, I am surprised, what kind of features Epic wants to support with UE4. Not only 3D Stuff, but also oldschool sprite based 2D games. Keep up good work :slight_smile:

Hello! First at all thanks for your answer! Let me clarify,and sorry in advance for my bad English :stuck_out_tongue:

So Actually to be short, what i’m trying to do, is to have on Both [Client/server] Player including movement [facing direction] & sprite animation replicated correctly, which is an headache for me at moment :stuck_out_tongue:
i’m actually working with UE 4.3 preview version from morning and i restarted from scratch using 2D Template side scroller which i found is a very good base to start even if too much basic for now :p, and i would like to help to make it really more complete.

My Goal is to achieve an Advanced version who Handle most commun 2D movement [Idle, Run, Jump, Fall, Landing, Animations) in 8 Direction [+ Neutral] and everything Working Online mean everything replicate including Animation on both Client/server

Update : Billy , i’ve almost everything working except on client side, for a reason i ignore some animation and facing direction of client is not updated correctly on server, which is strange i always thought that most difficult was to have on client things worked as expected

So let me show you my code, in order :

01 - easy task : i have mapped 6 Axis Input, [1 for Horizontal Movement, 1 for Vertical Movement and 4 for Diagonal Movement) see Attached picture it’s very simple and i can handle at end All 8 Direction + Neutral. Every time i hold a direction , i change value of a Variable name [Axis Direction] specified replicated
02 - now about how i handle movement, it’s pretty similar than what done with his mapped Moveright axis, instead, i’m using my replicated Variable [Axis Direction] and voila!! Now if you run 2 Players you will see that on Server and Client, Both are replicated, except one Issue, when client change of rotation, only client display change, from Server side, we are not viewing player change.
03 - So i’ve added, Jump animation, fall animation and landing animation, everything seem to work, but as facing direction, only client view these one.

So my question is how guaranty , that animations and change of facing direction from client are replicated on Server :stuck_out_tongue:
i attach also my blueprint

Thanks, and Thanks Also for great idea of including 2D Template !!!

Thanks in advance for your help

!

Keep good work on UE4 2D Features, and thanks again , i’m watching almost in real time your commit on Master branch! each time i’m able to view " Paper 2D features…" my day work seems more easy :stuck_out_tongue:
By way , i’m working in a rename Independant video game studio focus on Modern 2D HD games, (i sent you a private email) if we can help you by providing any Exclusive Assets including hand draw Animation Just ask me, what you need and how you need it, and i will ask to our artist to make it and you could reuse it free or rights into UE4 Template

,

Could you Answer me about question please:

Actually, if we want In case of Multiplayer, that each player not enter in collision together , what is best configuration, as currently in your 2D Side scroller Template, if i jump on head of another player, i bounce on it :stuck_out_tongue:
i ask you simple question because i seen that you have keeped 3D Collision on textures as i can see in texture editor even for Platform who compose level…

As a heads up for anyone subscribed to thread, I posted some preliminary documentation for Paper2D in 4.3 in another thread: Paper 2D Documentation for 4.3 Preview - World Creation - Epic Developer Community Forums

Cheers,

Thanks! I replied to your email.

easiest way to accomplish is to define your own collision groups, check out “Custom Object Channels and Trace Channels” at bottom of Collision in Unreal Engine | Unreal Engine 5.3 Documentation
With that you should be able to set it up so that PlayerSprites collide with other level sprites but not with each other (Block everything but Ignore other PlayerSprites).

Cheers,

Hi ,

There will be tile map support in a future version, but it’s not really ready in 4.3. You can enable what is there by using experimental flags in Paper2D settings in Project Settings.

Sorry to hear about double-clicking not working, I’ll see if I can repro issue next week.

Cheers,

I don’t think Paper2D is playing well with texture streaming system right now, which might cause textures to appear blurry under some conditions. You can work around it by disabling texture streaming on any textures you are using for sprites (open them in texture editor and check “Never Stream”).

Cheers,

Dear ,

Several things

  1. Thanks for including Steam achievements and leader board BP nodes with Tappy Chicken! Really useful for me to see how you did that!

  2. Wow Tappy Chicken is hard! I was very pleased with how challenging and actually physics-based it was, great work !

  3. I am excited to see how vigorously you are supporting / making 2D games possible in UE4!

:heart:

, do you have any thoughts on how to do multiplatform games in Unreal?

For example, if you were doing Objective C and making a 2d game, you would need textures for iPhone and iPad because of vastly different resolutions. You would name them using conventions set forth by Apple (for example adding ‘~ipad’ at end of a texture , and they would load appropriate sprite automatically for you. I don’t think any such thing is possible in Unreal Engine and I’m not sure if that would even be best way to go about it here.

I’ve read in Unity, people often create different Scenes/Levels for IPhone and IPad, but creating everything twice seems like a big pain. Is there anything else that can be done in Unreal? Any suggestions?

I also thought about, if I knew where to hook up, I could try to override something in Unreal Engine so that it chooses texture to load based on platform (using naming conventions like apple does)?

Hello Everyone.

I’m currently fiddling around with menus and a top-down style of game-play using Paper 2D and free-moving mouse input, however I’m having trouble trying to figure out how to get hit-traces and OnClicked events to work for PaperSprites.
As far as I know, it’s set up correctly and sprite is using 3D Physics as Collision. traces and click events work fine on any random brush I drag into scene, but not sprites.
Am I missing something, is it not implemented yet, or is there a different way of doing ?

Thank you for your reply, . I found options and will play with it a bit more. :slight_smile:

  1. Glad you found them useful. I hope we can pull offline/failure retry logic into OSS in future, making them more fire and forget, which should let Shane really simplify BP logic.

  2. That’s all Shane, I just exposed things for him to use.

  3. Thanks! I think we’ll have time to switch Tappy Chicken over to Paper2D in 4.4, which should make it a lot easier to build off of since you won’t have to import meshes or mess with UV mapping anymore.

Cheers,

Yes that was in fact issue. Thanks.

Hi ,

I was working with Paper 2D again today, a lot of great new features by way, Thank you! I built two sprites with sprite editor, with 3D physics enabled. I can drop instances of them in scene view, but I have to turn on simulate physics for each instance. Is there a way to turn on in sprite, before dropping it into scene, or is what building a blueprint class is for?

I tried making an actor blueprint, add my sprite as a component, but physics settings are greyed out and won’t let me turn on simulate physics. When I work with 3D meshes, I can turn on simulate physics in component editor with no problem. So I was wondering if is a current limitation in 4.3, or just an overlooked bug! I didn’t see anyone else mention issue yet.

Thanks for your help!

Wilhelm

might be a silly question. But looking at Paper2d sprite, is it safe to try to edit UV Width/Height in code? I was wondering if its possible I could animate that…to make an animation of an object appearing.

,

Here is a bit of an unordered stream of consciousness on subject:

What we’ve done internally is to author assets for retina resolution and ensure that they look good scaled down to lower resolutions as well. You can adjust texture settings per category for different device profiles to prevent loading top mip level to save some runtime memory too, was a huge help on Infinity Blade where it used several different categories for different textures and dropped some by one mip and others by more than one (on lowest end devices).

Regarding adjusting view, camera logic in Tappy Chicken Blueprint demonstrates how to adjust camera to scale between phones and tablets while keeping a nice pixel multiple visible to avoid aliasing artifacts. I’d like to see us ship a number of additional built-in camera variants for sort of automatic adjustment but I don’t know when that might happen.

However, RE: your idea of picking different textures at runtime, you might be able to abuse localization system to do something like that (creating a phone dialect and tablet dialect for each actual localized language you are targeting), as I think it has provisions for changing out any asset (not just textures) based on locale. I don’t know any details on how that works though.

guys working on UMG have been planning how to handle different resolutions and aspect ratios in a nice, easy to author manner and have some good ideas. I’d suggest jumping to one of UMG threads or starting a new one for that aspect though, we’re trying to minimize duplicated effort between UMG and Paper2D.

Cheers,

It’s not really safe / possible in a cooked build. All of geometry manipulation code is editor-only right now. You could adjust raw ‘cooked’ FVector4 data and recreate render proxies each frame but it wouldn’t be very performant. Instead, I’d recommend either animating scale of component (if you just want sprite to stretch/squash) or making a custom material for anything more complicated. You can use full material pipeline of Unreal to do crazy complicated things on a sprite.

I’d be interested in specific use cases though, it would certainly be possible to add a kind of sprite component that lets you dynamically adjust geometry if there is enough interest, ala CustomMeshComponent for 3D meshes.

Cheers,