Description
TRAILER — TUTORIAL — 250+ DISCORD COMMUNITY — SHOWCASE BUILD & EXAMPLE PROJECT — DOCUMENTATION — EXAMPLE PROJECT SHOWCASE
This plugin makes it possible to Paint and Remove Vertex Colors in Runtime on Static, Skeletal or Spline Meshes in several different 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, Native EPhysicsSurface of each Vertex Color Channel, as well as Compare colors if you want to check if a specific Pattern or similar has been painted.
You can also get the Colors of Each Bone, and the Average Color and Physics Surface Within an Area, so you can run logic in case the player has for instance Painted / Removed Vertex Colors on the Majority of an area.
You can also get the Estimated Color and Physics Surface at the Actual Hit Location, which is highly useful if the Mesh has few vertices.
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, and optionally get vertex colors as Serialized String.
Showcases
-Graffiti, Whiteboard & Paper Painting Showcase
-Vehicle and Paint on Wheel 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
Ultra Dynamic Sky Showcases: -UDS + Paint at Random Vertices – UDS + Slay Animation Assets – Simple Ultra Dynamic Sky
-Mario Galaxy x Epic Mickey Painting Showcase
-Rolling Around in Filth Showcase
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
-WowzThird Line of Sight Showcase
-Peter Gubins Spreading Electricity Showcase
Other
-Porting Fire Example to a clean C++ Project Tutorial
-Extend 4 Vertex Channels to 8
Vertex Colors vs Runtime Virtual Texture & Decals
With Vertex Colors you have the power of the Material Editor per Vertex! However this may require you to have a higher vertex count for something that may otherwise not need it like a flat floor, which ofc isn’t an issue for RVTs or Decals. Decals and RVTs are also faster than painting with vertex colors, but each Decal is also a Draw Call, and if each of them should persist then that may affect performance alot.
With Vertex Colors we can also Remove & Detect, not just what Physics Surface and Color Strength is on each channel on the closest vertex and can run SFX/VFX based on that, but also what % of each channel is painted, and a lot of other more useful information which can be used to create logic.
Upcoming Features
–Landscape Layer Info Painting in Runtime (Hopefully this is possible)
–Multithreading for Cloth Overlap Component
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 Using Physics Surface. So instead of hard setting the values on RGBA, you can for instance paint Water Surface, and it applies colors to whatever channel Water is registered to. If Physics Surface Families is setup, then even if it doesn’t have Water, but has child, for instance Asphalt-Water, then it can apply to that instead, or vice versa, which makes this extremely useful.
-Compare Colors Feature to Detect Painted Pattern. So when painting/detecting, we can compare the result of those colors with a color array the player sent in.
–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, for instance to the Sun to Dry Faster on parts of a wet Mesh.
–Paint Wheels Component. A component that enables you to paint the wheels of a vehicle with what it drives over, and/or paint the surface under the wheel with whatever is on 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.
NOTE
-The plugin itself does not contain any Art Assets.
-We can’t update plugins for 4.27 since 5.2 came out, so that version doesn’t have all the latest features after 5.2 came out such as Paint Using Physics Surface and Compare Colors Feature.
-Spline Mesh Vertex Painting is broken in 5.2, even in Editor Time and isn’t related to the plugin. Epic is aware of the issue and have a Bug Tracker!
Technical Details
Features:
- Detect Get Closest Vertex Data
- Detect Get Estimated Color at Actual Hit Location
- Detect Get All Vertex Colors Only
- Paint Vertex Colors at Location
- Paint Vertex Colors Within Area
- Paint Vertex Color on Entire Mesh or on Random Vertices Over the Entire Mesh. Great for Rain or Snow etc.
- Create and Paint Color Snippets
- Affect Chaos Cloth Physics (UE5 EXCLUSIVE)
- Multithreading for greatly improved performance
- Rapid Json Module which is up to 5x faster than the built in one. Pretty much the same module that is in my other Rapid Json Plugin, so if you own this plugin, then you don’t need to buy that one.
Number of Blueprints: 5
Number of Widget Blueprints: 4
Number of C++ Classes: 52
Network Replicated: The plugin does extremely little with replication, so the user has more control of How they want things to Replicate, since all projects has different needs depending on optimization, anti cheat structure etc.
The Cloth Overlap Component is the only one that does anything with replication and has an clothOverlapEnabled Replicated bool, so if changed in Runtime, even hot joiners will get the cloth to overlap.
Supported Development Platforms: Windows, Linux, Mac
Supported Target Build Platforms: Win64, Mac, Linux, Android, IOS, PS4, XboxOne, Switch