Announcement

Collapse
No announcement yet.

❀ DoN's Dynamic Mesh Effects ❀

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

  • replied
    Any plans to support seamless decal projection using UV1? I'm looking for a system that will allow me to paint a level in blood, scorch marks etc and have it be persistant. Hoping this asset can help however the level creation tools we are using doesnt give us direct control over the UV map as it's emulating old school brush based tools.

    Leave a comment:


  • replied
    Originally posted by VSZ View Post

    Thanks for confirming thelazylion!

    Yep the UV placement is important indeed....
    Sorry about the long *** delay, Figured I'd post some of the older demonstration results here for you. Great work on this plugin.

    Warning, NSFW(violence)

    Video's demonstrating some exaggerated high caliber rounds to show off the effect to a fuller extent.
    Again, thanks for the help earlier.

    Leave a comment:


  • replied
    If anyone else has issues with the AttachParent/AttachChildren pairing being wrong, got a fix.
    Same area as the one mentioned above actually

     
    Spoiler


    With Mesh as a template object in the NewObject() call, Mesh's AttachChildren array is copied.
    Various UE4 functions to exactly the same thing, but use a private struct that is friendly to the USceneComponent class to manually clear the AttachChildren after the fact.
    Since we can't do that here, did the above instead.

    No idea if it has any affect on the code that follows :|

    VSZ Hope you're ok with me sharing the fix here. If not, let me know.

    Leave a comment:


  • replied
    VSZ is it possible to make a feature request for a future update?

    I've noticed while playing around that when using a decal for the brush stroke node, the decal is used visually, but has no effect on the tagging functionality of the stroke. The tag instead appears to take the shape of the default brush stroke, a circle. (Unless I'm doing something wrong, which is certainly a possibility)

    Is there any way to add a feature to optionally make the tagged area conform to the shape of the decal for more precise applications?

    Leave a comment:


  • replied
    VSZ Ahh I see, that's all right.

    I'll start working on other parts of my concept like the visuals and actual paint application first then and worry about the tagging and gameplay driving later (Unless I attempt the implementation, though that's kinda unlikely to be honest, haha).

    Thank you very much!

    Leave a comment:


  • replied
    Thanks NFinET, greatly appreciate your patience.

    Yes I did mean 4.23 to be clear

    Leave a comment:


  • replied
    I see VSZ, thank you for the response!

    I'm not really much of a coder aside from using blueprints at the moment, so for now I'll see if I can wait for the next engine and/or plugin release.
    I assume you mean the next release in general and not 4.23? (Unless it ends up being 4.23 anyway I suppose)

    It wouldn't hurt to have it sooner but I'd be willing to wait for either of the above cases. Although unlikely I'll consider maybe looking into that and seeing if I can handle it or ask for help on it, but as I said for now I'm willing to wait.

    Thank you very much for the plugin, the response, and the offer to help if I try to implement that myself! Much appreciated!

    Leave a comment:


  • replied
    Hi NFinET,

    Thanks for your well written query, appreciate the effort.

    Erase functionality currently does not support erasure of any collision data. Erasure was added in a recent release in response to a user request for simple paint erase functionality.

    However, this functionality should be reasonably easy to build out with some minor code additions. I'm not sure when the next engine release is, but if possible I'd like to wait until that point to add this functionality.

    If you need it sooner and are comfortable with coding you may be able to inspect the logic in UDonMeshPainterComponent::SetupPaintingPrerequisites and simply add some logic which checks whether Stroke.bEraseMode is true and if so, remove the stroke instead of registering it.

    If you need help with implementing that on your own for now, do let me know!

    Leave a comment:


  • replied
    Hi! I recently purchased this plugin to try to have a system of multiple paint colors that can overwrite each other and have tags, and I've encountered an issue that may be a bug? If not, then I may be doing something wrong.

    Basically, I have a material meant for floors using your node that's set up like this:
    Click image for larger version  Name:	UE4Editor_20190608_162308.png Views:	1 Size:	166.6 KB ID:	1629129

    Using this material, I seem to be able to paint multiple colors that are able to overwrite each other (which is the behavior I want) and erase them using the Paint Stroke node's erase mode.
    This is all done in the first person example template (the blueprint version) and I have the character modified to be able to select from one of three different projectiles that are modified from the default first person example projectile; red paint, blue paint, and water (essentially an eraser). Those each look like this:

    Click image for larger version

Name:	UE4Editor_20190608_162642.png
Views:	56
Size:	81.8 KB
ID:	1629134

    With the only difference between them being the brush stroke color, the collision tag, and erase mode being enabled for the "water" ball. Red and Blue have Red and Blue as their collision tags respectively and have the brush colors to match (pure red and pure blue), and the water projectile has no collision tag, is set to pure white for the brush color, and has erase mode turned on.

    When using the projectiles (the player is set up to switch between them using the 1-3 keys) red and blue are properly able to paint the surface and overwrite one another, and the eraser is properly able to erase both red and blue paint visually.

    However, the player is also set up with an alt-fire that runs multiple Paint Query nodes, and checks for the Red & Blue tags and returns whether the resulting spot is Red or Blue. It works by running two paint queries on the same location using a Sequence node and then a branch connected to the boolean output of each query that when returning true triggers a print string to let me know what the result is; if both return false, nothing is printed. The problem lies in that if I overwrite or erase existing paint, and then Paint Query the spot that has been overwritten, the query results still return true for the tag matching the original paint stroke at that location.

    Additionally, if I erase a spot where both colors have been, or overwrite one color with another, the Paint Queries I have set up in the trace return that the area retains the tags of BOTH colors of paint.

    Am I doing something wrong here? It there a different or intended method of removing / erasing tags that I'm not seeing or is this a bug?

    Leave a comment:


  • replied
    Originally posted by RatByteGames View Post
    Hello i changed to 4.22 now i get always this warning UEDPIE_0_Farm.Farm:PersistentLevel.DonMeshPainterGlobalActor_0 : StaticMeshComponent_1 has to be 'Movable' if you'd like to move.
    Hi,

    The following code changes should resolve your issue:

    1. Copy the plugin to your project folder for modifications following the instructions on this page.

    2. Open the file DonMeshPainterGlobalActor.cpp

    3. Below Line 129 add the following code statement:
    Code:
    captureMesh->SetMobility(EComponentMobility::Movable);
    4. Recompile the plugin, the issue should now be resolved.

    Let me know!

    Leave a comment:


  • replied
    Hello i changed to 4.22 now i get always this warning UEDPIE_0_Farm.Farm:PersistentLevel.DonMeshPainterGlobalActor_0 : StaticMeshComponent_1 has to be 'Movable' if you'd like to move.

    Leave a comment:


  • replied
    Originally posted by VSZ View Post

    Erase functionality was added in a recent release, the kb doesn't reflect it yet. Here's a newer screenshot:

    Click image for larger version

Name:	Paint-Stroke-BP-Node.jpg
Views:	53
Size:	49.3 KB
ID:	1618654
    Great, thanks for the clarification.
    In my case that feature made my decision for buying or not buying your plugin.
    So you might want to update your screenshots / KB to reflect that feature :-)

    Leave a comment:


  • replied
    Originally posted by haimat View Post
    Thanks, but when looking into your knowledge base at the description of the paint node, I can't find any "Erase Mode" flag.
    Am I missing something?
    Erase functionality was added in a recent release, the kb doesn't reflect it yet. Here's a newer screenshot:

    Click image for larger version

Name:	Paint-Stroke-BP-Node.jpg
Views:	53
Size:	49.3 KB
ID:	1618654

    Leave a comment:


  • replied
    Originally posted by VSZ View Post
    Hi, Decals can be removed by simply erasing them like any other paint (by setting the Erase Mode flag to true on the Paint node).
    Thanks, but when looking into your knowledge base at the description of the paint node, I can't find any "Erase Mode" flag.
    Am I missing something?
    Last edited by MaFloBra; 05-12-2019, 05:47 PM.

    Leave a comment:


  • replied
    haimat

    Hi, Decals can be removed by simply erasing them like any other paint (by setting the Erase Mode flag to true on the Paint node).

    You should note that this is not a logical operation but a raw per-pixel operation.

    That means if you want to tell the plugin "please remove the last decal that I just added" you'll have to manually remember where you painted your last decal and then tell the plugin to erase that with an Erase operation at that exact location, with the same brush size, same decal texture, etc. Depending on how complex your usecases are you may need to keep track of your decals (with a simple Array/etc) so that you know which decal to erase and how.

    Hope this clarifies!

    Leave a comment:

Working...
X