Jump to content
3DCoat Forums
  • 0

Import UV Mapped Mesh for Vertex Paint and keep it's UVs (Also on Export)


Henry Townshend
 Share

Question

  • Advanced Member

Hi,

I'm currently trying to import a UV mapped game res mesh to add some vertex colors onto to use those inside a shader in game.

I can't seem to do this successfully without losing the meshes UV's. If I import for PerPixel Painting, I can not Vertex Paint. If I import for Vertex Paint, the Mesh seem to be converted or at least it's UV's neglected on import.

I tried doing this in Blender, which works ok'ish, but feels so unnecessarily overcomplicated and convoluted, and lacking in terms of painting, filling and masking/hiding options compared to 3D Coat, that it's hard wanting to do it there.. plus I have all my custom fav presets in Coat with which I would like to do the painting with (not to mention it's lightyears more fun painting anything in 3D Coat than in Blender due to it's fabulous brush engine).

Would appreciate any help, as I think this should be possible, and I just likely don't know how.

Edited by Henry Townshend
typo/grammar
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
  • Reputable Contributor

There are a few ways, but you did not specify if there was color information you wanted to keep in the original imported model. Also do you want to bake the vertex colors to the uv mapped mesh. 

I can answer once this is known.

 

Link to comment
Share on other sites

  • 0
  • Advanced Member

Thanks for the answer!

To specify, as said, I want to use the VCs inside engine in a shader, so I don't need to bake them to texture, nor do I need to import the model with VCs already on it, cause I do want to paint them inside 3D Coat. What I want to achieve is actually pretty simple:

* I model a model inside Blender, unwrap that model there
* Then I want to import that model into 3D Coat, just to give it Vertex Coloring pass, but without losing it's UV's

Result I'm after:

A UV Mapped mesh which's UV map stays intact coming into 3D Coat, which I can then Vertex Paint onto, and then export afterwards with:

* Intact, same UVs (no auto re-wrap or anything, but keep the same UV coordinates it was imported with)
* Vertex Color Information on it that I painted on and then can export with the mesh

I think this is pretty common for Game Environment art, so there's gotta be a straight forward way to do it.

Link to comment
Share on other sites

  • 0
  • Reputable Contributor

* Intact, same UVs (no auto re-wrap or anything, but keep the same UV coordinates it was imported with)
* Vertex Color Information on it that I painted on and then can export with the mesh----------------- 

The above would be similar to how you can paint vertex color on a uv mapped mesh in Unreal Engine 5 but you need 3DC to do the same plus export the vertex color data too with the uv mapped mesh retaining its uv set and textures.

In your game engine you would have the texture information from the uv set and expose the vertex color in addition.

The above I do not believe is possible in 3DCoat. You can paint vertex color on an object from the paint room but as far as I know the vertex data has to be baked to the uv mapped mesh. 

Off the top of my head, I cannot think of a way, but I will look for a way.

 

  • Like 1
Link to comment
Share on other sites

  • 0
  • Advanced Member

Aww, thx. That's sad.

Painting Vertex Colors onto regular UV mapped, per pixel painted meshes (e.g. mapped onto Trim Sheets, Atlases etc.) is a very common age old technique in Game Art. For instance, before texture memory was as affordable as today, color variation or visual breakup like dirt and grime could be stored in Vertex Colors directly at authoring time in an external application..

What you're refering to is also valid of course, and more contemporary. Usually you can paint the colors in engine, right, but that's not what I want to do in this case, hence why I need to paint them myself.

I'm working on a game where we don't use a realistic art style, otherwise the way you described would be 100% suitable and I wouldn't even bother painting Vertex Colors outside the engine for a more realistic artstyled PBR scenario. I would of course do it way more non destructive and modular inside the engine directly, and drive material blends with it.

But, we use Vertex Colors to add more subtle color variation to meshes, to have an additional color layer. I know I could technically do the same with a second UV set, but our shader only supports to add Vertex Color into the "mix", which is perfect for not having to author and store another texture, but simply splat color onto the vertices. We wanna add a lot of hue variation, which is why I paint "painterly" onto the Vertices of the already UV mapped and textured meshes. (Something not really possible inside any game engine I know of, as most are just for very rudimentary RGB painting to drive interporlations, so no smoothing, no hue jitter, etc)

I can do this in Blender no problem, but I would have heavily preferred doing it inside 3D Coat. However, I think it wouldn't be worth a feature request.

Thanks much for your time!
 

Edited by Henry Townshend
correction
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...