Announcement

Collapse
No announcement yet.

VrayBlendedBoxMap

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

  • VrayBlendedBoxMap

    While I'd imagine this as an extension of the UVW Mapping modifier, it could also be done as a map. Basically a Blended Box Map is like a regular box map, except the edges are blended so you don't see seams. Mari recently added this as a "TriPlanar" tool. I've been hoping to see this in max for ages ever since InstantUV (a plugin that did something similar) got discontinued back in the max 5 days.

    http://www.neilblevins.com/cg_tools/...ed_box_map.htm
    http://www.neilblevins.com/cg_educat...ox_mapping.htm

    I have a script that does a hacky version, but it has a lot of disadvantages that are discussed on those pages.

    So what do you say? Any chance for a VrayBlendedBoxMap?

    - Neil

  • #2
    This cannot be done reliably as a modifier; a map is the only solution... thanks for the suggestion; we'll see where it goes.

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

    Comment


    • #3
      Thanks Vlado, the only reason I'd suggest a modifier is because you then have a UI representation of the size, rotation, etc of the map (ie, the modifier gizmo), but if the architecture of max makes it tough to do this as a modifier, then a map would certainly be fine. The Blended Box Map is in my opinion one of the most important shading tools missing in max, so if vray could have one, it would make our lives a whole lot easier. Thanks for looking into it!

      - Neil

      Comment


      • #4
        interesting... Neil is there a way to do that in maya..?

        Comment


        • #5
          No official way to do it in maya, but a number of people wrote scripts similar to the one I did to fake it.

          http://crunchfx.com/2010/01/17/autom...ction-in-maya/
          http://www.collin-tullius.com/Scripts_Page.html

          Sadly, I feel a lot of the CG industry's resources have gone into painting instead of procedural texturing, even though procedural texturing has a lot to offer in terms of faster workflow. But I do what I can to convince people that using a mix of both has a lot of advantages, and only UV unwrap stuff in situations where there's no other choice

          - Neil

          Comment


          • #6
            Desperately needed!
            admin@masteringcgi.com.au

            ----------------------
            Mastering CGI
            CGSociety Folio
            CREAM Studios
            Mastering V-Ray Thread

            Comment


            • #7
              +1 about this.
              KCTOO - Directors

              Comment


              • #8
                +1 Great idea!

                Comment


                • #9
                  I might take a crack at this over the coming long weekend, but like your script solution, it will have to take up multiple mapID slots on your mesh.

                  Comment


                  • #10
                    FYI, I am working on this. The math took about 20 minutes. The debuggery is taking far longer, unless I dish out $5k for ADN and get a debug build of Max. Damn you Autodesk!

                    Right now it's just a map, with a map slot, a channelId (which one to "re-uv"), transition softness, plane count (3 or 6). I'll add another map slot for the mask when I've sorted out the rest of it.

                    Comment


                    • #11
                      Cool. I've actually seen about a half dozen people start this project over the years, but no one sadly ever seems to finish it. I'd be more than happy if you were the first to get it finished

                      - Neil

                      Comment


                      • #12
                        Well whatever I get up to ill shoot you the source. I made decent progress today, but I think I'm running into some c++ peculiarities that I'm not as familiar with (i'm a c# guy). For example, I'm altering the uvw's by wrapping the shadecontext in my own and running it through the loop of projections. Each iteration, the index is set so any calls to UVW() get the right uv (uv gets transformed by one of 6 matrices), but for some reason it's only getting the first one. It might be Max caching that call (and thus only the first call) but I'm not sure.

                        Comment


                        • #13
                          Post on here for a response from someone with SDK experience.

                          http://forums.cgsociety.org/forumdisplay.php?f=98
                          Maxscript made easy....
                          davewortley.wordpress.com
                          Follow me here:
                          facebook.com/MaxMadeEasy

                          If you don't MaxScript, then have a look at my blog and learn how easy and powerful it can be.

                          Comment


                          • #14
                            My weekend is relatively free so I had a real go at finding where I was going wrong to no avail. I've posted on cgtalk: http://forums.cgsociety.org/showthre...44#post7778244

                            Hopefully I get some kind of answer so I can get to it on Saturday!

                            Comment


                            • #15
                              I made some headway over the weekend. The plugin currently projects from 13 directions (chamfer a box to see all 13, excluding opposites) in object space at a fixed size of 1x1. The normal masking/falloff is set to what looks good, based on a min and max angle. I shot this over to Neil to take a look at. The next steps are:

                              - add standard coordinate rollout (or a modification of it), so you can choose between object and uvw space.
                              - add other controls such as mini, max angle for transitions.
                              - add choice of 3, 7 or 13 directions (affects render time so lower the better).
                              - add mask map, to overlay blend with the normal gradient.
                              - get caching working again.
                              - do optimization pass.
                              - maybe possibly add a modifier to do th uvw's at a vertex level, which is faster than calculating them per pixel in the map.

                              The release will be for 2013 64bit initially. I don't plan on porting it back to pre-2013 (Unicode).

                              Comment

                              Working...
                              X