Announcement

Collapse
No announcement yet.

Additional options for UV stuff in VrayDisplacement

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Additional options for UV stuff in VrayDisplacement

    One thing that bothers me when doing displaced organic stuff through zbrush (or mudbox for that matter), is the lack of options in the vraydisplacement modifier for smoothing the uv coordinates. This is quite important for solving seam-issues and texture stretching. Preferably I would like the same options available in the maya smooth node, like smoothing all uvs, internal only etc.
    This also goes for non displaced surfaces, just subdivided with the displace modifier, as they still suffer the same stretching on uv-borders
    Would this be a big hassle to implement?
    Signing out,
    Christian

  • #2
    I thought ZBrush had options in that regard, whether UVs are expected to be smoothed or not, but I may be wrong. In any case, it might better to use the MeshSmooth/TurboSmooth modifier in this case (but I'm not sure if this works on the UVs either).

    For VRayDisplacementMod in particular, it can be done, but at a great performance loss.

    Best regards,
    Vlado
    I only act like I know everything, Rogers.

    Comment


    • #3
      Yes Zbrush lets you decide if you want to subdivide/smooth the uvs or not, but the fact remains that even telling it to not do so, and then render with the vraydisplacement modifier set to subdivide on the same base mesh, will result in wrong seams, as the modifier is distorting the uvs. This can be seen with a box mapped with a chequer map and with manually set up uvs....in this case a cross configuration in normalised uvspace. Same problem arises using meshsmooth and turbosmooth, though ironically, meshsmooth has more options for subdivision, but setting it to not distort the map yields a different type of mesh as a result. (ie not the same as with turbosmooth and vraydisplacement modifier).
      Usually for complex organic forms, you end up wanting to subdivide and smooth the uvs both in zbrush and the render aplication to get the best result. The larger the change from base mesh to render mesh is, the more obvious these errors become, so working with a rather detailed basemesh will in a lot of cases not show the problem as clearly when rendering.
      Although performance will be degraded (at least memory size-wize as the uvs will be identical to the resulting mesh in point count plus borders), having the option there would be nice, as sometimes you can cope with slightly longer rendertimes.
      I hope this made it a bit clearer.
      Signing out,
      Christian

      Comment


      • #4
        So how are you supposed to use the uvs at all then (when not using V-Ray subdivision, I mean)?

        Best regards,
        Vlado
        I only act like I know everything, Rogers.

        Comment


        • #5
          I'm sorry, but I don't understand your question.

          The only way to use the uvs is to accept the inaccurate seams one gets, with either sollution.
          If I tell Zbrush to keep the original uvs, there is still some distortion going on. I guess this is due to Zbrush...and can be seen as where an open edge "shrinks" inwards when smoothed while the usual behaviour in other programs is to keep the boundary fixed, but curve it. (Just like the mesh is deformed when smoothing an open mesh with either tubosmooth or vraydisplace set to subdivide). As I mentioned this is the way Zbrush subdivides and smoothes, but the stretching problem still arises back in max when applying a smooth\subdiv modifier.
          I attatched an example file for just general uv distortion with both turbosmooth and vraydisplacement modifier. You need to togle them on and off to see the differences. In this example, you can see vraydisplace actually warps the texture even more than turbosmooth.
          I dont have maya here, so i am not able to show you how it would look with smoothed uvs, but maybe someone else has both and can convert it.

          Also, you can check the uvs after smoothing with either turbosmooth or meshsmooth that they both smooth and subdivide interior uvs, but not border uvs. (Meshsmooth has options to only dubdivide without smoothing as well).
          Attached Files
          Last edited by trixian; 06-01-2009, 10:22 AM.
          Signing out,
          Christian

          Comment


          • #6
            Yes, I understand the issue, my question was, if we leave V-Ray aside for a moment, what is the workflow of getting a model from ZBrush to 3ds Max with proper UVs?

            Best regards,
            Vlado
            I only act like I know everything, Rogers.

            Comment


            • #7
              Well there isn't one.

              You make due with your base mesh and its undivided uvs.
              Either your original one in max, or you re export your lowest subdivided model from zbrush and import it into max. All depending on whether its something complex like a character or something simple like a prop, you will often be better off exporting out a higher level mesh from zbrush, as you obviously get better results. If you know you are going to use your new mesh instead of your old one, you then let zbrush smooth your uvs to get the optimal result.

              As for the file attached previously, if you render it, you can also see that the edgetex map i put in is having issues on uv seams, more so on the vraydisplaced version than the turbosmoothed one.
              There obviously is something iffy with the vray subdivision\smoothing as it warps uv coordinates even on the interior parts of the sides.
              Last edited by trixian; 07-01-2009, 01:31 AM.
              Signing out,
              Christian

              Comment


              • #8
                Well, V-Ray specifically does not smooth the UVs, it just subdivides them, so any artifacts present in the original mesh are preserved.

                One thing you can do though, is to export the desired subdivided model from ZBrush as an .obj file and convert it to a .vrmesh file using the ply2vrmesh converter. That way you can render it 1:1 as it appears in ZBrush. Of course, this does not work if you need to modify the geometry in 3ds Max.

                Best regards,
                Vlado
                I only act like I know everything, Rogers.

                Comment


                • #9
                  Yes, I am fully aware of the option to use the hires model directly, though this is mostly not the desired way to do things. Often you need to do fancy shader and extra texture work on your model for it to look good, as Zbrush only has limited texturing capabilities, and only supports one uv channel, and most importantly, does not work for character work.

                  Anyway, it would be nice if you looked into the warping in the file I submitted, and see if there is any clever fix, and then additionally include a "smooth uv" check box for the modifier.

                  I am curious as to why smoothing the uvs would lead to such a slowdown when they already are subdivided. Is this because of the sheer amount of points generated at rendertime?
                  An idea out of the top of my head would be to enable a limit to the UV subdivision if that is at all possible, as the gains diminish for each iteration above a certain point, but I have a feeling this will not be possible as uvs point count seem to correspond to the mesh point count.
                  Last edited by trixian; 09-01-2009, 02:19 AM.
                  Signing out,
                  Christian

                  Comment


                  • #10
                    yeah this is a problem.
                    What we usually do is after zbrush, we export the displacement map with smooth uv's. Then in maya/max we subdivide the model using conventional meshsmooth modifier with smooth uv's option to level 1-2 subdivision, which takes care of the uv smoothing nativly. After that a displacement approximation (mental ray) is applied which takes care of the rest. And because the uv's are smoothed by the modifier, there is rarely an issue.
                    Dmitry Vinnik
                    Silhouette Images Inc.
                    ShowReel:
                    https://www.youtube.com/watch?v=qxSJlvSwAhA
                    https://www.linkedin.com/in/dmitry-v...-identity-name

                    Comment


                    • #11
                      Ok, I've made a note to look into this whenever possible.

                      Best regards,
                      Vlado
                      I only act like I know everything, Rogers.

                      Comment


                      • #12
                        Morbid: Yeah, that's what I have done earlier when working in Maya, as it has the options available, but is sadly missing for Max (Max only smooths the interior uvs, not the border) .

                        Vlado: Great, looking forwards to any progress in this area.
                        Last edited by trixian; 09-01-2009, 02:21 AM.
                        Signing out,
                        Christian

                        Comment


                        • #13
                          What, like this?

                          http://www.wonderhowto.com/how-to/vi...do-201-262998/

                          Comment

                          Working...
                          X