User Tag List

Page 2 of 2 FirstFirst 12
Results 41 to 66 of 66

Thread: Scissor2D - A new 2D toolkit plugin

  1. #41
    0
    Luminary
    Join Date
    Mar 2014
    Posts
    1,700
    Super excited and I love that 2D button at the top of the screen

  2. #42
    0
    Great work! Thanks for the update, really exciting stuff.

    I don't think it's been mentioned specifically, but with regard to tilemaps and layers: What do you think about a configurable parallax rate for orthographic layers that you can set per layer, which is tied to camera movement, and preview-able within the 2D editor view?

  3. #43
    0
    Fully supporting this.

    Go get'em tiger!
    Fighting Game Template: PROJECT: Unreal Fighter 2D

  4. #44
    0
    Quote Originally Posted by dbInteractive View Post
    What do you think about a configurable parallax rate for orthographic layers ?
    Yes i can see that being very useful. I need to have a think about adding it to the layer itself or as a helper component you can add somehow. either way I'll add it to the list!

  5. #45
    0
    I am currently planning out how the integrated texture atlasing will work and I have a poll running over here for some feedback:

    https://forums.unrealengine.com/showthread.php?146593-Ideal-sprite-atlas-creation-system

    If you could fill it out with your ideas, that would be grand

  6. #46
    0
    Supporter
    Join Date
    Jun 2015
    Posts
    2
    This is looking really cool so far. I've always felt that Paper2D was really lacking, so I can't wait to see where this goes!

  7. #47
    0


    Hello! Scissor2D now has a public documentation only repository where you can track the development roadmap:

    https://github.com/beepdavid/Scissor2D

    Currently the release milestones are setup to be:

    1.0 - Core functionality (renderer, asset pipeline, atlasing), Animated Sprites and Tilemaps
    2.0 - Skeletal Animation, Terrain Maps, 2D Lighting

    Though I may split the release after 1.0 into smaller features. Currently there is no timescale on this work just yet, as it's a bit to early to be making accurate estimates, but 1.0 feels like the around the end of summer. Please feel free to comment on any issues you see or add feature requests as issues for any ideas you have, otherwise any feedback via this forum is also very welcome!

    ( you can also follow progress via my twitter @beepdavid )

  8. #48
    0
    Luminary
    Join Date
    Mar 2014
    Posts
    1,700
    Quote Originally Posted by Structure View Post


    Hello! Scissor2D now has a public documentation only repository where you can track the development roadmap:

    https://github.com/beepdavid/Scissor2D

    Currently the release milestones are setup to be:

    1.0 - Core functionality (renderer, asset pipeline, atlasing), Animated Sprites and Tilemaps
    2.0 - Skeletal Animation, Terrain Maps, 2D Lighting

    Though I may split the release after 1.0 into smaller features. Currently there is no timescale on this work just yet, as it's a bit to early to be making accurate estimates, but 1.0 feels like the around the end of summer. Please feel free to comment on any issues you see or add feature requests as issues for any ideas you have, otherwise any feedback via this forum is also very welcome!

    ( you can also follow progress via my twitter @beepdavid )

  9. #49
    0

    Progress

    Quote Originally Posted by Structure View Post


    Hello! Scissor2D now has a public documentation only repository where you can track the development roadmap:

    https://github.com/beepdavid/Scissor2D

    Currently the release milestones are setup to be:

    1.0 - Core functionality (renderer, asset pipeline, atlasing), Animated Sprites and Tilemaps
    2.0 - Skeletal Animation, Terrain Maps, 2D Lighting

    Though I may split the release after 1.0 into smaller features. Currently there is no timescale on this work just yet, as it's a bit to early to be making accurate estimates, but 1.0 feels like the around the end of summer. Please feel free to comment on any issues you see or add feature requests as issues for any ideas you have, otherwise any feedback via this forum is also very welcome!

    ( you can also follow progress via my twitter @beepdavid )
    How are things proceeding?

  10. #50
    0
    Quote Originally Posted by jacobgood1 View Post
    How are things proceeding?
    Things are going good! thanks for asking

    You can always get a high level overview of where we are with the milestones by looking at this page here (though I'm thinking of actually splitting this into finer grain releases).

    https://github.com/beepdavid/Scissor2D/milestones


    But some "tasks" on the milestone list are quite large so have internal subtasks whose progress will not show up on the main tracker. Currently I'm putting together the core of the plugin, you can see the progress here on this project

    https://github.com/beepdavid/Scissor2D/projects/1


    Writing everything to a production quality is certainly going to feel slower then when I was prototyping so there may be larger gaps between progress updates then before.
    Last edited by Structure; 06-19-2017 at 12:21 PM.

  11. #51
    0
    Quote Originally Posted by Structure View Post
    ...Writing everything to a production quality is certainly going to feel slower then when I was prototyping so there may be larger gaps between progress updates then before.
    That is great to hear, and I have no shortage of patience when it comes to good work. You're already 10x more responsive than I would've expected. I've got my eye on that repo!

  12. #52
    0
    This looks incredible. Please keep up the amazing work.

    Also, 2D Skeletal Animation++.
    @thereisnoscotty
    Grand Marshal of the Parade of Madfellows

  13. #53
    0
    Infiltrator
    Join Date
    Sep 2015
    Posts
    15
    Have you tried contacting Epic where you could just work on this as an official replacement to Paper 2D?

  14. #54
    0
    Quote Originally Posted by Oldsiren View Post
    Have you tried contacting Epic where you could just work on this as an official replacement to Paper 2D?
    I Agree with this approach as well but I think the author wishes to provide their own market to compete which is just as respectable.

  15. #55
    0
    Quote Originally Posted by Demoneyejin View Post
    I Agree with this approach as well but I think the author wishes to provide their own market to compete which is just as respectable.
    I disagree. I don't want anything to replace Paper2D. Paper2D is doing what it supposed to correct, it just needs more tool.
    Fighting Game Template: PROJECT: Unreal Fighter 2D

  16. #56
    0
    Interesting suggestion, but logistically probably impossible. As others have mentioned, it is my intention to make this as a separate commercial marketplace plugin. Really that is what the marketplace is for, to provide alternative offerings / extensions to areas of the engine that are not the core focus of Epic in the medium to long term.

  17. #57
    0

    excellent

    Quote Originally Posted by Structure View Post
    Interesting suggestion, but logistically probably impossible. As others have mentioned, it is my intention to make this as a separate commercial marketplace plugin. Really that is what the marketplace is for, to provide alternative offerings / extensions to areas of the engine that are not the core focus of Epic in the medium to long term.
    I am just happy that someone is doing it, that someone is capable of doing so and that they have financial backing to go with that capability. I check this forum far more often than I would like to admit, every time I check it I have to refrain from spamming you with ETA requests; like an impatient child on Christmas Eve, lol.

  18. #58
    0
    Glad you're excited, I am too! but keep in mind this is quite a large amount of work (check out the Paper2D source for size ideas) and I don't have the support of the Epic team around me to solve some more involved issues I'm coming across as I'm doing the implementation.

    So I can assure you I'm chipping away at this as fast as I can, but it is all going to take a while

    tbh if you have a game idea you are eager to get started with, I'd start prototyping in Paper2D or alternative engine and then you can evaluate Sissor2D on its release and see if you want to make the switch.

  19. #59
    0
    Hi, thought I'd update with a mini progress update as it has been a little while.

    As you can see on the roadmap I am currently working on the core of the plugin, which is all the asset handling and rendering of batched sprites. This has all been going well, but I've hit a couple of roadblocks (bumps?) that are taking me some time to solve.

    Currently the render pipeline is set up so that Scissor Components themselves are very lightweight and send render commands to a centralized renderer actor that can do all the batching and layer sorting. This has been working great, but because this is not the standard Unreal workflow I'm hitting a few issues when making editor tools that expect a components to be self encapsulated (ie render itself without support classes).

    This is affecting the development of things like drag and drop previews and stand alone asset previews. I am weighing up different solutions atm, with the aim to find a way that feels correctly integrated with the editor but still gives us the required feature set.
    Last edited by Structure; 07-06-2017 at 05:23 AM.

  20. #60
    0
    Are things still going well?

  21. #61

  22. #62
    0
    Quote Originally Posted by jacobgood1 View Post
    Are things still going well?
    Hi jacobgood1, sorry for the delay in response. I've been on holiday for a week in Somerset, UK for my birthday.

    I was really close to making a progress update before I left, but couldn't quite get everything done in time. This first chuck of work has felt a little slow as I've needed to work on quite a few things in tandem before any one thing can be functional. Once this is all out the way I should be able to make more regular progress updates.

    I'm aiming to show the core sprite asset, renderer and auto asset handler very soon!

  23. #63
    0
    Hi everyone, you wait ages for a Scissor2D update and then three come along at once!

    Production Sprites

    Scissor2D Static Sprites (or Sprites) are an asset and set of supporting classes that allow you to setup and render textures through the Scissor Renderer. This allows Scissor Sprites to be correctly batched and layer sorted for performance and correct scene compositing (more on the Renderer in a following update).


    Scissor Sprite Asset



    This asset holds information about how a texture should be rendered in the scene via a ScissorSpriteComponent. Functionality wise it is similar to the Paper2D equivalent, supporting creation from texture, thumbnail renderer and drag and drop into scene which creates a ScissorSpriteActor that is a thin wrapper around a ScissorSpriteComponent.


    Sprite Asset Editor



    Settings:
    - Base Material to instance
    - Source Texture
    - Pivot
    - Geometry modes (Full, Tight, Wrapped)

    (Scissor2D)


    (Paper2D)


    For wrapped mode I have implemented a new algorithm that can in most cases produce more efficient meshes with less overdraw then the Paper2D equivalent. The new algorithm can also correctly handle sprites with interior holes (if required). It should be noted the Scissor Sprite Editor does not currently support manual editing of the render geometry or source region, as we do not need these features right now. But I would be happy to implement if there are feature requests for them.


    Known Issues:
    - Drag and Drop scene preview does not work as scene is not getting ticked during drag

  24. #64
    0
    Production Renderer

    At the heart of Scissor2D functionality is the Dynamic Geometry Renderer. This is an Actor you place into your level that performs all the actual drawing of ScissorComponents. ScissorComponents (such as the SpriteComponent) send render commands to this renderer that allows it to later batch and layer sort the scene correctly.


    Batching



    Sprites (and other components) that share the same material, textures and layering requirements will be batched together into as few draw calls as possible before being sent to the actual Unreal Renderer for drawing. Here you can see a scene that has 2 sprite types but with a few instances of each in the scene. The profiler correctly shows only 2 draw calls being made. This scales to any number of sprite and material types.


    Layering



    All scissor components support 'Sorting Layer' and 'Order in Layer' variables for scene ordering. I am currently working on a Layer Manager that will give you a gui to setup layer names, visibility and selection locking for each layer.




    External components to the plugin such as particle systems and in world ui can also be correctly layer sorted by placing a child ScissorLayerComponent onto the external component you need to sort. This notifies the renderer that something else is rendering here and allows it to take the external component into consideration when layer sorting.

    I also want to look at Grouping functionality further down the road, but this is quite complicated to implement so has been moved to a later release.


    Material Cache

    To save the pain of setting up hundreds of dynamic materials for the sprites you want to use, the renderer has a Material Cache that will auto instance, cache and release them for you. You can used the supplied materials with the plugin or make custom ones as long as they meet the requirements described in the docs.


    Dynamic Geometry Renderer

    The renderer is designed to be a high performance dynamic geometry renderer that can accept render calls from a variety of component types. This means currently all scene rendering through the Scissor Renderer is in fact frame by frame dynamic geometry, which has been proven to be efficient for 2D work where vertex counts are relatively low, while most data is changing frame by frame.



    The interface to the render is simple to use for any custom rendering your project may need.


    Editor Selection

    It has taken me a little time to get sprite selection working correctly. In the editor selection is calculated via a pixel perfect hitmap that components are rendered into. The issue was the ScissorRenderer is always rendering all the geometry, so would get selected over the component representing the item to be drawn. After some experimentation I have a work around that correctly selects the right Actor in the scene, but there is a down side to get this to work, batching must be turned off in the editor viewport, as when batched the geometry is rendered as one big chunk and I cannot find a way (currently) to assign actor hit proxies to subsections of the chunk.


    Known Issues:
    - No batching in editor to make selection work
    - Needs real time viewport to render (battery drain)
    - All materials must be translucent

  25. #65
    0
    Auto Asset Handler

    To make working with Sprites as convenient as possible Scissor2D comes with an Auto Asset Handler that can manage sprite creation and settings for you on texture import. Texture and sprite root folders can be set for where in the content folder assets should be auto managed.


    Texture Import Settings



    Textures can have default setting automatically applied on import if they are in the auto folder tree.


    Auto Sprite Creation



    When enabled corresponding sprite assets will also be auto created and managed. They will have naming conventions applied and then placed in a mirroring folder structure. Textures can be moved / renamed or deleted and the corresponding sprite will mirror the changes.




    The sprite auto folder can also be separate and mirror the texture root allowing for different organization methods.


    Known Issues:
    -Auto management of assets only works from texture -> sprite, if there are feature requests for reciprocal management I can look at adding it.

  26. #66
    0
    Few! The next two main areas of work I'm going to be concentrating on are the Layer Manager and Atlasing tooling. Hopefully these will be a little more straight forward then some of the things I've been tackling recently!
    Last edited by Structure; 08-16-2017 at 06:05 AM.

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •