Forum: 3D Modeling


Subject: Is there such a thing as multi-scale moduling?

henrytj opened this issue on Dec 11, 2006 · 8 posts


Warlock279 posted Mon, 11 December 2006 at 5:18 PM

 It’s a nice idea Henry, and there’s certainly been more than one occasion where I’ve said to myself, “darn, I need to change the base shape of this but I’d really like to keep what I’ve done to it so far,” while I’m working on the detail, but I’m not sure how feasible it would be to implement a system that allowed you to do so for a few reasons. I think the way that apps calculate subpatches, and NURBS, would prevent this from really working, I think it would cause point order/identity issues as well as create a serious slow down in performance.

 

Most apps that have subpatching/NURBS capabilities use an algorithm something along the lines of taking two point and the points surrounding those two, and using the angles/distances of those points to derive a “tension” of the curve between the initial two points, and that tension gives you the curve you get when subpatched. What that leads to, for one polygon refined once, is 4 pseudo-polys and 9 total points, 5 of which are “projected” or estimated based on the initial four points.

 

To implement a system that allows you to modify the 5 new points, while still having the first 4 control the overall shape and such, you’d need some method of tracking those 5 points that would uniquely identify them so that they keep whatever changes you’ve make to them. What I think might be a problem though, since these new points don’t truly exist they’re just approximated based on the initial 4 and thus relative to them.

 

I think that it might be difficult to track all these “child” points seeing as none of them are “real” and all relative to the “parent” points, and they’re all sort of “stacked” on top of the first 4 points. Should you decide that the jump from “large” to “medium” is instead of 1 polygon into 4 [mesh refinement of 2], is one polygon into 9 [mesh refinement of 3], now where’s that leave your modified points from the first pseudo 5? Because, now instead of 4 real and 5 pseudo-points defining 4 polygons, you’ve 4 real points and 12 pseudo-points defining 9 polygons, and any modifications you made to the pseudo 5 is now likely lost, or needs corrected. When you move to the “small” level, again you’re creating even more pseudo-points at an exponential rate, all of which need to be tracked, none of which exist, and they all are relative to their “parents” and any modifications you may have made to them, which are then in turn relative to the first 4.

 

What would work is using cages. It doesn’t necessarily give you the large-medium-small [L-M-S] effect you’re after, but a “deform cage” lets you manipulate the mesh as a whole based on a simplified cage and adjusts the mesh and details accordingly. Example being, you’ve got a 2500 point sphere and you want to make it wobble like Jell-O, instead of moving all 2500 points around you can use a basic cage that consist of maybe 25 control points. I think it’s more of an animation tool though and I’m not sure it can be used for modeling. I know XSI has a deformation cage, and I’d imagine Maya/Max have something similar as well as most other apps, LightWave excluded, at least prior to the latest release.

 

For some reason, I keep thinking Blender might have something along the lines of what you’re describing but I’ve not gotten into it deep enough to say for sure, you’d need one of the Blender users around here to answer that.

 

It may also be possible to work like you’re wanting using splines and patching them. Seeing as you could keep adding splines to increase detail in certain areas where you’d want to tweak the “medium” level. This would probably mean a lot of patching and un patching as you go to check how things look and what not as well as a real solid understanding of and high comfort level with splines.

 

If you had a way to prevent the point order issue, like a way of identifying points relatively say, polygon 124, is defined by points 112, 114, 118, and 120, then said the pseudo were point “124, A, 1” “124, A, 2” “124, A, 3” and so on you might be able to track the points while keeping them “soft” or not “real.” That would leave with having to just work out a way of eliminating the problems incurred by changing from a refinement level of 2 to a level of 3 or whatever.

 

Also, if you follow the “proper” workflow it should greatly reduce the need for the L-M-S, that workflow being “general to specific,” meaning you rough in the basic shape and gradually increase and define details as you go working on the mesh as a whole. I usually make sure to keep a lesser detailed/earlier version of any model around so that should I desire to make changes to what would be the “large,” I can and then only need to remodel a part of the mesh. Even as it is now, a lot of times you can make the changes you’d want with a different tool, like a “scale/stretch,” “twist,” “bend,” “shear,” or so on though it would probably be a lot easier in an L-M-S system. Who knows, maybe a properly implemented L-M-S system could go a way to redefine the approach to modeling as it is now, sort of like Zbrush and that approach has now.

 

 

DISCLAIMER!!! I don’t code, I know some BASIC, but I’ve never done much with it, so I could well be wholly wrong about what kind of slow down may or may not be incurred by this sort of system. I do know that the more geometry you have, the slower things get, and that having geometry that relies on other geometry, doesn’t help things any. Secondly, I don’t know all that much about point order or how different apps sort it, I just know it can sometimes be very important that you don’t mess with it. Lastly, by “proper workflow” I don’t mean to say that any method is incorrect, I’m just going with what I’ve been taught, and feel is the best method as well as what is generally accepted as “correct” not just in modeling but for art in general and of course not say that the ”proper” workflow doesn’t have issues either. In the end any workflow that gets you where you’re going is just fine. I’m rendering right now, and thus bored, and having a lot of time to run my mouth, so you can take any and or all of it with a grain of salt and like I said I could well be wrong about all of this, but this is my two cents on the matter so enjoy.

Core i7 950@3.02GHz | 12GB Corsair Dominator Ram@1600mHz | 2GB Geforce GTX 660


Lightwave | Blender | Marmoset | GIMP | Krita