View Full Version : How to get a perfect indent on cylinder sureface?
jasonhuang1115 10-30-2006, 01:59 AM This problem has been bothering me for a long time and I did spent quite a amount time trying to solve it but can't. If friends here could help me out, I will be very appreciated. :thumbsup: (I am using MAYA 7 to model.)
MAYA scene file is attached as ZIP format.
Here is the overall look:
http://static.flickr.com/101/282984163_e8a4286f2c_o.jpg
I want to have a retangular indent on a cylinder surface. And below is a picture of my different topology experiments around the retangular's corner:
http://static.flickr.com/86/282984153_23b3a2aad0_o.jpg
So, the renders I got are below (rendered as subD). All corners got different unwanted results. Two upper corners got bumps; and lower two corner got creases.
http://static.flickr.com/105/283014503_e9af6ff1d6_o.jpg
http://static.flickr.com/115/282984161_3c4261a7c9_o.jpg
Could anyone help me on the better topology layout to solve this problem? I want to get nice sharp retangular corner and still keep the cylinder surface smoothly rounded.
| |
Sorry, that is not possible in Subdivision Surfaces.
You should poly model that detail or set the SubD to polygon object and boolean in the detail.
I exclusively do Mechanical modeling and i have tried subd's MANY MANY times and i hardly use them in 25% of my surface modeling.
Subd's work wonders in some cases but this is one of those cases where you can get CLOSE to the final result, but not NEARLY as accurate and "Perfect" as you can with other teqniques.
The problem however is with polygon models you get nasty artefacts in the mesh, the shading goes bonkers and you get those darkened areas :( There really is no way around it unless you use EXTREMLY high resolution meshes and every hard edge is beveled.
Like i said i have tried this may times, there is no work around but using massive amounts of polygons and bevels, even nurbs systems cause artefacts in the VIRTUAL mesh.
Arcanox
10-30-2006, 03:57 AM
It's possible to get a good indent by increasing the density of the mesh surrounding the indent. The edges around the indent need support to prevent it from stretching improperly which is whats happening there. You just have to add more edges around it if you want to continue using Sub-D surfaces for that purpose.
It can however inflate your polycount so DK suggested, it's probably best to simply boolean it once it's converted into polygons.
jasonhuang1115
10-30-2006, 04:52 AM
Thanks, my friends,
I model the geometry completely in Poly and only render the geometry as subD. The reason I don't use boolean is because the resulted topology is sort of messy/destruct and I try to keep all polys under 4-side.
Am I correct if I smooth the cylinder once or twice first and then start working on the indent?
Or, how about just create a displacement map for the indent?
don't have a solution, just wanted to add that i've been here a few times myself and you're not alone trying to figure this out.
This is kinda like the hole in a cylinder type problem.
Make a cylinder with 72 steps per 360 lathe, now make a smaller cylinder and cut a hole perpendicular into your first cylinder with boolean subtract.
Heres the thing, the mesh is perfect, depending on how CLEAN a boolean system your software has, you can get away without having to wel vertices or remove overlapping edges and plygons - Cinema 4D 9 in particular has the cleanest Booleans i have EVER used.
Now once the boolean is done and cleaned up, you have a perfectly cut hole into a cylinder, its mathematically PERFECT, BUT the problem comes in when you render.
Obviously a 72 step per 360 degree lathe will result in edges that have a 5 degree STEP - so you set your Phong smoothing to say 7 degrees to make the cylinder look smooth and not jagged - now render and look at the area around the hole you cut.
Its a filthy mess of darkened stretched triangles that make the mesh look like there are overlapping faced causeing a darkening of the faces. See the problem is in the phong smoothing that all 3D software Packages use, NONE and i seriously mean this when i say NONE can handle this sort of problem correctly.
I have tried evey rendering software out there in one form or another and the same issues result.
The only way to COVER UP this error is to use shaders and textures and avoid focussing on the specific are, kinda hard when its supposed to be the focal point but yeah.
In subd's you can;t even have a mathematically perfect hole in a cylinder without deforming the surface.
It's an annoying problem because its got nothing to do with the actual MODELING of such details but the problem is in the softwares phong smoothing calculations - Its kinda like triangels causeing uneven subdividions and mesh "pinching" when quads dont do it, is it REALLY that hard to develop a subD system that can calculate triangles as cleanly as quads?
Anyways, i'll try to model something along the lines of what you want to do - i'll see if i cant maybue figure something out :)
bblanar
10-30-2006, 05:04 PM
have u tried making a portion it out of nurbs, doing a trim, then converting to a poly mesh, id be interested to try that and see what the computer thinks it should do, might point u in a new direction. im not at a computer to try it right now tho.
problems and solutions for tricky subd modelling problems should be a stickied thread.
jasonhuang1115
10-31-2006, 01:49 AM
DK3D,
Thanks for your effort and I am looking forward to seeing the experimental result. I believe you have gone through this and have spent a lot of time on the related research. I just realized this problem for several months when trying to model this kind of thing on mechanical surface and last night was the point that I can't accept any unwanted renders more.
bblanar,
I haven't tried the way you mentioned since I am sort of a NURBS modelling idiot. All I know is about Poly-modelling, but thanks anyway, I will try during the side time.
I just tried to use displacement map to get this indent. It gave me the indent and rounded cylinder surface but the edges of the indent is ugly bevelled. :cry:
gjpetch
10-31-2006, 03:22 AM
The problem stems from unevenly spaced edges, edges around the indentation are more closely spaced, so they pull the form of the larger curve into an artifact. The solution: unfortunatly that larger curve just needs to be made up from more edges, so as to make the edges somewhat evenly spaced.
One simple technique that might help you: Try modelling the shape flat, like a plane with the hole cut in it, then bend it 360 degrees to give it the cylindrical form.
Pdude2K5
10-31-2006, 09:01 AM
Hey dudes,
I had that problam awhile back but now I use this technique:
http://img230.imageshack.us/img230/1405/subdivisionindenttuthp0.jpg
If you want to make it sharper then move the support edges.
Hope it help:)
-Pdude2K5
jamacsween
11-03-2006, 04:18 PM
Hi there,
I do this all the time and use either subdivision and bevels or control shading using the phong tag.
see image below. identical cylinders with 2x2 poly extrude into cylinder. Lit by single light between them. One on right has phong angle at 80 deg and one on left has 55 deg.
Am I missing something?
HTH
JA
jasonhuang1115
11-04-2006, 03:08 AM
Thanks friends for your effort and ideas. We all are trying to solve this question.
To gjpetch, I like your idea and will give it a try. But the only problem that I saw is that I am not only modelling a pipe-like cylinder, but a more complicated object. I will be hard for me to model all details, such as different indents and stuff like that, when the object is flatted out as a plane.
To Pdude2K5, thanks for the pictures and explination. It did help on the purpose. However, did you notice that the shorter sides of the retangular indent is more curved than the longer sides. It happened on my Maya 7 with rendering as subD. Also, I got a long crease,parallel to the longer side of the indent, across the whole cylinder surface.
To jamacsween, may I know what kind of software you are using? I am wondering if you bevel those edges around the indent? Would you mind post the wireframe? As far as I know, I need at least two or three edges to decide a "hard edge" when you render as subD for animation. I am not aiming for loly-poly game modelling.
Again, thany you friends. If I sounds rude, I apologize for my bad English. I just want to get better while discuss with you all. :)
celticdog77
11-05-2006, 03:00 PM
does this help at all? The one on the left is the new improved one. in order to keep the topology you have to make sure you don't cut the flat area of the cylinder
celticdog77
11-05-2006, 03:01 PM
I didn't explain that very well. Just make sure the center of the hole is not in a "flat" area of the cylinder
EricLyman
11-28-2006, 06:31 PM
I think this method would work best for you. The problem isn't really that you're trying to do this on a cylinder surface, it's just that your topology is not working for you. To get a good crease or edge on any surface you need to think about your edge density. More where you want sharp lines, less where you want smooth surfaces.
To start I created a plane, moved a few verts and did some face extrusions inward. Note that I have three lines for edges. Three is sort of the 'golden' modeling number when you're working to smooth.
http://img268.imageshack.us/img268/7168/ejl1tt0.jpg (http://imageshack.us)
Apply bend deformer on all verts of object except those at the bottom of the hole (we don't want those to move).
http://img50.imageshack.us/img50/3262/ejl2gg0.jpg (http://imageshack.us)
here's another view of this step
http://img70.imageshack.us/img70/5696/ejl3ec7.jpg (http://imageshack.us)
and the smoothed result. Although I started with a plane for this example (which is 100 times easier than editing a curved surface) you could in theory do this with any surface. You just need a good topology.
http://img70.imageshack.us/img70/7254/ejl4ik2.jpg (http://imageshack.us)
Attached to this message is the maya file shown above (maya 7 ascii format)
You don't need SubD's for this surface. In fact, you shouldn't use SubD's. The problem you are having is because you want nicely bevelled edges on a rectangular shape, indented on a cylinder. You will have to add more geometry to achieve this goal. SubD's would only mess it up.
While EricLyman's solution is nice, it is not a rectangular indentation. This is a little harder to achieve using a cylinder as your starting point, as you can't rely on poly smoothing or subD to make it look nice.
I think you will get the best effect by adding enough geometry to model in the rectangular intrusion and bevel it however you want. You should minimize the impact this has on the rest of your scene by making it as small an object as possible, so as to avoid running unnecessary geometry throughout the rest of the object with the recess. Keep in mind that you should avoid triangles in your mesh, as some rendering packages act funny (or won't render) with this kind of topology. This requires that you tesselate the cylinder to an acceptable bevel on the recess.
If you're feeling adventurous, I think a NURBs patch modeling technique could also achieve the look you want. It sounds like an unnecessary solution, though.
Good luck! Machined Cylinders can be a bitch...they can end up needing a lot of love and care in their construction.
Here are screens of what I did. The REAL problem arises when you have other shapes to bump in or out of this cylinder as well. Note that if I increase the number of sides to the cylinder (currently 60) so that the space between the edge of the recess is minimized, the slight shading crease will be reduced.
EricLyman
11-29-2006, 12:20 AM
While EricLyman's solution is nice, it is not a rectangular indentation.
All you'd have to do is make the face a rectangle instead of a circle on the plane, before extruding and then doing the bend. :)
cheers
itsallgoode9
11-29-2006, 05:54 AM
imho doing it flat and then using a bend modefier is the only way to do this 100% perfectly. All the solutions other than this one work if you aren't going to run a mesh smooth, but if you do that in the end, you will always get some sort of surface distortion.
mrhahn98
11-30-2006, 02:35 PM
Actually ,i'm having that problem too when modeling car, i run into this problem everytime i model a car , can someone help ?
http://img.photobucket.com/albums/v652/mrhahn98/Error.jpg
http://img.photobucket.com/albums/v652/mrhahn98/Error1.jpg
mrhahn98 - you definitly need to add some extra edges to your hood. Dont relay too much on smothing algorythm. More dense mesh will allow you to reduce pinching.
regards
S3b
jasonhuang1115
11-30-2006, 08:26 PM
mrhahn98 - you definitly need to add some extra edges to your hood. Dont relay too much on smothing algorythm. More dense mesh will allow you to reduce pinching.
regards
S3b
Heyk, S3b, thank you for your comments. Does that mean whenever I want to model detail on cylindrical geometry, I better start with high dense mesh, but not start with a low poly cylinder and then only smooth it when I realize that I need it later on. If so, it would be a pain that I have to tweak lots lots of vertice at the very begining!?
Flewda
11-30-2006, 09:00 PM
Actually ,i'm having that problem too when modeling car, i run into this problem everytime i model a car , can someone help ?
That area seems to be a 5+ sided face. NURMS/Turbosmooth/Meshsmooth all hate anything that isn't a quad (and even quads need to be a specefic way). Try making things quads as much as possible, adn see if you still have that problem as much.
Well, you should allways try to start with as simple obiect as it's posible but during the modeling process you should add as much aditional geometry as it is necesery to control the way meshsmooth works. As Flewda said its wery important try to keep every poly quad (even if that means more geometry to add).
yeah, you should work with some more geometry. Make sure you have all quads. the weirdness you see is because you have a 5-sided face, AND it's a long stretched out triangle when tesselated which causes shading issues.
jasonhuang1115
12-01-2006, 07:29 AM
Let me put this question into practice a bit more. :)
Here is the geometry I am working on. (I upload the obj format file.) I need a perpendicular corner around the that is inside the yellow circle of the picture.
http://static.flickr.com/104/310916325_055e36e724_o.jpg
Apparently, there is a unwanted bumpy result. I post my wires as well. That's the best solution that I can come up with so far.
http://static.flickr.com/107/310927629_958421a464_o.jpg
The point is that, I can't edgeloop the lines, at this point, all the way around the geometry on any directions. That way, I will get unwanted "hard edge" on the curved surface cause 3 lines placed too close to each other. If I make the meshes denser, like adding a lot of parallel lines and even the space between lines, I just get a lot more unwanted "creasing" lines on the surface. I also have no idea about how to start with a plane to achieve this shape of geometry.
I do believe there should be some topologies that I don't know of to achieve this because there are so many awesome hard surface models out there.
Ok, so here is my way to do that kind of details.. Mesh isn't optimised so you can see some unnececery edges that should be removed.
http://img178.imageshack.us/img178/1545/surf2zn6.jpg (http://imageshack.us)
http://img217.imageshack.us/img217/900/sufr1uh0.jpg (http://imageshack.us)
regards
S3b
mrhahn98
12-01-2006, 04:58 PM
Hi, i did tried some other solution but it doesnt work , even when everything is quad , the bump is still there , btw is there another way to eliminate that bump than just increasing edges around it ? coz sometimes more edge may lead to unwanted result on the mesh and very hard to control .
jasonhuang1115
12-02-2006, 06:52 AM
Thank you S3b. I think I got your idea and is trying on that. It seems that I have to spend some more time on tweaking those added lines to make them look rounded, otherwise, I will get creasing results along the original edges. :)
CGTalk Moderation
12-02-2006, 06:52 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2009, Jelsoft Enterprises Ltd.