magneto Posted January 30, 2012 Share Posted January 30, 2012 I want to set the crease on the green edges as highlighted in the image, but as groups Crease SOP only accepts primitive groups, which is shown highlighted on the left. But when I set the crease attribute for these to 2, then the rendering as shown below. I only want sharpness in the green edges, not on the sides as shown using arrows. Is this possible using creases and Mantra's polygons as subdivision option? Or is adding additional detail (i.e. PolyBevel) the only way? Thanks. Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 30, 2012 Share Posted January 30, 2012 I think Peter covers this in a tutorial. http://vimeo.com/35800953 Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 I think Peter covers this in a tutorial. http://vimeo.com/35800953 Thanks, but I actually just watched that one He shows how to set the crease attribute using the Crease SOP, along with handling a few subd issues which I know of (poles, unfused points), but he never talks about this exact problem. Quote Link to comment Share on other sites More sharing options...
ryew Posted January 30, 2012 Share Posted January 30, 2012 Despite your mentioning you'd rather not, I suspect you'll need to add those extra edge loops in close proximity to the edges you'd like to keep sharp. That is the method used in other software packages to counterbalance the smoothing effect of subDs and retain desired edge crispness, and I don't imagine Houdini's subD algorithms are that much different than what they are using (i.e it's a common problem with a common solution). Peter Quint regularly fields questions posted to his videos as well, so it might be worth asking for his take on it as well Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 Thanks, I know what you mean. In other software packages, I also use the method of adding extra detail, but since I never used a software that has render-time subds, I am wondering if there is a way to solve this via creases and rendering. If crease data was stored in edges, this would be possible for instance, but it seems like it's stored per vertex. Maybe someone experienced in this, might have a way to solve this. Quote Link to comment Share on other sites More sharing options...
dennis.albus Posted January 30, 2012 Share Posted January 30, 2012 (edited) I used the Crease SOP a couple of times and it works really well with edges too. You have to select those edges explicitly in the viewport and add the Crease SOP from within the viewport to make it work. Unfortunately the Crease SOP is not edge aware by itself and reselect for current tool does not work as expected. I'm always creating an Polybevel SOP (or any SOP that uses the weird syntax for edge selection) and do my edge selection there and reference its group parameter inside the Crease SOP. In your case I would however also tend to use real geometry to sharpen those edges. It gets cleaner and more predictable results. I tend to use creasing when I want smooth transitions from hard to soft edges where its hard to create a nice egdeflow for newly introduced geometry. -dennis crease.hip Edited January 30, 2012 by dennis.weil 1 Quote Link to comment Share on other sites More sharing options...
symek Posted January 30, 2012 Share Posted January 30, 2012 Thanks, I know what you mean. In other software packages, I also use the method of adding extra detail, but since I never used a software that has render-time subds, I am wondering if there is a way to solve this via creases and rendering. If crease data was stored in edges, this would be possible for instance, but it seems like it's stored per vertex. Maybe someone experienced in this, might have a way to solve this. See example. The accuracy it rather limited though. Note also, that Mantra rendertime subdivision needs some consideration in use. For example it renders much slower than polygons, it take much more memory, it ruins any instancing optimization. These days almost always subdividing a mesh in Sops works better, as computer can handle dense meshes pretty well. Rendertime subdivision works nice in character pipelines, when you have a dense mesh still not enough good for rendering. For things like screws may be not as useful crease_example.hipnc 1 Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 Thanks guys, very useful replies. @Dennis: I tried your edge method, and it worked great. @Symek: I didn't know all those down sides. I was mainly impressed by its infinitely smoother subdivision Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 30, 2012 Share Posted January 30, 2012 Another method is to detach the polygons to their own primitives. That will produce a sharp precise edge. Good thread by the way. Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 Thanks hopbin, that would give sharpness too. I find variable sharpness much useful though. For instance I find a crease value of 2-4 pretty useful for hard edges but not uber-sharp Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 30, 2012 Share Posted January 30, 2012 Do you need to select these edges procedurally? If so, I've been using this asset. It will create a string of edge loops "0e1 0e2 0e3". etc. etc. and assign it to a detail attribute. I usually just copy/ref the parameter to where I need it. It's been one of those very handy assets I use all the time. You can also use a mask to exclude edges you don't need. I didn't make it. Downloaded it from somewhere. edge_group.otl 1 Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 (edited) Hey Hopbin, actually I do. So you create many of these as details attributes, one for each edge selection? I wish Houdini supported edges as first class types though. I was trying to select edges based on an angle procedurally using the Group SOP, but couldn't do it. Do you know of a way to do that? Say selecting all edges that are shared by polys with an angle of 90+ degree? This would make it very useful for creasing at rendertime. Edited January 30, 2012 by magneto Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 30, 2012 Share Posted January 30, 2012 Yea, that asset will select edges based upon the angle. It works like the facet cusp angle parameter. You can then use a point mask to filter out parts of the object you don't want. Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 Thanks, I just thought it stores your edge selection, not select them based on angle. Also do you know if there is a way to do it using the built-in operators? I ask this because the Group SOP has an Edge tab but I couldn't get anything using the angle values there Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 30, 2012 Share Posted January 30, 2012 The Group SOP will not select edges, cause you can not store the 0e1 0e2 0e3 selection pattern as a group. The EdgeGroup SOP uses the built in operators, but it just generates a string. You can then use that string in the Group parameter of other nodes. Which tricks them into thinking you made a manual selection. I'd like to have other group features. Like grouping points by number of connected edges. Grouping polygons by number of edges. Growing groups outwards or in, and getting the edges around a group of primitives. Got to put that on my xtools want list. Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 Thanks I will have to inspect that then. I am not sure how it tricks them though. If it uses the same string as 0e1 0e2 0e3, then edge storing is supported? Also does it work for all SOPs? I remember a lot of SOPs limiting their input, to points or prims, so even selecting what you want seem to get converted. For instance the Edit SOP, if I move a single primitive that has 50 points, it will store that in the group field, instead of my primitive, which actually makes things hard, because if I want to reselect that primitive after changing the topology, I want to be able to type the index of that primitive and have the same transformation applied to it. I wonder if H12 will have true edge support. I don't think so though because if it did, it would be in the H12 newsletter But if that isn't done when the geometry engine is rewritten from scratch, I can't think of a more drastic change to make this happen 2 Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 30, 2012 Share Posted January 30, 2012 Yea, I to wish they would add true edge support. Not only for grouping, but for storing attributes as well. It would also be nice to have functions like nedges() which tells you have many edges a polygon has. I'd also like to easily get the normal for and edge (based upon the shared polygons). I'd also like to edge select from hscript/hython or slide that selection. hmmm... I just had an idea. I'm going to go try something in Houdini. If it works. I might have a solution for working with edges. Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 Yeah I want true edge support everywhere. I mean just because Sidefx excluded them years ago doesn't mean they should stick to it forever. Given Houdini's unique proceduralism, allowing edges will make the software infinitely more powerful. Not to mention the bulk of the subd/poly modeling tools lie with the realm of edges. I don't see a reason why Houdini can't beat the best poly modelers out there. I use it, and it works fine but very limited because of limited edge support. With it, I think it could be right at the top. Quote Link to comment Share on other sites More sharing options...
magneto Posted January 30, 2012 Author Share Posted January 30, 2012 I asked this before but I wish we had this: http://3dsmaxfeedback.autodesk.com/forums/76763-publicsmallannoyingthings I don't know if anyone noticed but after this Max did fix some annoying issues, such as impractical defaults, etc. The advantage also would be to be able to see all the requests publicly. But right now you have to ask for it, and then someone can say that there is already an RFE for this. Also commenting about the use cases, etc would be beneficial. Would Odforce users be interested in such a thing? It could be hosted by Odforce or someone like Hopbin can take the lead Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 30, 2012 Share Posted January 30, 2012 Sidefx does have a feature request form on their website. I think a digg/stackover style thing would be cool. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.