Announcement

Collapse
No announcement yet.

Project: Paper2D

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    Originally posted by Doug View Post
    Link showing sprite animating in standalone game (and random sphere which exists nowhere in the project) http://pasteboard.co/18Dci85h.png
    The random sphere is probably the default pawn (ADefaultPawn::MeshComponent is a sphere), which may be visible there but not in the editor viewport due to a different aspect ratio?

    Cheers,
    Michael Noland

    Comment


    • #62
      Ah great that makes sense, it's the only plug-in I've worked with. Can see it now I've added the plugin to IOSEngine.ini.
      Cheers,
      Doug
      Last edited by Doug; 06-29-2014, 11:00 AM.

      Comment


      • #63
        [Weekly 2D Status 6/30/2014]
        Everything listed here will be in 4.3, but later updates will be about future releases as we have branched for 4.3 today. I've also taken a pass at updating the 2D Trello roadmap to reflect completed work and changed priorities.

        Enabled Paper2D plugin by default in the engine, so it will be usable in content-only games in 4.3

        Editor and documentation work to properly message the state of Paper2D in 4.3
        • Overall Paper2D in 4.3 is an Early access preview - While not considered production-ready, it is a step beyond 'experimental' and is being provided as a preview of things to come
        • Created placeholder editor intro tutorials, etc...
        • Sprites and Flipbooks are Early access
        • 2D collision/physics, terrain splines, atlasing groups, and tile maps are Experimental (hidden behind enable flags where possible)

        Created 2D side scroller game template (BP and C++ variations)

        Productization / usability polish pass
        • Added pixels per unreal unit scaling factor to sprites, with a per-project default setting
        • Visual pass on Sprite Editor
        • Completely revamped Flipbook Editor
        • Flipbook component improvements (play/pause, looping control, reverse, etc…)
        • Renamed Paper2D classes to better match their associated assets and parallel existing engine components


        Posting here as well as editing at the top of the thread since I'm not sure if subscription notifications are sent out for edited posts.





        Cheers,
        Michael Noland
        Attached Files

        Comment


        • #64
          Excellent work Michael. Look forward to using it.
          Visual Effects Artist, Weta Digital, Wellington New Zealand
          BLOG www.danielelliott.co.uk
          @danielelliott3d https://twitter.com/danielelliott3d
          Unreal Engine and VFX Tutorials https://www.youtube.com/user/DokipenTechTutorials
          2015 Showreel: https://vimeo.com/116917817

          Comment


          • #65
            Wow, I didn't expect so many mind-blowing features to come this quickly, really awesome work!

            The feature I want and I think it's quite important for a 2D game is a box character controller. The current capsule one is good for 3D game, but not so much for a traditional side-scroller. I don't know if you guys have already implemented that.

            Thanks!

            Comment


            • #66
              Hi 3dgo,

              You can try out bUseFlatBaseForFloorChecks on CharacterMovementComponent, which will make it behave more like a traditional 2D platformer character, with a flat bottom instead of a curved capsule bottom. However, this can cause a little floating when going up inclines; you can choose the tradeoff between better behavior on the edge of a ledge versus inclines by setting this to true or false.

              It's certainly something we'd like to continue improving. You kind of want the hybrid behavior, using a box to determine support but the capsule to determine grounding, maybe falling back to the box when the discrepancy is too high.

              Cheers,
              Michael Noland
              Last edited by Michael Noland; 07-01-2014, 10:27 PM.

              Comment


              • #67
                This is shaping up real nice. Once 4.3 has been released, I plan to convert my Captain Comic prototype game to using Paper2D. Hopefully that will reduce some of the graphical glitches I am seeing. Will there be any issues in deploying to HTML5 using Paper2D?
                FluidSurface Plugin: https://github.com/Ehamloptiran/UnrealEngine/releases
                TextureMovie Plugin: https://github.com/Ehamloptiran/TextureMoviePlugin

                Comment


                • #68
                  This looks great, just out of curiosity, if anyone is using experimental Paper2d at the moment will 4.3 totally break that?

                  Comment


                  • #69
                    Originally posted by Ehamloptiran View Post
                    This is shaping up real nice. Once 4.3 has been released, I plan to convert my Captain Comic prototype game to using Paper2D. Hopefully that will reduce some of the graphical glitches I am seeing. Will there be any issues in deploying to HTML5 using Paper2D?
                    I haven't tried it out with HTML5 yet, but it works fine on iOS so I wouldn't expect any major issues (as that tests both cooking and the ES2 rendering path). Note: The Box2D integration (*experimental*) only has checked in libs for Windows right now; I'm waiting until the integration gets a little further along before I commit to rebuilding the binaries for all the different platforms each time I modify it, but you should be able to use PhysX with the planar constraint on the character without any issues (the 2D template we're shipping in 4.3 is PhysX). Box2D source is included along with the modifications I've had to make though, so you could recompile it if you really wanted to try it on HTML5 / etc...

                    Originally posted by Awdogsgo2heaven View Post
                    This looks great, just out of curiosity, if anyone is using experimental Paper2d at the moment will 4.3 totally break that?
                    I think it will wipe the material asset reference or material override you've configured on a sprite or flipbook asset or associated component instances (resetting them to the default sprite material), but otherwise it should work OK. From 4.3 on, they should be forwards-compatible, although I'm not promising that on terrain splines and tile maps yet.

                    The classes also got renamed, but there are ActiveClassRedirects in place for existing content and deprecated typedefs mapping to the new names for C++ users, so it should still compile/load fine (unless you #include'ed a header directly instead of using *Classes.h, I didn't place stub headers that include the new one).

                    Cheers,
                    Michael Noland

                    Comment


                    • #70
                      @Michael Noland

                      Michael thanks for your work on Paper 2D, i'm checking every day, several time by day your commit on the master branch, so thanks again for everything you're currently done to allow us to use UE4 for a 2D Game production.
                      On another Topic, i need to ask you several questions, that i found anywhere the answer

                      1 - How are we supposed to do to ensure that Animation sprite are replicated ? i mean i have two character , currently everything is replicated correctly, except Animation, should we check replicated in Timeline animation or having a specific replicated variable who will handle those animation ?

                      2 - what is your current suggestion regarding collision, i've read all the forums post related to 2D collision, so we don't really know if we need to enable collision on sprite and disable collision on Mesh, if you have any idea i will like to heard you on this topic.

                      Thanks Michael

                      Comment


                      • #71
                        Had a play with the recent preview build(30th June) which has the latest and greatest paper2d stuff in it. very much enjoyed seeing the 2d templates included. Regarding the physics, at the moment the capsule is colliding with the sprites and the constrain to plain is enabled on the capsule. Is this the way paper 2d will be going forward with physics? Not sure how the box2d stuff is related. How is box2d utilized in regard to sprites and the character movement component?
                        Visual Effects Artist, Weta Digital, Wellington New Zealand
                        BLOG www.danielelliott.co.uk
                        @danielelliott3d https://twitter.com/danielelliott3d
                        Unreal Engine and VFX Tutorials https://www.youtube.com/user/DokipenTechTutorials
                        2015 Showreel: https://vimeo.com/116917817

                        Comment


                        • #72
                          Originally posted by Michael Noland View Post
                          Originally posted by Awdogsgo2heaven View Post
                          This looks great, just out of curiosity, if anyone is using experimental Paper2d at the moment will 4.3 totally break that?
                          I think it will wipe the material asset reference or material override you've configured on a sprite or flipbook asset or associated component instances (resetting them to the default sprite material), but otherwise it should work OK. From 4.3 on, they should be forwards-compatible, although I'm not promising that on terrain splines and tile maps yet.
                          While writing up release notes today I realized that the material property rename actually happened during 4.2 development, so there are probably no real content breaking changes from 4.2 to 4.3.

                          Cheers,
                          Michael Noland

                          Comment


                          • #73
                            Originally posted by GolgothX01 View Post
                            1 - How are we supposed to do to ensure that Animation sprite are replicated ? i mean i have two character , currently everything is replicated correctly, except Animation, should we check replicated in Timeline animation or having a specific replicated variable who will handle those animation ?
                            Nothing is currently set up to replicate; the correct approach would probably be to replicate the flipbook asset pointer, position, and a few state bits (bPlaying, etc...). I don't think I'll be able to get this into the 4.3 branch as we're trying to reach RC0 soon, but I'll make sure to take a look at it for 4.4. If you want to cheese something together before then, you can try (on the authority only) copying GetPlaybackPosition() and GetFlipbook() each Tick into variables set to replicate on your Actor subclass.

                            Originally posted by GolgothX01 View Post
                            2 - what is your current suggestion regarding collision, i've read all the forums post related to 2D collision, so we don't really know if we need to enable collision on sprite and disable collision on Mesh, if you have any idea i will like to heard you on this topic.
                            The 2D side scroller sample is using only the character capsule for collision, with no collision on the Mesh or the Flipbook Components. It's using PhysX, and relying on the plane constraint feature of CharacterMovementComponent to lock everything to a 2D plane.

                            For Flipbooks:
                            We don't currently support any collision on flipbooks due to some concerns with animated size/shape of collision volumes. If the sprite doesn't dramatically change aspect ratio during animation, I don't think this'll be a huge issue, but I'm interested in hearing from real world use cases. I can imagine it working a bit more like PhysicsAssets do for skeletal meshes in the future, with a set of rigid bodies that are animated but don't collide with each other, moving but not changing size, etc...

                            For Sprites:
                            You can define arbitrary collision shapes, and it will generate 'fat' 3D collison shapes from them by extruding by CollisionThickness. These work great for collision detection, although if you enable simulation it's easy to knock them 'out of plane'. Ori is looking at a simple 'easy button' way to set up PhysX constraints for arbitrary rigid bodies (not just Character) to lock them to a 2D plane, which should make PhysX more viable for a 2D game that includes simulation, not just collision detection.

                            Originally posted by dokipen View Post
                            Regarding the physics, at the moment the capsule is colliding with the sprites and the constrain to plain is enabled on the capsule. Is this the way paper 2d will be going forward with physics? Not sure how the box2d stuff is related. How is box2d utilized in regard to sprites and the character movement component?
                            The Box2D integration is quite early still. Collision detection and simulation/response are mostly working, including all of the great Unreal collision filtering and object/trace filtering channel stuff, so it could probably be used in a physics-based 2D game already. However, non-ray based queries, sweep tests, and overlap tests are not implemented yet. Without those features, things like CharacterMovementComponent and MoveComponent with bSweep=true won't work correctly.

                            The integration strategy I've been taking is to make it a first class citizen, where the same techniques/knowledge you use in 3D scenes will directly apply to 2D scenes, so there'll only be one Overlap event, not a separate 2D and 3D one, etc... For example, 3D raycasts are already implemented for Box2D and you can both trace 'in-plane' (gameplay traces within the 2D 'world') or 'perpendicular to plane' (things like the Touch input trace to determine the object under your finger / mouse cursor). You'll get a proper hit result location, normal, etc... back as well. This will both make it integrate more cleanly with the engine as a whole, as well as enable hybrid 2D/3D experiences to be built easily (although there are some tricky questions about authority if you want the two domains to overlap at all during simulation; probably the best approach will be to have a kinematic mirror body attached to a simulating body in the opposite domain or avoid the issue altogether).

                            I'll be focusing on some more general mobile workflow issues for 4.4, so I don't know if I'll have time to advance the Box2D integration further in the near term. If you (or anyone else) are interested in having a look, there are a lot of //@TODO: BOX2D: comments in the code and I'd love to look at pull requests ^_^

                            Cheers,
                            Michael Noland

                            Comment


                            • #74
                              Originally posted by Michael Noland View Post

                              For Flipbooks:
                              We don't currently support any collision on flipbooks due to some concerns with animated size/shape of collision volumes.
                              Ok that explains it. I was thinking that sprites and paperanimatedrendercomponents would behave similarly but I can understand changing bounds being an issue.


                              Originally posted by Michael Noland View Post

                              For Sprites:
                              You can define arbitrary collision shapes, and it will generate 'fat' 3D collison shapes from them by extruding by CollisionThickness. Yeah I tried that in the preview. I moved a ledge forward towards camera and tried increasing that value. got some popping and disapearing sprite issues when the character tried to collide with it. it was a quick test though so need to loo back and look at the values. Is there a way to visualize the extruded shap in the 3d viewport?
                              Originally posted by Michael Noland View Post
                              If you (or anyone else) are interested in having a look, there are a lot of //@TODO: BOX2D: comments in the code and I'd love to look at pull requests ^_^
                              would love to. still getting my head around the engine code though. doesn't help that i'm working 10+ days 6 days a week making fluid sims for my day job
                              Visual Effects Artist, Weta Digital, Wellington New Zealand
                              BLOG www.danielelliott.co.uk
                              @danielelliott3d https://twitter.com/danielelliott3d
                              Unreal Engine and VFX Tutorials https://www.youtube.com/user/DokipenTechTutorials
                              2015 Showreel: https://vimeo.com/116917817

                              Comment


                              • #75
                                Yeah, you can type 'show collision' in PIE/gameplay, or use the Show..Collision menu in the viewport of the level editor or sprite editor.

                                Cheers,
                                Michael Noland

                                Comment

                                Working...
                                X