Announcement

Collapse
No announcement yet.

Vertex Animation Toolset, crowd rendering

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

    #16
    Purchased. as a vfx-artist I can see this work for many interesting effects
    Hope to get a regular marketplace key once its on the mp

    Keep up the good work

    Edit: imma spam this among my vfx brethren
    Last edited by Luos; 11-03-2019, 07:31 AM.

    Comment


      #17
      This looks incredible! Great job!
      [WIP] Procedural City Generator | RPG AI
      [MARKETPLACE] Animal Behavior Kit | Space Shooter Template | Procedural Foliage Tool | Procedural Park
      [FREE] Modular Road Tool | Action Platformer Template | Radar BP | Free Birds
      Join our Discord

      Comment


        #18
        looks nice, very interesting

        a few things to consider:
        - I don't get why textures are 2048 with all that wasted space. they are not going to be streamed anyway so you don't need mips (any mipmap is useless except the full resolution, so don't need power of 2)
        - will you support animation blending of some kind? I understand this is for crowds but even then the hard cuts are jarring

        also since animation textures are generated per mesh * per animation * per LOD, you're probably aware that if you have more than a handful of characters you're going to end up with a big texture library and potentially a lot of texture memory used.
        at my previous work some years ago we developed a similar system but instead of animating per vertex, the animations had bone transforms (rotation only though), and every character had a vertex-to-bone-mapping texture. this way animations could be shared between LODs and even between meshes with the same skeleton, while animation textures had much less data (since there's always less bones than vertices in a character).
        it's a long shot and highly technical, but you might consider it interesting
        Follow me on Twitter!
        Developer of Elium - Prison Escape
        Local Image-Based Lighting for UE4

        Comment


          #19
          Originally posted by Hethger View Post

          As long as you can access the Instanced Mesh Component you'll be able to update the location / rotation with the "Update Instance Transform" function.

          The content example will include a simple RTS example with an actor that manages the instances desired velocity, updates the transforms and sets the animation to be played by each instance.

          cheers.


          Hi Hethger,

          I'll probably buy this very soon as it looks incredibly useful . I have a few questions after watching the videos:
          • How are you changing the animations on the instances? For example, how does each instance know it has to play the Idle / walk / run animations? Do you have control over this via BP?
          • Since this is WPO, Im assuming that collision for each instance is based on the static mesh data (and does not account for the animation). Is that correct?
          • How many animations can we reasonably include in the data asset? Is there a practical limit?
          ​​​​​​​Thanks!
          [WIP] Procedural City Generator | RPG AI
          [MARKETPLACE] Animal Behavior Kit | Space Shooter Template | Procedural Foliage Tool | Procedural Park
          [FREE] Modular Road Tool | Action Platformer Template | Radar BP | Free Birds
          Join our Discord

          Comment


            #20
            Hethger Just bought off gumroad! I have been using the Houdini vertex animation baking extensively - would love to be able to bake the textures in UE.

            Chosker I was pondering a similar idea - the rigid body vertex animation in houdini takes a similar approach to what you describe. I am thinking about attempting a similar approach - do you have any other docs or links about it?
            https://www.casualdistractiongames.com

            Comment


              #21
              Originally posted by Chosker View Post
              looks nice, very interesting

              a few things to consider:
              - I don't get why textures are 2048 with all that wasted space. they are not going to be streamed anyway so you don't need mips (any mipmap is useless except the full resolution, so don't need power of 2)
              - will you support animation blending of some kind? I understand this is for crowds but even then the hard cuts are jarring

              also since animation textures are generated per mesh * per animation * per LOD, you're probably aware that if you have more than a handful of characters you're going to end up with a big texture library and potentially a lot of texture memory used.
              -The textures are 2048 in the videos and content just as examples, the tool supports any arbitrary resolution.

              -Animation blending can be done by using same scale encoding technique I do in the examples, since its a pretty common feature I'll see about including an implementation in the content examples.

              -The tool allows for multiple animations to be packed into only one texture and all LODs can access that one texture by using the additional UV Channel designated for looking up the same pixel coordinates in the textures, all the examples in the videos use only 2 textures (1º for position offsets and 2º for normals).

              Cheers.

              Comment


                #22

                Originally posted by OptimisticMonkey View Post
                Chosker I was pondering a similar idea - the rigid body vertex animation in houdini takes a similar approach to what you describe. I am thinking about attempting a similar approach - do you have any other docs or links about it?
                sorry we came up with the method and implementation in-house, I don't have any docs or links



                Originally posted by Hethger View Post
                -The textures are 2048 in the videos and content just as examples, the tool supports any arbitrary resolution.

                -Animation blending can be done by using same scale encoding technique I do in the examples, since its a pretty common feature I'll see about including an implementation in the content examples.

                -The tool allows for multiple animations to be packed into only one texture and all LODs can access that one texture by using the additional UV Channel designated for looking up the same pixel coordinates in the textures, all the examples in the videos use only 2 textures (1º for position offsets and 2º for normals).

                Cheers.
                oh, very nice
                then I'd only suggest the option to make textures as small as possible with the baked data, cropping the unnecessary part
                Follow me on Twitter!
                Developer of Elium - Prison Escape
                Local Image-Based Lighting for UE4

                Comment


                  #23
                  Originally posted by CoquiGames View Post

                  Hi Hethger,

                  I'll probably buy this very soon as it looks incredibly useful . I have a few questions after watching the videos:
                  • How are you changing the animations on the instances? For example, how does each instance know it has to play the Idle / walk / run animations? Do you have control over this via BP?
                  • Since this is WPO, Im assuming that collision for each instance is based on the static mesh data (and does not account for the animation). Is that correct?
                  • How many animations can we reasonably include in the data asset? Is there a practical limit?
                  Thanks!
                  CoquiGames

                  -Animation Selection is done by using something I call Scale Encoding, which allows you to set some custom float data per instance that you can then change through blueprint, you can find more details about it in the Documentation.

                  -If you are asking for the collision on the videos, the instances have no collision resolution in those examples, there is however an implementation of an Instanced Static mesh->Character hybrid in the content examples that simply updates the Instances along with their corresponding character, thus leaving the collision resolution side to each character actor.

                  -UE 4's texture resolution limit is 8192x8192 (2048x2048 on mobile), data is stored along the X axis of the texture and each frame along the Y axis, so a mesh with 8192 verts can have up to 8192 frames of animation in total, that you later distribute between the different animations.

                  Cheers.
                  Last edited by Hethger; 11-05-2019, 03:00 PM.

                  Comment


                    #24
                    Question: Wouldnt it make more sense if the Plugin itself determined the texture resolution based on the Vertex Anim Profile? Would be way less trouble for the user? I checked the video and the amount of time spent on entering texture resolution is quite high and feels pretty redundant?
                    Guido Lein
                    Technical Artist - LeFx www.lefx.de

                    Comment


                      #25
                      Originally posted by Hethger View Post

                      CoquiGames

                      -Animation Selection is done by using something I call Scale Encoding, which allows you to set some custom float data per instance that you can then change through blueprint, you can find more details about it in the Documentation.

                      -If you are asking for the collision on the videos, the instances have no collision resolution in those examples, there is however an implementation of an Instanced Static mesh->Character hybrid in the content examples that simply updates the Instances along with their corresponding character, thus leaving the collision resolution side to each character actor.

                      -UE 4's texture resolution limit is 8192x8192 (2048x2048 on mobile), data is stored along the X axis of the texture and each frame along the Y axis, so a mesh with 8192 verts can have up to 8192 frames of animation in total, that you later distribute between the different animations.

                      Cheers.
                      Thanks for the clarification! I bought it to show support and encourage you to post it in the MP. This plugin has huge potential - it just needs good example content .
                      [WIP] Procedural City Generator | RPG AI
                      [MARKETPLACE] Animal Behavior Kit | Space Shooter Template | Procedural Foliage Tool | Procedural Park
                      [FREE] Modular Road Tool | Action Platformer Template | Radar BP | Free Birds
                      Join our Discord

                      Comment


                        #26
                        Btw. I am not sure what the problem is but I cannot open the current rar-file with 7zip. Says it is corrupted. Tried several times to different locations. Would be great to hear back from you Hethger
                        Guido Lein
                        Technical Artist - LeFx www.lefx.de

                        Comment


                          #27
                          Originally posted by LeFxGuy View Post
                          Btw. I am not sure what the problem is but I cannot open the current rar-file with 7zip. Says it is corrupted. Tried several times to different locations. Would be great to hear back from you Hethger
                          https://www.7-zip.org/faq.html
                          Code:
                          Why can't 7-Zip open some RAR archives?
                          7-Zip 9.20 supports RAR 2/3/4 formats only and doesn't support RAR5 archives. But latest versions of 7-Zip supports RAR5 archives.
                          I just use winrar to compress and open, nobody has ever told me they can't open a .rar I've sent them, so I don't know.

                          Comment


                            #28
                            Hethger A, great catch. Time to update 7zip. Never thought about this, often times it is a corrupted download or something. Anyway, thank you very much!
                            Guido Lein
                            Technical Artist - LeFx www.lefx.de

                            Comment


                              #29
                              Little update to Example Project:
                              -Added example of different LODs of the same mesh using same texture for animation.
                              -Added example of blending between multiple animations using scale encoding per instance.
                              -Added Blending between the different animations of the 120 agent example, now it smoothly transitions between idle, walking and running.
                              -Added comments to the materials and blueprints for better reference.

                              Here are some screenshots of the example project:
                              Click image for larger version

Name:	Captura.JPG
Views:	36
Size:	27.9 KB
ID:	1685465

                              Click image for larger version

Name:	Captura2.JPG
Views:	28
Size:	25.2 KB
ID:	1685466

                              Click image for larger version

Name:	Captura3.JPG
Views:	28
Size:	106.5 KB
ID:	1685469

                              Click image for larger version

Name:	Captura4.JPG
Views:	28
Size:	111.1 KB
ID:	1685467

                              Click image for larger version

Name:	Captura5.JPG
Views:	28
Size:	170.4 KB
ID:	1685468

                              Last edited by Hethger; 11-11-2019, 08:53 AM.

                              Comment


                                #30
                                Hethger New Example looks awesome - did you update the Gumroad download with it? Would love to test it out
                                https://www.casualdistractiongames.com

                                Comment

                                Working...
                                X