Converting Poser 3 models to POV 3.5

© Mike Williams 2002,2003

 

In POSER 3

A quick render in POV

In POV with textures

Simple Conversion

1. In Poser
Export your pose as a Wavefront (OBJ) file. Specify Single Frame and Export groups for each body part.

2. Run OBJuvPOV
In the Tools menu choose Options then POV Export. Set the POV export format to mesh2, which is considerably faster than triangles or mesh1.
Then convert the OBJ file you saved from POSER 3. This creates a .POV and a .INC file in the same folder.
The .INC file contains the actual mesh, and the .POV file contains the camera, lights and texture information.

3. Edit the .POV file
The file will initially look something like this:

#declare OBJuvPOVmaxX =  .24143;
#declare OBJuvPOVminX = -.21201;
#declare OBJuvPOVmaxY =  .3772;
#declare OBJuvPOVminY =  0;
#declare OBJuvPOVmaxZ =  .09204;
#declare OBJuvPOVminZ = -.28066;
camera {
    location < 0.01471 , 0.1886 ,-1.00119 >
    look_at < 0.01471 , 0.1886 ,-0.09431 >
}
light_source { <-1.06005 , 1.886 ,-1.4033 > rgb<1,1,1>}
light_source { < 1.20715 , 1.886 ,-1.4033 > rgb<1,1,1>}
background {rgb<0.5,0.5,0.5>}
#declare OBJuvPOV_Texture = texture
{
    pigment
    {
        image_map
        {
            tga "OBJuvPOV.tga"
        }
    }
}
#declare OBJuvPOV_Texture_OBJuvPOVshirt = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVjacket = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVtie = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVpants = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVbuttons = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVskin = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVlashes = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVtongue = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVteeth = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVeyeBrow = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVlips = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVinnerMouth = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVpupil = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOViris = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVeyeBall = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVnails = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVsouls = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVshoe1 = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVshoe2 = texture {OBJuvPOV_Texture}
#declare OBJuvPOV_Texture_OBJuvPOVlaces = texture {OBJuvPOV_Texture}
#declare ConvObject =
union
{
    #include "Poser1.inc"
}
object {ConvObject}

Unless you happen to have an image called OBJuvPOV.tga handy, this will fail to render, so replace that with an image that is available, or by a procedural texture. You can then perform a quick render in POV to see if everything's OK.

4. Edit the .POV file
You can now adjust the camera and lighting, and define the textures. We'll consider UV textures later, but for now let's just apply simple colours to each part of the object. I ended up with a file like this:

camera {
    location <0,.25,-1.3 >
    look_at <0,0.20,0>
    angle 30
}


light_source { <-0.2 , 1 ,-3 > rgb 2}
light_source { <0.2 , 2 ,-1 > rgb<1,1,1>}
background {rgb<0.5,0.5,0.5>}

#declare OBJuvPOV_Texture = texture {pigment {rgb x}}

#declare OBJuvPOV_Texture_OBJuvPOVshirt = texture {pigment{rgb <.8,.8,1>}}
#declare OBJuvPOV_Texture_OBJuvPOVjacket = texture {pigment{rgb 0.1}}
#declare OBJuvPOV_Texture_OBJuvPOVtie = texture {pigment{rgb 0}}
#declare OBJuvPOV_Texture_OBJuvPOVpants = texture {pigment{rgb <.3,.2,.2>}}
#declare OBJuvPOV_Texture_OBJuvPOVbuttons = texture {pigment{rgb 0} finish{phong 1}}
#declare OBJuvPOV_Texture_OBJuvPOVskin = texture {pigment{rgb <.9,.7,.6>}}
#declare OBJuvPOV_Texture_OBJuvPOVlashes = texture {pigment{rgb <.6,.3,.3>}}
#declare OBJuvPOV_Texture_OBJuvPOVtongue = texture {pigment{rgb <1,0,0>}}
#declare OBJuvPOV_Texture_OBJuvPOVteeth = texture {pigment{rgb 0.8}}
#declare OBJuvPOV_Texture_OBJuvPOVeyeBrow = texture {pigment{rgb <.6,.3,.3>}}
#declare OBJuvPOV_Texture_OBJuvPOVlips = texture {pigment{rgb <.8,.6,.5>} finish{phong 1}}
#declare OBJuvPOV_Texture_OBJuvPOVinnerMouth = texture {pigment{rgb <1,0,0>}}
#declare OBJuvPOV_Texture_OBJuvPOVpupil = texture {pigment{rgb 0} finish{phong 1}}
#declare OBJuvPOV_Texture_OBJuvPOViris = texture {pigment{rgb <.5,.5,1>} finish{phong 1}}
#declare OBJuvPOV_Texture_OBJuvPOVeyeBall = texture {pigment{rgb 1} finish{phong 1}}
#declare OBJuvPOV_Texture_OBJuvPOVnails = texture {pigment{rgb <1,.8,.6>} finish{phong 0.5}}
#declare OBJuvPOV_Texture_OBJuvPOVsouls = texture {pigment{rgb 0}}
#declare OBJuvPOV_Texture_OBJuvPOVshoe1 = texture {pigment{rgb 0} finish{phong 1}}
#declare OBJuvPOV_Texture_OBJuvPOVshoe2 = texture {pigment{rgb <.7,.6,.5>} finish{phong 1}}
#declare OBJuvPOV_Texture_OBJuvPOVlaces = texture {pigment{rgb 0}}
#declare ConvObject =
union
{
    #include "Poser1.inc"
}
object {ConvObject}

Next
You may notice that our guy now has blue hair. For some reason there isn't a separate texture for the hair, and it's sharing the texture with "shirt".
I believe this to be a bug in POSER 3 - it seems to be exporting an OBJ file with incorrect material mapping for the hair.

In the next section of the tutorial we will use UVmapper Classic to fix the material map.