See the video
[Link Removed]
1. Setup a simple blank UE4.27 Project
2. importing a Mesh that you can increase the LODs to, the mesh i used (which is available in the project) i increased to 8 LODs.
3. Make a simple material that can paint a color on Red, Green, Blue channels with the Vertex Color Node. Set the mesh to use that material
4. Make a Level and place the Mesh in it
5. Make a actor c++ class takes can get a reference to a static mesh actor, and make a simple function that loops through its LODs and Vertices and prints their vertex colors. (You can use the logic in the example project where the function is called by pressing a button in the actors details panels)
6. Make a BP that inherits of that C++ class and place that in the level, and set it to reference the Mesh that is there.
7. Go into Mesh Paint Mode and select the Mesh, Remove all Colors from it and then set to only Paint on Red and paint it all over the Mesh (with 1 in size and strength in case that can make a difference).
Save afterwards in case that can make difference.
8. Now select the actor that has the mesh referenced and call the function for it to print the vertex colors to the output log and go into the output log and check if the Red Color is accurate on LODs higher than 0.
It should be 255 at LOD0 and 0 for the others.
9. You can do the same thing but only has Blue painted where the result should be the same but 0 for blue on LODs above LOD0.
10. Try cutting the mesh out, then pasting it in and printing again, now it should be accurate.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-149412 in the post.
2 |
Component | UE - Editor - Content Pipeline - Asset Build |
---|---|
Affects Versions | 4.27 |
Target Fix | 5.2 |
Created | Apr 18, 2022 |
---|---|
Resolved | Apr 25, 2022 |
Updated | May 6, 2022 |