TRAILER -- TUTORIAL -- DISCORD COMMUNITY -- SHOWCASE BUILD & EXAMPLE PROJECT -- DOCUMENTATION
This plugin makes it possible to Paint and Remove Vertex Colors in Runtime on Static, Skeletal or Spline Meshes in various ways that can enable New Mechanics, Game Modes or just incredible attention to detail!
You can also Detect Vertex Colors by getting the Data of the Closest Vertex to a Hit Location such as Vertex Color, Position, Normal, Material, UVs as well as the Native EPhysicsSurface of each Vertex Color Channel.
You can also get the Colors of Each Bone, and the Average Color and Physics Surface Within an Area on a Mesh, so you can run logic in case the player has for instance Painted / Removed Vertex Colors on the Majority of an area.
You can now also get the Estimated Color and Physics Surface at the Actual Hit Location, which is highly useful if the Mesh has few vertices and the hit location might be between vertices, and you want to run logic such as SFX or VFX based on what the color is at the actual Hit Location!
Supports Multithreading so you can paint on meshes with an extremely high vertex count with the FPS barely being affected. The plugin also comes with a Rapid Json Module so you can Serialize & Deserialize data into strings up to 5x faster than the Built in one!
Showcases
-PrismaticaDev's Showcase
-Paint Task Speed Showcase
Line of Sight Paint Condition Showcases: Dry Surfaces where the Sun Hits - Dry Character where the Sun Hits - Combined with UDS Paint Rain & Dry
-Vehicle and Paint on Wheel Showcase
Ultra Dynamic Sky Showcases: -UDS + Paint at Random Vertices - UDS + Slay Animation Assets - Simple Ultra Dynamic Sky
-UIWS Showcase
-Snow Melting Showcase
-Fire Spread Showcase
-Mario Galaxy x Epic Mickey Painting Showcase
-Rolling Around in Filth Showcase
Power Wash Sim (Coming Soon)
Vehicle Deformation (Coming Soon)
Performance Showcases
-Paint Task Speed Showcase when Painting on Different Heavy Meshes
-Painting on 980k Vertices FPS Showcase
-Painting on 50k Vertices 5 LODs FPS Showcase
User Showcases
-3D人-3dnchu- CG情報ブログ
Other
-Porting Fire Example to a clean C++ Project Tutorial
-Extend 4 Vertex Channels to 8 (NOTE that the Channels won't be able to blend into each other using this method)
-80LV Article
Vertex Colors vs Runtime Virtual Texture & Decals
With Vertex Colors you have the power of the Material Editor to Manipulate the Mesh per Vertex Level, however this may require you to have a higher vertex count for something that otherwise usually doesn't need it like a flat floor, which ofc isn't an issue for RVTs or Decals. They are also faster than vertex colors since we have to loop through all of the vertices for most of the paint jobs. Each Decal is also a Draw Call, and if each of them should persist then that may affect performance if it's a long play session.
But with Vertex Colors we can Detect, not just what Physics Surface is on each channel and on the closest vertex, but also what % of each channel is painted and much more useful information.
Upcoming Features
-Landscape Layer Info Painting in Runtime (Hopefully this is possible)
-Compare Colors Feature - So when painting/detecting, we can compare the result of those colors with a color array the player sent in. Useful if you have a game where the player has to paint patterns in a certain way for tutorials or something similar
+ more
Post Launch Added Features
-Massive performance improvement where you can now paint on a mesh with up to 1 Million vertices with barely any change to the FPS.
-Paint With different types of Conditions. This is so the user has more control of When color is Allowed to be applied using for instance Line of Sight, so the vertex has to have line of sight to an Actor or Location, for instance the Sun to become Dried if the Mesh was Wet.
-Get Colors as Serialized Strings which can be used with Web Services if you for instance want to store how a player customized their Weapon Skin using Vertex Colors.
-Vehicle and Paint on Wheel Solution in the Example Project
-Paint Within Area - Within Landscapes
-Centralized Solution to get the Most Dominant Surface, and what Colors to Apply Based of it
-Paint Entire Mesh at Random Vertices. Simulate for instance Rain or Snow by having the colors be applied randomly over the Mesh, which is much cheaper than using Particle Collisions.
-Get Estimated Color at Actual Hit Location, highly useful if the Mesh has few vertices.
The plugin itself does not contain any Art Assets.
NOTE Spline Mesh Painting does not work in 5.2, even in Editor Time, Epic is aware of the issue and have made a Bug Tracker and hopefully it will be fixed soon!