Announcement

Collapse
No announcement yet.

❀ DoN's Dynamic Mesh Effects ❀

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

  • 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:	39
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:	36
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:	36
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:


  • replied
    Hi, I am interested in this mesh painting plugin. However, when looking at the knowledge base I cannot see any BP nodes or C++ functions to remove a decal, only those to add them. But to remove a decal after it has been painted is a must-have for our project. Is there any way to remove a decal again with your plugin?

    Leave a comment:


  • replied
    @Default816

    Glad to hear it works now

    Thanks for sharing those screenshots of your WIP. Very inspiring approach and already brimming with great potential!

    Leave a comment:


  • replied
    Yeah, i'm an idiot ) i did not use Clamp for the alpha masks... IT WORKS NOW!
    Thanks again for this amazing plugin
    Last edited by VioletSaint; 05-01-2019, 04:19 AM.

    Leave a comment:


  • replied
    Well, i did the shader setup as in your example, but still the problem remains. The color underneath gets inverted..substracted. I am attaching some prints for better explanation Click image for larger version

Name:	My-channels.jpg
Views:	25
Size:	45.8 KB
ID:	1613919
    So this here is my channels setup. I have a slash wound alpha on B and a dripping blood one that i want to animate on G

    Click image for larger version

Name:	My-setup.jpg
Views:	23
Size:	112.0 KB
ID:	1613920 This is my material setup, that looks like the one in your example.


    Click image for larger version

Name:	Exclusion-problem.jpg
Views:	23
Size:	218.7 KB
ID:	1613921 So yeah, that is my problem.


    It would be amazing if this were solvable and you would guide me.

    Thanks!

    Leave a comment:


  • replied
    @Default816 - Thanks for the report.

    Can you compare your setup with the sample project's RGB masking example (the second Landscape painting booth)? That example accumulates each channel separately.

    Ideally you shouldn't need to use any special MatLayerBlend nodes at all, just the additive brush should suffice.

    One difference is that the no decal is used in that example, though I can't think of a reason yet as to why that matters yet.

    Leave a comment:


  • replied
    Hey VSZ, yeah, i have no overlapping parts. I encountered a weird problem: When using the separate RGB channels for different masks (only G and B actually), the layers overlap creating a sort of Substract or Difference effect, and reveal the base texture.. How can i solve that? Thanks..
    Last edited by VioletSaint; 04-30-2019, 11:49 AM.

    Leave a comment:


  • replied
    Originally posted by Default816 View Post
    Hey VSZ, first of all, all my respect for you.
    My question is: Do i HAVE to create a second UV? I don't have any overlapping faces in my UV ( i tend to never do that in characters at least ), so if that is the case, do i still have to?
    Thanks in advance!
    No problem, just use the "Don Mesh Paint UV0" material node which was made exactly for this purpose.

    Are you sure your character has no overlapping parts though? Usually there's a lot of symmetric parts in characters (left hand, right hand, left leg, right leg, etc) that may be clumped into a single UV islands to save texture space.

    Leave a comment:


  • replied
    Hey VSZ, first of all, all my respect for you.
    My question is: Do i HAVE to create a second UV? I don't have any overlapping faces in my UV ( i tend to never do that in characters at least ), so if that is the case, do i still have to?
    Thanks in advance!

    Leave a comment:

Working...
X