❀ DoN's Dynamic Mesh Effects ❀

This looks amazing man.
Great job!
Will be grabbing it for sure :slight_smile:

@gozu Thank you :slight_smile:

Any news? Are they still evaluating? Really looking forward to this.

Evaluation is still going on it seems :slight_smile:

Appreciate your patience, will update this thread as soon as I receive news on this. Thanks for your interest in the plugin!

Feel free to post any questions!

功能很好,我怎样才能去获得?

Hey, code review from marketplace team is still pending…

I’ve asked them for an estimate of how long this process will take, hopefully some information will surface :confused: :slight_smile:

Thanks for the update :slight_smile:

I heard rumor they have been quite busy and are training new staff to cope with the load!

Good luck!

Yeah that’s what I gathered as well.

Thanks again for your kind words, really appreciate your interest in this plugin!

It’s been two months now. Did you get any information?

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)

Nope, apparently many others are in the same boat though…

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 :slight_smile:

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 :slight_smile: @Monomyth - please help!

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 :slight_smile:

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.

ef7320da24aacbf60227f5c743d1a463.png

Cheers!

@WixZ

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

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]

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.

Yes! This is one of the primary usecases of the plugin :slight_smile: Here’s an example of decal masks:

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

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.

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.

Thank you :slight_smile:

A knowledge-base with quick-start guides / FAQs and more is almost complete. Will post an update here when that goes live!

VSZ, I think I’m sold! :smiley:

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.

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!

@WixZ

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

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.

Performance should not be an issue for decals. The video from earlier in this post reached 100,000 decals in a scene with ease :slight_smile: No decal actors are used anywhere.

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.

Yep, not only supported, that’s the backbone of the plugin’s mesh-space painting workflow :slight_smile:

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!

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 :slight_smile:

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/

http://www.drunkonnectar.com/wp-content/uploads/2017/07/The-Knowledge-Base-50px.jpg
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 :slight_smile:

With :heart:,
Venugopalan Sreedharan