3d Painting on custom viewport shaders

shaders

#1

Hi everyone. So, right now I am using 3ds max and have made a custom CG shader that matches up with the shader that I use in the game engine(Unity). This shader is meant to be used on terrain, and has six texture samplers, including a “control” texture whose color channels mask out the other textures. What I would like to do is paint on this specific “control” texture used in this shader.

The problem I am encountering is that 3ds max’s Viewport Canvas only seems to be able to paint on textures that are loaded through standard max texture nodes, and not through any files loaded in the texture samplers of the “DirectX Shader” material.

  1. Am I correct in assuming that this is a limitation of 3ds max and that there is no way to do the described behavior?
  2. If so, would Autodesk do anything if I complained to them?
  3. Is there any other software that any of you could recommend that can do what I am after? Maya? Modo? The only other alternative I see is to make my own painting system in the game editor, which wouldn’t be an unrealistic alternative but a lot more work.

-John


#2

Hi John

bit long time a go I had written a similar Maya tool that allows you to paint vertex color on the terrain and this vertex color is used as a mask by my CGFX Terrain Shader to blend 4 different texture loaded in the shader. I have no idea how this could help you in your current scenario but just in case do have a look .

check out tool in action after [1.38 sec] in below video
http://vimeo.com/16268736


#3

[QUOTE=jRocket;23910]Hi everyone. So, right now I am using 3ds max and have made a custom CG shader that matches up with the shader that I use in the game engine(Unity). This shader is meant to be used on terrain, and has six texture samplers, including a “control” texture whose color channels mask out the other textures. What I would like to do is paint on this specific “control” texture used in this shader.

The problem I am encountering is that 3ds max’s Viewport Canvas only seems to be able to paint on textures that are loaded through standard max texture nodes, and not through any files loaded in the texture samplers of the “DirectX Shader” material.

  1. Am I correct in assuming that this is a limitation of 3ds max and that there is no way to do the described behavior?
  2. If so, would Autodesk do anything if I complained to them?
  3. Is there any other software that any of you could recommend that can do what I am after? Maya? Modo? The only other alternative I see is to make my own painting system in the game editor, which wouldn’t be an unrealistic alternative but a lot more work.

-John[/QUOTE]

Hi John.

We have used similar systems when we where creating our terrain shader. Maya has a Paint tool which you can connect to your mask texture and directly paint in the viewport. This mask texture you can connect to your custom shader. It wasn’t too hard to set up. I might be wrong but I think Max have something similar.


#4

The 3dsmax directx shaders have a software renderstyle attached to which i am not sure why it’s present, but you can use the software renderstyle to plug your mask map into and paint on that using view port canvas. It does have a issue though, the viewport canvas only saves the image once the brush is deactivated, as a result you will not see the final out put until you complete a brush stroke.

I had put a gif of this in polycount thread, have a look at it.
http://www.polycount.com/forum/showpost.php?p=1222227&postcount=10