Announcement

Collapse
No announcement yet.

❀ DoN's Dynamic Mesh Effects ❀

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

    #31
    Originally posted by Der.Dominic View Post
    It's been two months now. Did you get any information?
    Nope, apparently many others are in the same boat though...

    Originally posted by Der.Dominic View Post
    Have I understood correctly that your plugin finally makes it possible to collide a mesh or at least a world position location with a skeletal mesh? And by that I do not mean physics bodies but the whole mesh itself including all attached meshes like hair and clothing. For example could I make a bullet hit the coat, then shirt, skin, shirt, coat? (to create an exit wound)
    I'm afraid not. Per-pixel collisions are limited to things like shooting projectiles through holes in solid walls, gameplay collisions like traps made of lava/water painted on a solid surface per-pixel (that players/A.I. can walk onto and react, etc). In all these examples, the base collision already exists; we're dealing with solid, collidable objects which we interact with using an initial hit, work out the UV indices per material and then tag the pixels around that hit with visual effects and/or collision tags that we use to query information at runtime - eg: Can this player/projectile enter this hole? Should the A.I take damage from this surface?, etc.

    There is a possibility that WPO/morph/cloth collisions can be detected through a very expensive CPU lookup; was planning to look into this after the submission process but that has taken far too long already! Can't say I'll be investigating this feature any time soon

    Steam Early Access: Drunk On Nectar - The Nature Simulator

    UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

    Comment


      #32
      Hi VSZ,

      I'd like to use your plugin right away before it is reviewed, it looks awesome. Is there a possibility I can buy it from you now in some form?

      Comment


        #33
        Originally posted by ZeothulBrian View Post
        Hi VSZ,

        I'd like to use your plugin right away before it is reviewed, it looks awesome. Is there a possibility I can buy it from you now in some form?
        Hey, I've been thinking of alternate channels to sell the plugin on, will keep everyone posted on this!

        Also sent a few more mails/PMs to the marketplace team today to try and get things rolling. I've been holding off on many new features/docs/videos for this plugin while waiting for their approval. At this rate I'll forget my own code-base by the time they get back it seems [MENTION=292739]Monomyth[/MENTION] - please help!

        Steam Early Access: Drunk On Nectar - The Nature Simulator

        UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

        Comment


          #34
          Check out itch.io and gumroad.

          Comment


            #35
            Originally posted by Der.Dominic View Post
            Check out itch.io and gumroad.
            Gumroad release ETA - 2-3 days.
            All, This plugin will release on Gumroad as soon as a full set of documentation/tutorials are ready for your use. Working hard on getting those in place now, it's almost done!

            Marketplace release: no eta yet. It's now been approved by them (yay for that! ), but release dates are apparently slow to come these days...

            Really excited to finally be getting this plugin out now, will post an update when it's available your purchase

            Steam Early Access: Drunk On Nectar - The Nature Simulator

            UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

            Comment


              #36
              Hey VSZ,

              Loving the work you've done on this. Amazing job!

              I'm working on a game project and I'm currently looking for a cool / fancy ship damage system. Well the visual part anyway. And your addon came to my attention.

              I have a question though if you don't mind. Basically a cannon ball hits a ship and should create a damage decal / hole. Now the question I have is how much preperation does this require on my end? Like do I need to do something special in my materials or does your solution work on any mesh in the scene? Also, the ships in our game move around and aren't static, is that a problem?

              How much is the performance cost / overhead on this? Also, does this system also include a way to fill the gaps when creating an opacity mask? I saw the holes in the wooden floor where pinched, but I take it that floor was tesselated?

              One more question, the system seems to be based on blobs / circular strokes. Is there any way to provide a custom mask? For example I would like the holes in our ships to look like the decal on the right, not like the hole on the left.

              Click image for larger version

Name:	ef7320da24aacbf60227f5c743d1a463.png
Views:	1
Size:	234.4 KB
ID:	1131496

              Cheers!

              Comment


                #37
                [MENTION=185685]WixZ[/MENTION]

                Absolutely! Your usecase is exactly the kind of thing this plugin was built for

                Originally posted by WixZ View Post
                Hey VSZ,how much preperation does this require on my end? Like do I need to do something special in my materials
                You need just one node in your material and once setup it can be reused on any number of meshes.

                Below is actual example for wooden boards with decal opacity masks. This example uses a "local space" node because its fast and cheap for flat wooden planes (walls/floors/etc).
                For your ship you'll need a "mesh space" node as its probably a non-planar static/skeletal mesh. Tutorial pages coming soon for things like this.

                [screenshot]http://www.drunkonnectar.com/wp-content/uploads/2017/05/Exploding-Floor-Boards-material.jpg[/screenshot]

                Originally posted by WixZ View Post
                Also, does this system also include a way to fill the gaps when creating an opacity mask? I saw the holes in the wooden floor where pinched, but I take it that floor was tesselated?
                No tessellation was used in the example above. The crater effect is coming from a material function (MF_Simple_Crater_Effect) which offsets the WPO and tweaks the backfaces. Sample project will provide this to get you started quickly.

                Originally posted by WixZ View Post
                the system seems to be based on blobs / circular strokes. Is there any way to provide a custom mask?
                Yes! This is one of the primary usecases of the plugin Here's an example of decal masks:

                [screenshot]http://www.drunkonnectar.com/wp-content/uploads/2017/05/Decal-Masks.jpg[/screenshot]

                Originally posted by WixZ View Post
                Also, the ships in our game move around and aren't static, is that a problem?
                Visuals will work on dynamic meshes seamlessly, no issues. If you need pixel collisions (shooting canon balls through dynamically created holes, all the way inside your ship ), that part currently works only on static primitives due to a simple design oversight; I just need some time to redesign the collision API to support that.

                Originally posted by WixZ View Post
                How much is the performance cost / overhead on this
                a) Rendering cost: The visual cost of any effect is only a texture sampler in your material as all effects eventually resolve to alphas that you use inside your material to create whatever material effect you need.

                b) Texture-painting cost: depends on what you're painting and how:
                * World-space/local-space painting is blazingly fast and same for Mesh-space painting on static meshes (assuming they're using decals or assuming they do not need seamless painting - i.e. painting across UV seams).
                * Skeletal Meshes & Seamless painting cost more as they use a positions-texture workflow for painting. The actual cost depends on the texture resolution of your effect and for skeletal meshes, whether or not you're using decals.

                A lot of work has gone into skeletal mesh painting to ensure that players won't notice a hitch. Techniques like caching of baked positions, throttling of animation refresh rates have been carefully designed as part of this system and are a big part of the offering.

                c) Texture memory cost:
                In the 100,000 decals at 60 FPS video from an earlier post around 40 characters were painted with multi-material/multi-layer setups; memory cost on GPU was measured to be around 200 MB. Painted textures do not participate in texture streaming right now.


                Originally posted by WixZ View Post
                Loving the work you've done on this. Amazing job!
                Thank you

                A knowledge-base with quick-start guides / FAQs and more is almost complete. Will post an update here when that goes live!
                Last edited by VSZ; 07-25-2017, 06:18 AM.

                Steam Early Access: Drunk On Nectar - The Nature Simulator

                UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

                Comment


                  #38
                  VSZ, I think I'm sold!

                  About the collisions changes for the impact holes, that's not necessary. The idea is to make the holes themselves rather small in the middle and around it a nice damage decal. The extra punch hole should just make it look a little more convincing. We don't want the holes to become windows players can shoot through, it just needs to look obvious and clear that the ship is damaged on that location so players can easily spot where the damage on their ship is.

                  We will most likely be using the most expensive painting mehtod of your system, because we want the "decals" to be seamless. An example of a usecase would be that a ship is hit partly on the side of it's hull, but the damage decal would extend above it where here is for example a wooden railing, we need the wooden railing to also be affected by the damage and this needs to be seamless. But the there will only be a handfull of damage decals per ship at any given time, perhaps the bigger ships will have more as they have more hit points, but it will never be like a painting with brush strokes. Just a few dozen decals per ship, so I guess that shouldn't be too hard on performance?

                  This is an example of where the damage would extend into the railing.
                  Click image for larger version

Name:	018aee0bd0f3181d61ca509540374f2e.png
Views:	1
Size:	347.9 KB
ID:	1131503

                  Oh wait something just came to my mind, our ships aren't textured in a conventional manner, in stead we use trim texturing for them as they are so big and we use a lot of tiling textures on them. So basically this means A LOT of overlapping uv's, is this a problem? Some of your painting methods use worldspace, right? Question is can i link / attach the world space location of the brush stroke to a moving ship like if I would use a regular decal?

                  Another solution would be to use a seperate UV unwrap like a lightmap UV unwrap that Unreal generates automatically, is it possible to use that UV with your system?

                  I know you are working hard on getting the help documents and tutorials ready so looking forward to release. Once again, awesome job!
                  Last edited by WixZ; 07-25-2017, 12:09 PM.

                  Comment


                    #39
                    [MENTION=185685]WixZ[/MENTION]

                    Ah! There's a few niggles we need to work through:

                    Originally posted by WixZ View Post
                    we want the "decals" to be seamless.
                    Seamless decals are only supported for world-space / local-space projections; seamless painting for mesh-space (3D projection) is supported for procedural brushes only (circular strokes/etc), not for decals or text.
                    Because your ship is not planar, world/local space are probably out of the question.

                    Best case scenario: your decals will be drawn on both the hull and the railing but they won't line up all that well.
                    Worst case scenario: your decals will be draw only on the hull, or on the railing, but not both. Hard to say which without testing tbh.

                    I'd love to address this, but haven't yet found a way to do it on the GPU - i.e. a shader that projects an image seamlessly across multiple UV islands. There may be a way to do it on the CPU, though that would be slower and will complicate the overall code a bit.

                    Originally posted by WixZ View Post
                    Just a few dozen decals per ship, so I guess that shouldn't be too hard on performance?
                    Performance should not be an issue for decals. The video from earlier in this post reached 100,000 decals in a scene with ease No decal actors are used anywhere.

                    Originally posted by WixZ View Post
                    Oh wait something just came to my mind, our ships aren't textured in a conventional manner, in stead we use trim texturing for them as they are so big and we use a lot of tiling textures on them. So basically this means A LOT of overlapping uv's, is this a problem? Some of your painting methods use worldspace, right? Question is can i link / attach the world space location of the brush stroke to a moving ship like if I would use a regular decal?
                    Your mesh's UV0 can be anything you like, overlapping UVs, tiled UVs, all are fine. For 3D painting your UV1 needs to be a lightmap UV in most cases. Here's a WIP document that covers this stuff in more detail.

                    Originally posted by WixZ View Post
                    Another solution would be to use a seperate UV unwrap like a lightmap UV unwrap that Unreal generates automatically, is it possible to use that UV with your system?
                    Yep, not only supported, that's the backbone of the plugin's mesh-space painting workflow

                    Originally posted by WixZ View Post
                    I know you are working hard on getting the help documents and tutorials ready so looking forward to release. Once again, awesome job!
                    Thanks again, it's almost there! A video overview of the sample project is being prepared. Should be ready for Go-Live straight after that!

                    Steam Early Access: Drunk On Nectar - The Nature Simulator

                    UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

                    Comment


                      #40
                      Update: It's released! Get it here: Marketplace Link

                      --

                      ~~~ UE4 Marketplace release is tomorrow! ~~~

                      All, I've been informed that the plugin will release on the marketplace tomorrow

                      SAMPLE PROJECT VIDEO:

                      Here's a new video walking you through the sample project:



                      DOCUMENTATION:

                      A comprehensive knowledge-base has been prepared for the plugin:

                      www.drunkonnectar.com/mesh-painting-for-ue4/knowledge-base/


                      You'll find answers to most of your queries in there, more articles coming soon:

                      PRICING
                      The price of this plugin has been fixed at $75.

                      Given the broad scope of the plugin and the sheer number of usecases/workflows to be supported, this price-point was deemed the most sustainable option for both maintaining and nurturing the plugin's further growth.

                      --

                      I hope you find this plugin useful and hope that it meets/exceeds your expectations when it releases tomorrow

                      With ,
                      Venugopalan Sreedharan
                      Last edited by VSZ; 07-28-2017, 05:01 PM.

                      Steam Early Access: Drunk On Nectar - The Nature Simulator

                      UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

                      Comment


                        #41
                        Released on UE4 Marketplace

                        Get it here!
                        https://www.unrealengine.com/marketp...lob-collisions

                        Handy links:
                        Knowledge base & Documentation
                        Video Overview of Sample Project

                        Feel free to ask any questions, happy to answer any queries you may have

                        Steam Early Access: Drunk On Nectar - The Nature Simulator

                        UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

                        Comment


                          #42
                          One question, are the decals painted at runtime being saved? if not, how would you save them permanently?

                          Comment


                            #43
                            Originally posted by rYuxq View Post
                            One question, are the decals painted at runtime being saved? if not, how would you save them permanently?
                            Should be possible. The plugin supports networking, so all effects can be serialized and relayed again (this is how clients receive updates in multiplayer too).

                            To achieve this, you'll need to:
                            1) While saving an actor, check if it has any DonMeshPainter component in it
                            2) If so, save the variable containing paint strokes along with your other data.
                            3) Upon reload, call the On Rep function of that variable to render the strokes.

                            I'll add a Save-Load example to the sample project when I get some time so people can use it as reference.

                            Guessing there may be some small changes needed to the plugin for this too, will keep you posted on this.

                            --

                            Using this opportunity to quickly tag people who'd expressed interest in this plugin earlier!

                            [MENTION=32265]lunyBunny[/MENTION] [MENTION=14714]Fusion_Pizza[/MENTION] [MENTION=37138]Wilkes[/MENTION] [MENTION=145111]One_Mode_Only[/MENTION] [MENTION=440824]晓晓浣熊[/MENTION] [MENTION=26016]gozu[/MENTION] [MENTION=630166]Der.Dominic[/MENTION] [MENTION=39865]TXL[/MENTION] [MENTION=671882]ZeothulBrian[/MENTION] [MENTION=185685]WixZ[/MENTION]
                            Plugin is now released
                            Last edited by VSZ; 07-28-2017, 05:45 PM.

                            Steam Early Access: Drunk On Nectar - The Nature Simulator

                            UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

                            Comment


                              #44
                              hi,
                              Do you think this works well on VR? Is this something that can be used to create a small VR paint tool app?
                              ta

                              Comment


                                #45
                                Originally posted by duyth View Post
                                hi,
                                Do you think this works well on VR? Is this something that can be used to create a small VR paint tool app?
                                ta
                                It hasn't been tested on VR, so the following is only a guess:

                                * Planar painting (world-space/local-space) should work on pretty much any platform as they very very quick to draw and render, even at higher resolutions.

                                * Skeletal-mesh painting is quick to render, but expensive to paint over at higher resolutions. You should be fine at 512x512 or lower, but going any higher in a heavy scene could mean the brief FPS loss incurred at the time of drawing might become perceptible to the player (especially relevant for VR I suppose). Static-meshes / landscapes should be fine regardless of the workflow.

                                Terminology: "Texture resolution" here refers to resolution of the paint which is mapped onto your mesh (per material), while "Painting over" refers the brief time-period when your player has the paint-brush held down on a mesh (for your paint-app example) or if a projectile hits a surface for splatter effects (one possible gameplay scenario). "Rendering" refers to the constant cost of your visual effect incurred even when no painting activity is going on.

                                --

                                FPS cost: On a GTX 970, character painting simultaneously across 3 textures (1024x1024) textures resulted in FPS drop from 108 FPS (~9.26ms) to around 95 FPS (~10.53ms) while the paint brush was held down. Back to 108 after the paint brush was held up. On a heavier scene, the impact could be greater. If you want more stats, the entire overview video (start at 00:56 for character painting) has the FPS/stat counter enabled, so anyone interested in performance can keep an eye on the right-side of the screen.

                                I don't have the hardware to test on VR atm or I'd have provided a more conclusive answer

                                But in any case, just let me know if you have any more questions!

                                Steam Early Access: Drunk On Nectar - The Nature Simulator

                                UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

                                Comment

                                Working...
                                X