PDA

View Full Version : How to get G2 Surfaces from Curve Network to Model complex Surfaces???


kutsche
10-27-2008, 09:49 AM
Hello,

because nobody answered to my last threat a long time ago, here is the same question but with a more clear example:

Iīve build this Cage of Curves. The Curves are "Interpolate" Curves, so that I could connect the different patches. The crosssections of the different curves do have absolut tangency.

http://www.ak3d.de/downloads/g2_1.jpg

Then I created Surfaces with The Cornerblend with "Use Tangent Fields" switched off. The resulting Surfaces looks quite good in shaded view:

http://www.ak3d.de/downloads/g2_2.jpg

But if you make the "Zebra-reflection" Test for Curvnature Control, you can see that the curvnature is quite bad. This would result in bad Reflections and in gaps between the patches.

http://www.ak3d.de/downloads/g2_3.jpg


What I would like to know is: How could I make G2 connected Surfaces with that Cage method? Imagine: If this would work somehow, you could really create ANY even most complex surface imaginable by splitting it into logical parts! And this workflow would be quite fast and most intuitive!

(Build a really nice cage -> create tangencys -> build up surfaces -> join -> trim -> deteail it -> finish complex carshape)

What I like to get is basically the following:

http://www.cg-cars.com/forum/showthread.php?t=5105

I want such a Cage:

http://www.ak3d.de/downloads/09.jpg
http://www.ak3d.de/downloads/02.jpg

Please note the zebra analysis of the result with alias studio! Itīs quite perfect! No gaps or steps like in my simple example!

(Please scroll down to the "Modelling Process" Topic)

Like in that threat, he builded up a spline cage in Alias Studio an created Surfaces between the curves. But all that with G2 Continuity! All I get is G1 at the moment.

I tried a lot of things in the last weeks.(Try it with Railsweeps and so on) All things didnīt work. I think Iīll have to create proper tangencies within the scetch and then turn on the "Use Tangent fields". But what would be the right setting? How to to get proper tangencies that follow the mainshape? And why are there so less surface knots exactly in the areas where the surfacepatches touch? Shouldnīt there be more in this critical areas?

I am really excited if this time someone will answer to this question.

Otherwise I would think that nobody ever modelled a realistic existing car with more complex shapes ever with PowerNurbs...

PiXeL_MoNKeY
10-27-2008, 12:15 PM
RailSweep can produce what you want, but only from the Rail edges (shape edges won't produce tangency from what I have found). Once you have your sweep use the Rail Tangency Controls to get what you want. If you need more help try posting a sample file.

On the curvature control, what viewport display settings are you using? What about the Power Surface Parameters for controlling the surface quality?

BTW, did you create an image for the "Zebra-Reflection" test, or am I missing something in the nPower options?

-Eric

kutsche
10-27-2008, 01:24 PM
Hello Eric,

thank you very much for the fast reply! Good to see that hereīs somebody.

Iīve re-created the zebra effect within max to act exactly like in rhino. First I rendered a Stripes environment as lotitude/langitude. Then I made a panoramic transformation within hdr-shop to get a six-cross image from this "striped room". Then I took a handy tool from ati named the "CubeMapGen" to create a CubicReflection *.dds file.

3DS Max Standard Material has on the downside a "DirectX" Section. If you activate it and if you choose "Metall-Relief9" there, you can choose a reflection image in the DirectX-Shader section. This Slot only accepts *.dds Cubemaps so thatīs why i did the complicated first steps.

Hereīs the Materialslot in german:

http://www.ak3d.de/downloads/zebra.jpg

I also converted the good old "space_needle" reflection of rhino.

http://www.ak3d.de/downloads/space_needle.jpg

Whit that you have "realtime reflections" within max, what helps a lot to check the curvnature and by the way looks damn good like liquid metal..... ;-) Maybe a good suggestion for implementing it basically in PowerNURBS...

To make things easy, everything is attached to this mail. The Problemfile as well as a *.mat for the zebratest and also those two *.dds files. I have to say that it only works in DirectX 9 Mode, not in OpenGl or with the QuadroFX Performance Drivers of Nvidia. Just in DirectX 9 Standard Mode. I donīt like the Gausian Curvnature Check of PowerSolids. The reflection analysis is much closer to the final output - a fine rendered reflecting car.

http://www.ak3d.de/downloads/NO_G2.zip

One thousend times I exported my PowerNurbs Work as *.3dm to use the rhino zebra analysis. Until know. With my solution Rhino is not nessessary anymore. (at least for this task...)

Thank you for the tip with the railsweep! But I also found out that thereīs no possibility to create a "double-G2" solution with that. If I setup the rails to get G2 Continuity, they simply change there shape FAR AWAY from my original Rail.

You know, in Rhino thereīs the "NetworkSrf" Command. It provides this "Double G2" possibility. How can I reach this behavior in PowerNurbs? I thought the Cornerblend with "Use Tangentfields" would be the only Solution, but I didnīt figured it out how setup the underlying Sketch Tangencies correctly.

I have another example:
http://www.ak3d.de/downloads/curvenetwork.jpg

On the right side, you can see a standard powernurbs primitive plan 2/2. With the middlepoint moved to bulge. The zebra in Max is just PERFECT. Look how smooth it is!I copied the primitive sketch and tried to recreate it with the RailSweep. 3 shapes, left to right, 3 rails up to down. And voila: Itīs also fine! I get exactly the same output as the primitive. So far so good. But I wanted a fully "Spline Cage Solution"....

This time I splitted the curves at the numbered verices so that there are 4 different patches. But then, thereīs absolut no way to get the result of the right primitive. The curve are EXACTLY the same, but splitted. I tryed also the Cornerblend with tangentfields on, with tweaking the underlying Sketches. No success. I tried the Railsweep, of course no sucess because it only knows G2 for one direction. I canīt switch on the "G2 Mode" for the Railsweep, because then, the rails are extremely different from my original curves! I just would need 4 patches that have a G2 relationship so that the zebra can do itīs job properly!!!

So how to get the result of the right Primitive with the input from the right curves with 4 patches AND G2 Continuity? That would be the very basic feature to get any Spline Cage Working for Carmodeling.....

Hereīs my best result with Cornerblend and Tangendfields "on" after ALOT of tries. (All the outer edges to have "NO Tangency" and all the inner Edges does have "Parallel to vector)

http://www.ak3d.de/downloads/bad.jpg

As you can see I have big areas lacking of G2, behaving like rough G1 continuity where the perfect Primitive Plane cleanly bends the reflection smoothly. In the middle area, the bulge, it behaves sometimes correctly! But for a car shape thatīs no satisfieng solution...

Often the workflow is like: Tracing blueprints with curves, connecting those curves, putting faces on that cage with G2, detailing and so on. I canīt be normal to think about shapes over and over how to blend and intersect thousends of surfaces!

To be intuitive and fast, it should be enought to trace all visible edges of an object. Connect it cleverly, so that there are only 3 to 4 edge surfaces and that on crosspoints of curves thereīs G2 in both directions. And finally span surfaces over that cage that internally blending with G2 in both directions (U/V)!

To get this working in G1 is absolut no problem and very intuitive with PowerNURBS.
But to get G2 should not be possible???? I really hope thereīs a way.

all the files are zipped here:

http://www.ak3d.de/downloads/NO_G2.zip

PiXeL_MoNKeY
10-27-2008, 07:33 PM
Not exactly sure what is going on there. I did notice that the viewport display of the .dds is incorrect (not sure if this is a max or a nPower problem). To prove this assign a raytrace map to the reflection, set the environment to a bitmap, choose your .dds. You will notice it is pretty close to G2 all the way around.

For the "Double G2" you could try a Blend and use the Side Shapes, to get blending on all 4 sides.

Thats it for now,
-Eric

kutsche
10-28-2008, 10:19 AM
Hi Eric,

thank you for that hint.

Of course the DirectX Reflections are not so precise. Hereīs the result if I put a stripemap in Environment(Sphere) and put a fully reflecting arch&design mat to my cage result:

http://www.ak3d.de/downloads/reflections.jpg

I think itīs only G1 on the left connection of the shapes.

The Cornerblend with sideblend was agood idea, but this function creates extra shapes with a procent value, i have to choose. I would need a function that smoothly (quadratic?) blends G2 in both directions.

Now Iīm experimenting again with the Cornerblend, with that i reached my aim closely. If you make a sphere, cut out a quadratic shape, and then close this again with cornerblend, it just looks perfect! It seems that this handy tool can use the tangency AND the Curvnature of Curved edges.

Because I only have my cage first, I will have to setup the SKETCH Tangency Controls properly. Maybe the Cornerblend will finally do the job! I hav a slender hope....

Another possibility of my lack of continuity could be the way i created the sketch network. As said befor: This are all "Interpolated" Curves that are connected on they intersections. Maybe here could be a problem? I will try this again with Bezier Curves to have more Control.

The last possiblity of an error may be the splittet Curves on the Intersection. Is it possible that if your split up a curve that their continuity is destroyed? If I turn on the quality Display, the quality lines doeīs change their length suddenly on the trimmpoints....

By the way: There are CV Curves and Interpolate Curves next other types in the Powersketch. You know, in Rhino you can work with the same curve and you are able to switch only the editing mode from CVīs to "Interpolate Editing Mode". Is this possible in PowerNurbs, too? Itīs seems that a interpolate NPower Curve stays a Interpolate Curve as long you do press the "make editable nurbs curve" button. Then the CVīs are back again, but: How can I then switch back to the "Interpolate" Editing?

Another Question for PowerSketch is: Is it possible to make an "Interpolate" Curve that has Degree 7 or so? With a standard curve, that is possible. But with the Interpolate Curve it will always be only a Degree 3 Curve after "make editable". Is that correct? I like to create a degree 7 Curve, and edit it with interpolated points. With Rhino, this easy.

Ok and another question: You know thereīs a PowerBlnd_Crv Function that creates great Curvnature up to G3 and updates interactivly, what it GREAT!
Is it possible that this Curve Blending is only working in 2D? If I have 2 Curves that are formed in 3d space the command only makes it G2 in just one Dirction (Viewport). The contruction plane of it. Is that right or a bug? It would be great if this function could handle every input of curves!

PiXeL_MoNKeY
10-28-2008, 11:39 AM
One thing I would recommend when doing the CrnrBlnd and other creation types, is use 4 Sketch edges for the first one, then for the next one use 3 Sketch edges and the 4th pick the Connecting CrnrBlnd edge to ensure that the surfaces are working together.

-Eric

kutsche
10-28-2008, 12:20 PM
Hello Eric,

thank you. The idea is good. Always to use edges from existing faces to get their continuity.

Unfortunatly after another evening (im stucking since three weeks nearly every evening) I have to say that I canīt control the Continuity for my splinecage to get the Cornerblend making G2 Surfacepatches.

I think that this kind of workflow I would wish is not possible with PowerNurbs at the moment. There are great tools to build a really flexible Nurbs Curve Spline Cage (MUCH better than in Rhino!).

But thereīs no way to get Surfaces over it that have a G2 Curvnature between them. Itīs a pity, I have a good cage here and simply are not able to turn it into clean surfaces.

So to get clean surfaces (to build the base bodyshape of a car) the only way is to break the shape apart in abstrakt shapes and the trim and blend ALOT of surfaces together. That will not be very intuitive. ;-(

But it could be so easy....

nPower_Dave
10-28-2008, 01:52 PM
Hello,

because nobody answered to my last threat a long time ago, here is the same question but with a more clear example:

Iīve build this Cage of Curves. The Curves are "Interpolate" Curves, so that I could connect the different patches. The crosssections of the different curves do have absolut tangency.

http://www.ak3d.de/downloads/g2_1.jpg

Then I created Surfaces with The Cornerblend with "Use Tangent Fields" switched off. The resulting Surfaces looks quite good in shaded view:

http://www.ak3d.de/downloads/g2_2.jpg

But if you make the "Zebra-reflection" Test for Curvnature Control, you can see that the curvnature is quite bad. This would result in bad Reflections and in gaps between the patches.

http://www.ak3d.de/downloads/g2_3.jpg


What I would like to know is: How could I make G2 connected Surfaces with that Cage method? Imagine: If this would work somehow, you could really create ANY even most complex surface imaginable by splitting it into logical parts! And this workflow would be quite fast and most intuitive!

(Build a really nice cage -> create tangencys -> build up surfaces -> join -> trim -> deteail it -> finish complex carshape)

What I like to get is basically the following:

http://www.cg-cars.com/forum/showthread.php?t=5105

I want such a Cage:

http://www.ak3d.de/downloads/09.jpg
http://www.ak3d.de/downloads/02.jpg

Please note the zebra analysis of the result with alias studio! Itīs quite perfect! No gaps or steps like in my simple example!

(Please scroll down to the "Modelling Process" Topic)

Like in that threat, he builded up a spline cage in Alias Studio an created Surfaces between the curves. But all that with G2 Continuity! All I get is G1 at the moment.

I tried a lot of things in the last weeks.(Try it with Railsweeps and so on) All things didnīt work. I think Iīll have to create proper tangencies within the scetch and then turn on the "Use Tangent fields". But what would be the right setting? How to to get proper tangencies that follow the mainshape? And why are there so less surface knots exactly in the areas where the surfacepatches touch? Shouldnīt there be more in this critical areas?

I am really excited if this time someone will answer to this question.

Otherwise I would think that nobody ever modelled a realistic existing car with more complex shapes ever with PowerNurbs...


You may want to try constructing your surfaces in the following manner. Instead of using the corner blend tool on both surfaces (you really aren't making two corners there), try using the rail sweep tool (which will create a better initial surface), and then use the blend tool to create a blend surface connected to your first surface. On the blend, you can also use the optional "pick ends" (picking the 2 curves that don't connect to the first rail sweep surface) to further direct the surface so that it behaves like a corner blend.

Another way to create this shape would be to create a single rail sweep surface that goes through your entire cage. And then use the trim tool to cut out the wedge shape. Does that make sense?
It would give you extremely good continuity across the entire surface.

kutsche
10-29-2008, 10:14 AM
Hi Dave,

that Railsweep -> Blend Method sounds interesting. Unfortunatly I canīt find the "pick ends" option in the PowerBlend Command!

Do you mean the SideBlend? That would not help in my Case. It would be great ti have possibility to control the side shapes of a Powerblend with selecting the two curves that arnīt in the Powerblend! Is that possible?

Also: is it possible to create Interpolate Curves that do have more than Degree 3? And the last question: If itīs not possible to have an "Interpolate Curve" of a highe Degree, how would you build up a Curve Cage with intersecting Nurbs CV Curves that intersects?

PiXeL_MoNKeY
10-29-2008, 11:11 AM
I think the "pick ends" he is refering to is the "Pick Side Shapes" option. See Side Shape Blend Params. This is to pick a different set of curves to define the side shapes, which is different option and location than pick shapes and/or pick spine curve.

-Eric

nPower_Dave
10-29-2008, 01:08 PM
I think the "pick ends" he is refering to is the "Pick Side Shapes" option. See Side Shape Blend Params. This is to pick a different set of curves to define the side shapes, which is different option and location than pick shapes and/or pick spine curve.

-Eric

Yes, Eric is correct. It's the "Pick Side Shapes" option.

eric pinkel
10-22-2009, 12:41 PM
Could you please repost your zebra material. I would like to try to test it on some curve network models to see if I can create a solution.

kutsche
10-31-2009, 01:17 AM
Hello Eric,

good to see you working on it! I solved my problem now whit rhino. Basically what I miss in PowerNurbs is the "MatchSrf" Command and the possibility to move CVīs manually without converting it back and forth.

A Match Surface Function with the option of selecting multiple edges and with the option "G0, G1, G2" and with different settings for adjusting the edge curves would be the solution. It should act exactly like in Rhino. In Alias itīs called "Align tool" and it even has a direct history function, thatīs just awesome.

It donīt know how the realize a car model with the common patch technique without those functions in PowerNurbs....

Hereīs the Stripe Shader again for Max 2010 with the Cubic Zebra dds texture:

http://www.ak3d.de/downloads/Stripe_Shader.zip