Author Topic: 3d P-47 model  (Read 1997 times)

Offline Voss

  • Silver Member
  • ****
  • Posts: 1261
      • http://www.bombardieraerospace.com
3d P-47 model
« Reply #15 on: February 02, 2001, 11:04:00 AM »
Well, since writing Pov script is like programming C++, animations are as easy as pie. Maybe you were talking about assembling frames? Freeware software again. Programs like DTA, BMP2AVI, CMPeg, and more are found on numerous web sites. Further, Colefax's spline include allows you to create multiple time frame events with complicated physics, transitions, and even fragmentations.

Height_fields are really easy too. In fact, Pov can easily create hf_grey_16 images which are exactly what you need for h_f's. Mega-POV goes further in this area, too. The pattern format for h_f's can use any standard pattern to create h-f's of so many descriptions you couldn't name them all. Further, Mega-POV outputs true depth-fields. Modelling h_f's? Just like in AutoCAD I tend to create triangle meshes either by direct input (coding), or via meshes. Pov also supports bezier patches, which give better results. You don't have to hand code meshes though, as I stated earlier about hf_grey_16's. POV supports so many h_f methods you could never use them all.

With all of the support packages like WCVT2POV and 3DWin you won't have any problem with mesh files of ANY description. But, since we were talking about Rhino's output... POV.

Textures are part of the learning curve, it is true, but since I created and released the WWII texture include (posted on Pov's binaries NG) you shouldn't have too many problems with aircraft, especially the aluminum finish of the P-47. Of course, I am assuming the use of Mega-POV (in expectations of the release of Pov 3.5, which will use similar/same nomenclature). The camo schemes of British, German, and American aircraft are very straight forward color_maps with light turbulence. Nothing difficult about that IMO, but if you have to resort to using image_maps overlaying your model it will do that too.

PLUS, you don't have to run two separate environments to create and then test your work (linux and then winblows for skin use on planes).

Pov also allows you to run scripts after execution of a scene, so assembling and viewing animations can be a hands off operation.

Blender better? No way! Better then TruSpace, maybe. Nothing beats Pov, but you have to know Pov to get good results. Masterful results are had by many. Just do a web search, or follow the Pov links.

Further, the source is available for your personal modifications.

I will post my latest P-51D when I get it finished. I have every detail of the cockpit, and exterior of the model included. That's a lot. Right now I am working on panel fasteners and the like. If, only I had a good Poser model of a WWII USAAF pilot, you would not be able to tell it from the real thing. AND, the motion_blur of Mega_POV makes the best looking prop motion I have ever seen.

I will say, that patience is the hardest hurdle to overcome. 800x600 hi-color animations can take weeks to render. The results are better then TV or motion pictures, but not even today's internet  supports the bandwidth to share that kind of work (my last 250+ frame animation of this size exceeded 100Megs).

Now, if we can only convince HT to release a skin editor (ain't gonna happen).

Anyway, 'nuff said.  

Voss

Offline Sancho

  • Silver Member
  • ****
  • Posts: 1043
      • http://www.56thfightergroup.com
3d P-47 model
« Reply #16 on: February 02, 2001, 04:35:00 PM »
 
Quote
Originally posted by Voss:
Rhino is a good modeller (been using it since before it was in beta) but its renderer sucks. Unfortunately, the best method of creating photo-realistic skins comes from the use of "Pov-Ray," which is freeware but has a high learning curve.

Yeah, I noticed that renderer in Rhino is kinda flaky.  If I add any spotlights, my plane gets this really wierd mottled bump map effect all over--and I'm not even using bump maps.  The only way to get it to look smooth is to use only ambient light, but then the model looks made of plastic.

I've started tooling around with POV, exported my jug to POV-mesh.  So far I've been getting used to doing everything in code instead of from GUI, moving the camera around, adding lights, etc.

About Blender, I've tried to use that before, but my brain is not compatible with it's interface.    It sounds lame, but I have problems rendering a simple sphere in that program!  I'm sure it's very powerful in the right hands, but to me POV seems a lot easier to understand.

Any tips for starting with texturing the model in POV?

[This message has been edited by Sancho (edited 02-19-2001).]

Offline Voss

  • Silver Member
  • ****
  • Posts: 1261
      • http://www.bombardieraerospace.com
3d P-47 model
« Reply #17 on: February 03, 2001, 03:26:00 PM »
Sure. What ever you are using for the pigment of your current work looks good enough. You need to make a good finish and normal, though. Well, actually I think you can let the normal go. Unless, you want to go back and clip out the individual panels, then the normal would make this too complicated a project.

In Mega-POV I use the following texture for the aluminum base:

#declare USAAF_Aluminum = texture {
   pigment { color rgb .6 }
   finish { ambient 0 diffuse .5 reflect_metallic reflection_type 0 reflection_min .152 reflection_max .261 phong 0 specular .99 roughness .000005 metallic 1 }
   normal { dents -.25 scale .04 } }

I scaled my 51 model down a ton, in order to fit universal scaling into animation variables, etc. The only thing you have to change, in order to fit any larger models with the above declaration, is the scaling of the normal.

To use this with the official version of POV, remove all of the reflection definitions and replace them with reflection .8*<reflection_max vector>, or 2.61 as above.

I have a blur model for aluminum too, but unless you are using one of the new 1.2Ghz TBird machines at 1.6Ghz (or similar) you won't want to wait for a render of it.

I recommend layering the texture with different pigment statements. In other words, for spots like the insignia you would want to create an image map and simply define a texture as several pigments, but all with the same finish and normal. Of course, your painted P-47 will not use the same reflectivity, as the naked aluminum I defined.

I don't know how you defined the various points of your Thunderbolt like the red section of the cowling, but I use two methods of defining a particular section. The first method is the intersection with primitives, or unioned primitives. The second method is to define a primitive and define a sub-object as the larger mesh bounded_by a defined object(bounded_by { insignia_primitive}), and finally clipped_by the bounding object (clipped_by { bounded_by })

This would make the rudder hinge line come out more to scale, depending upon how you defined the bounding object. Always perform bounds and clips on untextured meshes. Otherwise, the process is unproductive.    

My P-51 has a texture definition that contains more then 100 different pigments. There are a lot of stenciled warnings and errata on these aircraft. Worse, I used as much as five different textures within a material_map in order to reproduce surface anomalies, artifacts, and objects like flush fasteners. It's a mess, and it uses a ton of memory during the render.

</edit on>
Also, with Mega-POV you will want to make use of the global_settings block. You were having trouble controlling your light before. The way to avoid that is to use zero ambient light (ambient_light <0,0,0> ) and adjust diffuse lighting to get the best results. Also, you get the best results with radiosity. If you make skins I recommend rendering with radiosity and then optimizing for performance later. The more detail you add the lower you want to set aliasing. So, if you go so far as to add fasteners and panel lines and stencils, etc., then set aliasing down as low as +a0.01 for awesome results.

The motion_blur declaration goes in the global area too. Use Rhino to make a scale prop. Then, define your m_b in the global as "motion_blur 24,64" and instance the prop as:

motion_blur { prop_object rotate clock*prop_rpm*axis_of_interest }

You can find Mega-POV over at: http://nathan.kopp.com/patched.htm
</edit off>

Always willing to help. Hope I made sense and it helps you out.

Voss


[This message has been edited by Voss (edited 02-04-2001).]

Offline Sancho

  • Silver Member
  • ****
  • Posts: 1043
      • http://www.56thfightergroup.com
3d P-47 model
« Reply #18 on: February 04, 2001, 09:36:00 AM »
Voss, thanks a lot for the help.  I'm starting to get pretty handy with POV now, thanks to you!  I've got the cowl and rudder colors isolated by intersecting those parts with a box to isolate colored from bare aluminum, and I got to layering PNG files with insignias and transparent backgrounds on top of aluminum on the fuselage.  Texture placement is suprisingly easier than in Rhino.

I also made a low polygon version of my jug so I can get the textures placed with minimal render time... about 30 seconds for parsing and rendering total.    The real deal with thousands of polys takes a few minutes right now.

I haven't looked at Mega-POV yet.  It looks promising, but I'm still refining the model and texture placement in standard POV ray.  I'm sure I'll have more questions for ya when I tackle stuff like the propeller in motion.  

I'm thoroughly impressed with the quality of POVs rendering, and I'm having a lot of fun with this.  Thanks again.

Offline Voss

  • Silver Member
  • ****
  • Posts: 1261
      • http://www.bombardieraerospace.com
3d P-47 model
« Reply #19 on: February 04, 2001, 12:54:00 PM »
First of all, you are welcome.   I will always help with this sort of thing.

You'll eventually want Mega-POV(m-p). It is impossible to get a realistic metal without it. When the official 3.5 version comes out things might be different, but keeping a version of m-p around will always be a good thing. Too, if you want to draw tracers... (hint hint). You current code will still render without modification. AND, when you turn on radiosity it will blow you out of our seat.

When you download m-p, just rename the exe 'MegaPov.exe' and make a new shortcut to c:\program_files\Pov-Ray for...\bin\MegaPov.exe and it can peacefully coexist with your official stuff.  

Regarding motion_blur, I usually set up my models to be pitch positive to the negative z axis. The nose points down the negative z-axis and the canopy is toward the positive y-axis. The center of the prop should be centered on the z-axis, in this case. Then it is just a matter of revolutions.   Uh, don't forget to add any prop markings, or it won't look quite real.

You cannot nest m-b's. It will be necessary for you to instance the model and prop separately, in order for forward m_b to work.

Good work dropping the polygon size. I always go the other way, so I can get all of the details on.

I can't wait to see the results! Post it would ya?  

Offline Dux

  • Aces High CM Staff (Retired)
  • Platinum Member
  • ******
  • Posts: 7333
3d P-47 model
« Reply #20 on: February 04, 2001, 03:54:00 PM »
Nice work, Sancho.
   I do quite a lot of 3-D modelling at work, however we use Macs almost exclusively. I can recommend a program called Strata StudioPro (Mac and PC versions... in fact you can download an older but very powerful version for free). Of course if you can fork out the dough, you cannot beat ElectricImage.

   Texturing techniques are pretty universal, though, and these tips should help you...

   If your program allows it (hafta say I never heard of Rhino) use multiple layers of texture maps. For example, the camouflage can be mapped onto the fuselage cylindrically on one map, and the markings can be applied on top of that (using an Alpha Channel as a mask) but applied in a Planar fashion. That way you don't have to worry about how the texture wraps around compound curves. And you can make different versions of the same plane just by changing the Markings map only.

   If you can use texture maps to add as much detail as you can, do it. Don't model what you can texture. If Rhino lets you make bump maps, this is one of the most useful features there are. For example, you can use line art to represent the panel lines, etc., and the "bump" will cast highlights and shadows.
   Layering texture elements, like reflection maps, specular (gloss) maps, ambient maps, glow maps, will give you the most realistic effects. It takes a bit of practice to get them right, but judging from your work above, you'll have no problem getting it.

Hope it helps.  
Rogue Squadron, CO
5th AF, FSO Squadron, Member

We all have a blind date with Destiny... and it looks like she's ordered the lobster.

Offline Sancho

  • Silver Member
  • ****
  • Posts: 1043
      • http://www.56thfightergroup.com
3d P-47 model
« Reply #21 on: February 04, 2001, 08:40:00 PM »
Ok, I've done like Dux suggested and textured the fuselage with a cylindrical map, and applied the squadron code letters with a planar map (map_type 0).  Problem is it projects through to the opposite side of the fuselage, giving me a mirror image on the starboard side.  

Is there a way in POV or MegaPOV to only project to the nearest surface instead of all the way through a mesh?

Offline Voss

  • Silver Member
  • ****
  • Posts: 1261
      • http://www.bombardieraerospace.com
3d P-47 model
« Reply #22 on: February 04, 2001, 08:43:00 PM »
$1500 for that program!

One of the reasons I keep returning to the MegaPOV topic is the way it handles environments. In the case of making a model for AH I would take a bunch of stills from inside the game and merge them together as the interior texture of a hollow sphere. Then, any reflections on the surfaces would match the environment the skin is intended for.

Bump_maps in POV are part of the normal statement. Map_type 0 is planar, 1 is spherical, 2 is cylindrical, and 5 is toroidal. Use interpolate 4, and I recommend applying different normals inside of a material map if you can work it out.

Have fun and keep on tracing!  

Offline Voss

  • Silver Member
  • ****
  • Posts: 1261
      • http://www.bombardieraerospace.com
3d P-47 model
« Reply #23 on: February 04, 2001, 08:45:00 PM »
 
Quote
Originally posted by Sancho:
Is there a way in POV or MegaPOV to only project to the nearest surface instead of all the way through a mesh?

Yes. Go back and look at the bounded_by and clipped_by statements I recommended. You can use the text object within a bound, or even an intersection to get what you are after.

If that's not enough of a hint just ask and I'll go on.

<edit>
You can also use a cylindrical image mapping and instantiate it only once "map_type 2 once," but getting the scaling of the image map just right can be quite a pain.
</edit>

Voss

[This message has been edited by Voss (edited 02-04-2001).]

Offline Sancho

  • Silver Member
  • ****
  • Posts: 1043
      • http://www.56thfightergroup.com
3d P-47 model
« Reply #24 on: February 05, 2001, 07:35:00 AM »
Ah, gotcha!   I also figured an ez way to do the wing, since the underside would have a different texture,but there isn't a single level plane intersecting its irregular shape.  I just drew a second wing object with the lower texture translated -0.0001 below on the y axis.  It's coming along now.  I should have a picture to post soon...

Offline Voss

  • Silver Member
  • ****
  • Posts: 1261
      • http://www.bombardieraerospace.com
3d P-47 model
« Reply #25 on: February 05, 2001, 12:24:00 PM »
That's interesting, alright. Did you build washout into the wing?  

I know the dihedral would complicate clipping the wing upper and lower sections, but you can use different boxes to get the same result. Unless, you designed the wing at the true incidence angle, then it might take some experimentation to get the translation right.

I can't wait to see what you have now!  

Offline Sancho

  • Silver Member
  • ****
  • Posts: 1043
      • http://www.56thfightergroup.com
3d P-47 model
« Reply #26 on: February 05, 2001, 10:18:00 PM »
<edit> Old ugly pic deleted.  

You can see the old versions here (jugNpix.jpg): http://www1.jump.net/~cs3/pix/


[This message has been edited by Sancho (edited 02-17-2001).]

Offline Voss

  • Silver Member
  • ****
  • Posts: 1261
      • http://www.bombardieraerospace.com
3d P-47 model
« Reply #27 on: February 05, 2001, 11:46:00 PM »
Well, it's getting there all right. And GREAT WORK, btw.

It looks like a few ambient values are messing with you.

Want a good canopy texture?

#declare CanopyPlexiglass = material { texture { pigment { color rgbt <.995,.995,.995,.9995> }
   finish  { ambient 0 diffuse .00625 reflection_type 1 reflection_min .075 reflection_max .085 roughness .0005 phong .009 phong_size 40 } }
   interior { ior 1.45 } }

Again, that's a MegaPOV specific syntax and you'll have to modify the reflection statements accordingly. Reflection_type 1 is an ior specific model that gives convincing results.

Move your light_source at least 300 units in all components of the offset. Calculate the distance from the light_source to the model, and use that as your fade_distance. Use fade_power 1000 for a cool fade. MP's glow works great here too.

I can help you tweak your settings there when you get freed up to try some more stuff.  

You need a prop!  

Can't wait to see more!

[This message has been edited by Voss (edited 02-05-2001).]

Jay_76

  • Guest
3d P-47 model
« Reply #28 on: February 06, 2001, 09:00:00 AM »
Hi folks,

I had to head outta town on biz this weekend, and I see that Voss has been busy... Sooo.

BTW Sancho, I also think your work is awesome.  I wish I had the patience and the time to sit and model more... its especially satisfying to perfect that self-made project.

Now, onto the latest claims.

 
Quote
Well, since writing Pov script is like programming C++, animations are as easy as pie. Maybe you were talking about assembling frames? Freeware software again. Programs like DTA, BMP2AVI, CMPeg, and more are found on numerous web sites. Further, Colefax's spline include allows you to create multiple time frame events with complicated physics, transitions, and even fragmentations.
Height_fields are really easy too. In fact, Pov can easily create hf_grey_16 images which are exactly what you need for h_f's. Mega-POV goes further in this area, too. The pattern format for h_f's can use any standard pattern to create h-f's of so many descriptions you couldn't name them all. Further, Mega-POV outputs true depth-fields. Modelling h_f's? Just like in AutoCAD I tend to create triangle meshes either by direct input (coding), or via meshes. Pov also supports bezier patches, which give better results. You don't have to hand code meshes though, as I stated earlier about hf_grey_16's. POV supports so many h_f methods you could never use them all.

With all of the support packages like WCVT2POV and 3DWin you won't have any problem with mesh files of ANY description. But, since we were talking about Rhino's output... POV.

Call me crazy, but not everyone I know is a C++ programmer.  Its about basic usage, Voss... what are people more likely to consider "intuitive", script-based programming of a raytraced scene, or a GUI, even one thats ported from Linux?  Remember, I'm a previous POV user, I'm not against it as a renderer... in fact, when I first started fiddling in the realm of CGI it was with POV, on the recommendation of a programmer I knew here in the city.

Is Blender better?  I know that I find it easier to do the things I want to do, for lots of reasons.  I can see what I'm creating, as its being created. It has a faster renderer, even with very complex scenes.  It supports a variety of formats, and can output to a variety as well.  Its a freeware alternative to high-cost 3D suites like Lightwave or 3DStudio, and it can be as powerful in the hands of an experienced user.  Creating animations that rely on object and/or camera movement is easy, especially in scenes where complex camera angles and irregular curves are necessary.

As an aside, 250 frames of animation coming in at 100 megs is a bit much... time to check out alternative codecs, friend. *grin*

Sancho, glad to hear you've tried Blender... give it another shot sometime, and find yourself some good links for tutorials to get you aquainted with its interface.  The biggest hurdle most first-time Blender users encounter is its support for 3-button mice: without one, you're left with a whole lot more keypresses to do basic stuff.  However, it can be worked around, easily.

Rendering a simple sphere: (please note- capital letters count in Blender)
1) open Blender.  Hit the x key to delete all objects/cameras.

2) Hit the A key. Select Mesh-> UVSphere.  Select parameters. (rings, etc)

3) Goto the Materials button.  hit the "-" button on the bottom window.  Select New Material.  Use default grey.

4) Place a camera.  Hit A, select Camera. Reposition camera by selecting it (right click on it) and moving in the 3D view window.  You can change viewing angle with your keypad. (7=top down, 1=forward view, 3=side view, 0=Camera view)

5) Place lightsources.  Hit A, select Lamp, repeat as desired.

6) Goto render buttons.  Choose your size and format with the buttons to the right of the bottom window, and be sure to hit the OSA button to get anti-aliased rendering.  Pay attention to your Start and End button on the bottom of the window, set them both to 1.

Voila, a sphere.

And finally, for the record, I also remember that the icefield scene in Titan AE was done in (you guessed it) POVray.  It is indeed powerful in the right hands, but it is definitely weighted towards the dedicated script-minded.

That should be " 'nuff said"...

*S* and regards,
Jay.

Offline Voss

  • Silver Member
  • ****
  • Posts: 1261
      • http://www.bombardieraerospace.com
3d P-47 model
« Reply #29 on: February 06, 2001, 12:07:00 PM »
Did you ever try Lutz Kretzschmar's "Moray for Windows?" The advantages of the interface you mentioned are similar to that which Moray offers. I used Moray for a little while myself. It makes creating complicated scenes very easy, too. It also allows for rendering, with Pov, from within the interface. Unfortunately, it is limited shareware (limited time). It also uses a right-hand reference system, versus the left-hand system I got used to.
  I wasn't aware that there were codecs for FLH files.   How many animations have you made that were 800x600x16million colors? That's where the huge file size comes in. If you have a solution, please forward it. Mpeg's allow for 256 colors. Avi's may allow more, but 800x600 images seem to overwhelm every attempt I have made at piecing one together, because playbacks become a slide show. I would like to know of a solution if you have one.

As for me, I have been known to create very complex objects from direct input, so I suppose I've overcome the need for a modeller where only primitives are involved. For complicated meshes I use TruSpace.

Wasn't POV used in the creation of all of the "Veggie Tales" movies, too? It really doesn't matter, but they sure have a POV feel to them.

I would like to see a realistic rendering of a simple object (like a steel wrench, or something else simple and metallic) from Blender. Just to compare. I'll never switch.   I'll do something too (probably a wrench) just to compare. You may win a temporary convert.  

As for speed: To me, if it isn't a ray-tracer, it's not even in the race.

Voss

[This message has been edited by Voss (edited 02-06-2001).]