Making 3D prints with OpenSCAD, Poser and Shapeways.

As you might know, I’ve played for years with Poser Pro now. And for about a year, I have created printed models through the services of Shapeways while also creating all kind of artwork with those Poser models and E-ON Vue. But more recently (well, less than a week ago) I started experimenting with OpenSCAD, which is an open-source CAD application where you just “program” a special script file and it will generate a 3D model for you based on that script.

So, to start I will show you how I created a special box for my electronic experiments, which is my Shapeways model. It is a rectangular box with five holes in the side for wires that lead to a small, round container. Not sure what I want to build inside it, but I just like the shape and it is a nice experiment to start with.

This is a box with two different lids. One round, one rectangular. The rectangular lid will also contain a small engraved text.

To start, I create a simple module to create the lid:

module BoxLid(width, height, depth, groove){
    union(){
        cube([width, height, depth/3]); 
        translate([groove, 0, depth*1/3])cube([width-2*groove, height-2*groove, depth*1/3]);
        translate([groove/2, 0, depth*2/3]) cube([width-groove, height-groove, depth*1/3]);
        translate([width*6/20, groove*1, -depth*1/3]) cube([width*8/20, groove/2, depth*1/3]);
        translate([width*7/20, groove*2, -depth*1/3]) cube([width*6/20, groove/2, depth*1/3]);
        translate([width*8/20, groove*3, -depth*1/3]) cube([width*4/20, groove/2, depth*1/3]);
    }
}

This set of cubes will create the lid that will slide in a special slot that we will add to the box. The first three cubes are of various sizes and create a groove to slide over. The lid will completely cover the side of the box.

The last cubes are used to put some relief on the lid to allow it to slide easier up and down. But I want to have it engraved with some text, so I create an engraving module:

module label(name, depth, fontSize){
    linear_extrude(height = depth) {
         text(name, size = fontSize, font = "Lucida Calligraphy", halign = "center", valign = "center", $fn = 50);
     };
}

And I need a second module for the lid including the engraved name:

module NamedBoxLid(width, height, depth, groove){
    difference(){
         BoxLid(width, height, groove, groove);
         translate([width/2, height/2, groove/2]) rotate([0, 180, 270]) label("Team Katje", groove, 8);
     }
}

Yeah, engraving is just that simple! Subtract the shape of the text from the shape of the lid. The most tricky part is actually trying to rotate it and making it fit. But it also tells us how we can create a box. We basically make a box and subtract the lid from it! I will also subtract 6 cylinders from a side for the holes to the round box on the side. And we will also subtract the inner space from the box so it has space:

module Box(width, height, depth, groove){
    difference(){
         cube([width, height, depth]);
         union(){
             translate([groove, groove, groove]) cube([width-2*groove, height-2*groove, depth-2*groove]);
             translate([width*1/5, groove*3/2, depth/2]) rotate([90, 0, 0]) cylinder(h=groove*2, r=groove*2, $fn=precision);
             translate([width*4/5, groove*3/2, depth/2]) rotate([90, 0, 0]) cylinder(h=groove*2, r=groove*2, $fn=precision);
             translate([width/2, groove*3/2, depth*1/5]) rotate([90, 0, 0]) cylinder(h=groove*2, r=groove*2, $fn=precision);
             translate([width/2, groove*3/2, depth*4/5]) rotate([90, 0, 0]) cylinder(h=groove*2, r=groove*2, $fn=precision);
             translate([width/2, groove*3/2, depth/2]) rotate([90, 0, 0]) cylinder(h=groove*2, r=groove*2, $fn=precision);
             BoxLid(width, height, groove, groove); 
         }
     }
}

Or actually, I combine the five holes, the box content and the lid together into a single shape and subtract the whole shape from the box. This way, I know the lid will fit perfectly on the box.

All I have to do now is create the second, cylindrical box on top of the holes. For this, I again start with creating a lid:

module CylinderLid(width, groove){
    union(){
         cylinder(h=groove, r=(width-groove*2)/2, $fn=precision);
        translate([0, 0, groove])
         difference(){
             cylinder(h=groove, r=(width-groove*2)/2-groove, $fn=precision);
             cylinder(h=groove, r=(width-groove*2)/2-groove*2, $fn=precision);
         }
     }
}

Again, a simple procedure of stacking two cylinders on top of each other. However, to make slightly more room, the smaller cylinder is hollowed by subtracting an even smaller cylinder. The result is a ridge to keep the lid in place.

And like the box, I will subtract the cylinder lid from a hollowed cylinder:

module CylinderBox(width, height, groove){
    difference(){
         cylinder(h=height, r=(width-groove*2)/2, $fn=precision);
         union(){
                 CylinderLid(width, groove);
                 translate([0, 0, groove]) cylinder(h=height-groove, r=(width-groove*2)/2-groove, $fn=precision);
         }
     }
}

Now I know that the cylinder plus lid will be exactly the proper height together. All I have to do now is put them all together:

width=40;
height=80;
depth=width;
groove=2;
cylinderhight=12;

Box(width, height, depth, groove);
translate([0, 0, depth+3]) NamedBoxLid(width, height, depth, groove);
translate([width/2, groove, depth/2]) rotate([90, 0, 0]) CylinderBox(width, cylinderhight, groove);
translate([width/2, height/2, depth+10]) rotate([180, 0, 0]) CylinderLid(width, groove);
translate([width/2, height/2, depth]) cylinder(h=10, r=1, $fn=precision);

I first specify the sizes for the box in millimeters. It will be 4x4x9.2 CM in size, which is large enough for a 9 volt battery plus holder, some wires and maybe some other stuff.

Next, I create the box at the standard location. Above the box, I put the lid, with some space in-between to keep them separate. The cylinder is put against the box itself around the holes but the lid for the cylinder is put on top of the lid for the box itself.

The last thing connects the box and the two lids to make it all a single part. On Shapeways, you have to pay extra if it is all separate parts so make sure you connect it all together with thin connectors that you can easily cut away with a sharp knife. And yes, I checked to make sure it doesn’t go through the line of text on the lid!

Now, what does it all look like? Well, just look at these images:
LidBoxCylinderLidBatteryBox

It is all quite easy to do, although it requires plenty of math to get things in the proper locations. I haven’t explained the math part and I won’t. I’m just showing what you can do with OpenSCAD and a few hours of free time.

The result is a .STL file that you can upload to Shapeways to have it printed. As an alternative option, you can also convert it to an .OBJ file format and import the box into Poser, and add a Poser model on top of the cylinder lid, just for fun.

Or you will add textures to the shape and use it in Poser/Vue to create some new image. It can be even more interesting if you can combine a 3D printed model together with a rendered image of the same model.

I still have a lot to learn about OpenSCAD but this tool allows you to specify exactly the shapes that you want for your 3D model and allows you to create modules that will allow you to do some complex things like separating a lid from a box.

Adventures in 3D.

I remember when Blender became first available for me. It was a 3D rendering engine and it looked fun, so I downloaded it, installed it and tried it. This was somewhere around 1999 and I still had a lot to learn back then. Still, I did not like the user interface of Blender (and still don’t) and I considered it too complex and not useful enough for myself so I soon forgot about it again. I still was interested in rendering 3D images, but I also wanted something simpler.

So, around 2004 I purchased a copy of Poser and it had the user-friendliness that I was looking for. I needed to collect all kinds of models, though. But by using models I could create some interesting images and could use my own CGI artwork instead of my own photographs for the software development that I like to do.

Being able to generate your own artwork for your applications is a better option than depend on stock material or purchasing/hiring others to make it for you. I don’t want to violate copyrights of others, but when you create websites, you need some graphical parts too and I needed to be my supplier of these images. Buttons were easy, since Paint Shop Pro and other 2D software had plenty of functionality to create them. But more complex things like showing a person behind a computer either required taking pictures or rendering a 3D model. Poser made the second option available to me.

When Second Life became hot, I also played a bit with that. Here is a 3D environment where you can build 3D objects simply by combining several basic shapes, or prims. (From primitives.) The game gave me a more comfortable feel around 3D environments and made me wanting even more.

And now its 2014. I have a piece of land in Second Life where I can build all kinds of things. I use the Firestorm viewer which allows me to exports my own objects from Second Life to use in other 3D software and from there I can continue to change them even further. Second Life also allows me to import back those objects I’ve exported and modified and allows me to import other objects from 3D software, although it does have a lot of problems with many of those models. Unfortunately, Second Life isn’t very clear when it reports errors and doesn’t seem to be able to simply fix some problems during import.

But in all this time, I’ve gotten a nice collection of 3D software which I will mention now, including where you can find it and what I think about it. All software I have are used on Windows systems.

Blender

Blender is a very popular product but I consider the user interface a bit complex. Too many buttons and options are polluting the screen and make it difficult to understand. To make things worse, it’s user interface behaves different from standard Windows user interfaces. Dialog boxes tend to appear anywhere, with plenty of different options instead of Yes/No or Ok/Cancel. Information is visible all over the screen so you have to look everywhere to find it. It’s just not intuitive, which is probably because this is an open-source collaboration between many developers who each left their own marks on the application.

Personally, I think the Blender user-interface needs a complete rewrite…

POV-Ray

POV-Ray is another 3D render engine and even older than Blender. POV-Ray uses scripts instead of a 3D graphical environment thus it’s not easy to use if you want to generate some 3D model. You just have to write each line in code for this software. Fortunately, there are plenty of 3D modelling applications that you can use to generate POV-Ray scripts. One of them is:

AC3D

AC3D is a commercial product that makes 3D modelling quite easy. Not as easy as Poser or Second Life, but it has plenty of good features. It’s user interface could use some sanitation, though. On my dual-monitor setup, some of the dialog boxes tend to pop up on the wrong monitor. But it’s very practical and supports several 3D image formats. For all others, you might want something that’s able to convert many different formats. Something like the Online 3D Model Converter or an application like:

AccuTrans 3D

AccuTrans 3D supports a few 3D image formats, allowing you to convert your models between different applications. This software also allows you to make some simple modifications to your models and I’ve used it to convert my Poser models to a format that Second Life understands. During this conversion, I also merge the parts of my models that all use the same texture, thus making the models simpler within Second Life. Of course, there’s an alternative that’s free:

MeshLab

MeshLab is open-source, but it has a clear user interface. It still has a few flaws, though. For example, it’s a bit slow compared to AccuTrans 3D. And it fails to correctly import some of my models correctly. It also fails to generate an export file that Second Life can read correctly, thus I need AccuTrans 3D to create those. (And even then Second Life tends to have problems importing them.)

Still, MeshLab is useful and allows you to make several changes to your models. But if you want to put models in proper poses, you will need:

Poser and Poser Pro

Poser is my favorite tool to create 3D models to use within my software. If I need a model of a person behind a computer, I can make it within 20 minutes with Poser. Just take a model of a person, add clothing models and a computer model, perhaps a desk and chair model and start rendering. It is very easy to use and it can import models created by other applications, although those will be less flexible than regular Poser models.

Another application that can be used with Poser models is:

DAZ Studio

DAZ Studio is free, thus making it very popular. It uses the same models as Poser does and DAZ also sells those models! Thus, DAZ has become very popular as supplier of Poser models.

But maybe it’s because I’m too used to Poser already, but I don’t like the user interface of DAZ Studio. To make it worse, I’ve tried to open some of my Poser models with DAZ Studio, only to discover that DAZ Studio did not accept many of the changes I’ve made to the models. Body parts were reset to their default shapes and it just did not look right.

Still, if you use Poser or DAZ Studio to render some new images, you’ll often want to have some interesting background too. Indoors settings aren’t much of a problem but outdoor images would need a more complex environment. One solution would be:

Bryce Pro

Bryce can make some great environments, although it seems to be missing some functionality. It also looks very small on my screen with a resolution of 1920×1200. While the results look very good, the user interface is less practical than the alternative:

E-on Vue

I use Vue a lot to render models that I’ve created with Poser. The reason for this is because Vue generates very good environments while Poser creates fine models. I could use Poser to render those models, but the lack of a good environment makes them look a bit boring.

Still, one problem with Vue is that it cannot export my generated environments for use in other software. Although Vue does have an export option, it also has many models that are not allowed to be exported. Thus you can create a nice sea, with boats and an island, and try to export it only to discover that you can export just one tiny rock from the whole scene. Vue is also quite expensive, compared to Bryce.

There is far more 3D software available, for all kinds of purposes. DAZ Studio also has Hexagon and Carrara:

Hexagon

Hexagon is just another tool to create models in 3D. I like to use it and have created a few things with it, but it tends to crash a lot. It’s not reliable enough for big projects because it can unexpectedly crash while you’re working on some project. While it is very user-friendly, the instability is just annoying.

Carrara

Carrara is similar to DAZ Studio and Poser, since it’s meant to put models in certain poses. But it combines this with landscape modelling, making it more useful. It has a simple interface, making it very practical to use. Less is more. Well, at least for user interfaces. Users tend to get lost in very busy interfaces.

Carrara can use Poser models and more. It can import templates I’ve created based on Poser models, although it doesn’t always succeed at importing Poser scenes. It can export to a format that Second Life should be able to read, but this too has some incompatibilities. Second Life is just too picky.

Second Life

It’s easy to forget but Second Life itself is also very capable of building 3D images. And it seems to be very user-friendly at this too, since it does so in an interactive way with the user. You have an avatar that can walk or fly around the object, which helps you to create models at a nice scale. It supports several primary shapes that can be used to build more complex items. It also allows great control over textures on your objects.

However, to build objects in Second Life, you need some land where you can build. This happens to be limited to certain areas, unless you yourself own some land. You also have to pay small amounts to upload images to the Second Life environment, making it costly in usage. So, there is an alternative:

OpenSimulator

The OpenSimulator is an alternative for Second Life. It’s open-source, thus free. But it can be used by the same viewers that are used for Second Life. It is a bit complex to set up your own simulations and OpenSimulator itself lacks a useful graphical interface. For this, you need a special viewer:

FireStorm

FireStorm happens to be a great viewer for both Second Life and OpenSimulator. While Second Life has its own viewer, FireStorm has some more advanced features and can be used for OpenSimulator. You can use it to build objects within Second Life or OpenSimulator and then export these for usage in other 3D software. Thus you could use Second Life to make a building or fortress and export it and use it in Poser with some models around it.

There are more viewers available for Second Life and OpenSimulator, but I would recommend to use Firestorm.

VastPark

One more simulator. Unlike Second Life, VastPark seems to focus more on businesses who want to make more interactive presentations. And what better to use for this than a virtual environment.

But like OpenSimulator, you can’t really use this without first generating the virtual environment. This takes time and some skills with 3D images. You need to create models and create textures for those models, else it’s just a lot of white on white…

VastPark could also be used to create complex animations by recording the actions within the virtual world. This would be useful for creating training material or support documentation of special events, like car accidents or office fires.

LightWave

I haven’t used LightWave but it looks quite nice. However, I use the LightWave file format as export format for Poser. I then convert those with AccuTrans 3D to the Collada file format, which Second Life can import. The only problem is that Poser models are extremely detailed because they are used to generate highly detailed images. Second Life can’t really handle that much details and often fails to import these models. I can use AccuTrans 3D to split the Poser model in several parts and import those parts one by one, which seems to have a better effect. However, the models that you will import this way in Second Life eat away a lot of your land usage, thus you need a large piece of land. Or your own simulation!

FreeCAD

FreeCAD is just another modelling tool. It has some good examples but it lacks some practical functions. However, missing functionality can be added through plug-ins. It is a good tool to combine with POV-Ray. It can do a lot based on the design mode that you’ve selected.

DeleD

DeleD is another modeller, which is more used for game development. It is useful for simpler objects, not Poser models. It works a bit like Second Life, where you select cubes, spheres and other primitives to build more complex objects.

Speaking of game development, there are also libraries for developers that can help them to create their own 3D software. For example:

Horde 3D

This is an open source 3D rendering engine, to be used in games and 3D applications. It has been created for speed, thus less practical if you want to generate highly detailed images. But in a game, you want animations, and you want them in real-time, running smoothly.

Ogre 3D

Ogre 3D is another 3D rendering engine, written in C++ and with wrappers for use with Python, C# and Java. It too is great to use with games and other interactive environments. It also supports Linux, iOS, Android, WinRT and the Mac OS X. Basically, it’s a library around the OpenGL specifications.

OpenGL

OpenGL isn’t really an application but today, it is part of almost every computer that has a graphics card. The Khronos Group is responsible for maintaining this standard, thus every graphics card can be used by the OpenGL protocol. (At least, if the manufacturer added the support for OpenGL.) Most 3D software relies on OpenGL to display its graphics, although there are plenty of games that use DirectX instead. However, DirectX is an API created by Microsoft to be used for Windows applications only. Thus, many developers are focusing more on OpenGL while Microsoft seems to try to push them back to DirectX.

Oculus VR

The greatest dream of 3D will be the Oculus Rift, a special piece of hardware that’s supposed to give you a 3D virtual environment. Basically, it’s made of two screens, each of them showing you a scene from a slightly different angle. Since each eye will only see one screen, your brain will see the virtual world in 3D. (Unless you’re a cyclops.) It will respond on the movements of your head and development for this device will ask a lot from future developers. The 3D worlds are arriving for consumers and companies. It’s still mostly eye-candy to have nice, 3D environments. Development for such 3D worlds is more complex than having a simple web page with text on it. It will need to conquer its place in this world.

However, there’s also development done on 3D televisions and monitors that would not require special glasses to view its content. If such a device would hit the market, then 3D development would become even more important…

So, developers… Prepare to go 3D!

Creating a nice CGI landscape.

I want a new background for my desktop system. But it’s a dual-monitor system with two monitors with 1920×1200 resolutions. This means that I have to make a very wide image. So I decided to make a wide landscape image. But I don’t want a bunch of trees, some mountains and water, but also some models inside the image, doing something. So I’ve decided to make it a hunting scene. On one side, Raevin with a dangerous gun who is hunting a Brontotherium on the other side. So I first need to create and pose them in Poser. And to make it easy, I just put them both in a single model. I can split them again once it’s imported in Vue. So, here are the models:

Main charactersOf course, I will make them look at one another in Vue. As I said, I will split it in Vue. Just needed to create a proper pose first.

The next step is starting Vue, set the image to 4800×1500 pixels which is the proper scale for my two monitors. I will have to re-size it later on to 3840×1200 to make it fit perfectly, but the larger resolution will also allow me to cut out part of the image as separate images. But size won’t be enough. I need to pick a proper atmosphere, the flow of the landscape, the trees and grass I want and of course I want to add water since that big monster would look nice with his body partially reflected. It also means adding some small splashes and ripples.

So, the atmosphere first. It should be sunny and a bit cloudy, but no real visible clouds. A nice sunset would look great. So I start with this:

Atmosphere

Next, I need to decide where I want the models and have decided to place Raevin on the left, so the prey is on the right. The sunlight from behind will make his shape a bit darker, thus more menacing. The same will be true for Raevin, but I will add a second light on Raevin so she becomes more clear in the image.

But before adding the models, I need to decide on the landscape. I want a few mountains in the background. I also want the animal standing in a lake, so I need water on the right side. But Raevin needs to be on dry land, preferably grassy. So, let’s add some terrain, grass and trees for in the distance.

Plains

It’s still far from perfect but it has a lot of potential  But you will also notice that I have water on the complete foreground, but I want to keep Raevin on dry ground. That makes it a bit complex, but it’s still easily solved. Also, I want to have the animal on top of some rock too, even though that rock would be submerged. It just adds more realism. So, I need to import both now, split them and make some adjustments while placing both on flat rocks. So, let’s first show Raevin in this environment.

Adding RaevinWell, I don’t really want Raevin to hunt this animal. She’s cautious but she has a different target. A lot of improvements are still needed, though. For example, I want some bushes in the image too. But first, that animal… And I have to remember to put a rock beneath his feed and to add splashes because he’s walking through water.

Adding Animal

This is promising to look very nice already. However, trees! I am going to add a third rock, place it behind Raevin and I will add trees to it, so she’s slightly hidden. No good hunter would be on open terrain where any possible prey or dangerous animal could see them…

However, I’ve noticed that the atmosphere seems to degrading with every new preview I render. It seems to be getting brighter and brighter. So I just load the atmosphere again before my next preview. And yes, this could be a bug in Vue, or maybe a problem with my graphics card. I will have to look into that one day. However, for now reloading the atmosphere works just fine, as shown in this preview:

Preview 1The next step is fine-tuning the complete image. Raevin needs to be a bit more shiny, and I don’t like the way her gun looks. So I need to fix her textures, or materials. But the problem is that this image is becoming a bit slow to use, so I will use a trick to speed things up. First, I will save this scene so it’s safe. Then it’s time for a new preview. (I will also add a second light just to highlight Raevin.)

Preview 2

And now it’s starting to look better already. The shiny cybernetic limbs of Raevin are a bit shiny in this preview, but I don’t mind. It adds an extra dimension to the image. It’s time to render this image at its full resolution and highest quality. Considering the amount of objects and reflections in this image, I guess it will take a few hours to finish. First I need to save it and then I’ll start rendering around noon. It will probably take most of the night to finish.

And indeed, the next morning I can see the result. Raevin is really having shining cybernetic limbs, which look very interesting. Not a good thing for a hunter, though. Unfortunately, she seems to be floating a bit above the grass so I might have to adjust that. Maybe I should also change the reflectiveness of her cybernetics. The extra rock with the trees is missing some grass, so I might want to add that too. And the mountains in the background you can see lots and lots of houses. It’s really a lot. It turns the setting away from prehistoric times, which is what I like about it. The brontotherium looks great, though. See for yourself!

Raevin and BrontotheriumUpdate

After considering the above image, I decided that a few details had to be changed. First of all, the background just didn’t look natural enough. The sun is shining very pretty but there are too many houses. Another problem is the shininess of the cybernetic arms and legs, that are too distracting. And there’s a bald spot on the ground where grass is supposed to be.

Rendering a final image is very time-consuming and I knew it would take about a day for the render to be complete. But since I wasn’t happy with the above image, I did render it again with some different details. The scene, lighting and models are still the same, except for the textures of the land and cybernetic limbs. This should be a much better result:

Raevin and BrontotheriumUpdate 2

I’m still not very happy with the final result. Raevin needs to be even lower and she should be aware of the beast that’s about to charge at her. So I turned her around a bit. I also changed some of the bushes in the foreground and added additional plants on the right so the “cameraman” would be hiding behind these.

This minor adjustment resulted in the following image, which is supposed to be the last version:

Raevin and Brontotherium II

 

Poser Pro 2012 versus Vue 10 Complete (Slightly NSFW because: nipples)

A long time ago, I’ve created an image in Poser of Victoria 4 together with a large, white dragon in a winter landscape. Back then, I liked the result but recently I decided to redo the render with Vue. And while I’ve tried to keep it as similar to the original one, there are a few differences that I added.

First of all, I changed the background. Poser works with backdrops and the result is clearly visible in the Poser image. You can see where the backdrop starts because it’s darker than the foreground. In Vue, I removed the backdrop and put some real plants in it. I also made sure the landscape behind it would be as white as possible so the illusion of snow continues.

I also changed the clothes a bit. When I created the Poser image, I did not have the option to turn clothes into rags.

The angle of the camera is also slightly different and because of the way the camera is set up, the clothes are exposing a bit much of the model’s skin. Oops! Yeah, suddenly her nipples are partially visible… I could Photoshop them away, though. I decided not to do that.

The lighting is different too. In Vue, the light is much brighter.

But an important difference is the transparency of the dragon’s wings! Because the image is lighter and because I’ve added “real plants” in the background, they’ve become much more transparent. It’s a neat effect, also demonstrating the fragility of dragon wings.

So, what do they look like, these images? Well, below on the left is the Poser image and on the right, the Vue image. Click on them to view the bigger versions. Originals are at 3000×4000 pixels but to save disk space, I’ve uploaded them at size 768×1024.

Skin colors in images

When you look at all kinds of pictures then you will notice that most models tend to have a light-colored skin. Which is a bit off since there are many dark-skinned women too who are modelling. And while discrimination might be a reason for this, I think there is a better reason, which I can best show by creating an image with one model and 5 different skin tones. And sure, I will keep it decent. The model will wear clothes and jewelry to highlight her a bit more.

The model I’ve used is Raevin and I kept her human ears and made her breast to the regular V4 shape. (In other words, zeroed it.) It’s a pretty shape and a slightly dark skin, so a nice balance between two extremes. I saved her with all clothes and then imported her five times to get five identical figures. Then I’ve started changing their skin colors.

The two on the right use a skin called “Raw Macy” and “Raw Macy 2”, which are a dark and very dark skin. The left-most is Lolo and to the right of her is Mylin, an oriental skin. The middle one is still Raevin. I’ve avoided adding a very light skin because that would upset the contrast even more. And I won’t render it too big in Poser since these five models together eat up a lot of memory. I do have 24 GB of RAM available, but when I see that it’s using 20 GB already, I just know it’s working very, very hard to process all those models! Fortunately, I use 64-bit versions of Poser and Vue, else I could never create images at those high resolutions.

And rendering this many models isn’t much slower than rendering a single model. At least, not as long as the rendering engine doesn’t have to use the swap disk to retrieve data. Lots of memory in your computer helps a lot!

Well, this is the result in Poser:

And the reason why dark-skinned models are less popular is suddenly visible. Even though all have exactly the same body shape, the one on the right is more like a silhouette with a dress than a real model. Raevin and Mylin are actually the ones that are the most visible.

I’ve also rendered the above image with Vue, which results in a much better image. But Vue also shows very clearly how darker women disappear and seem to be like shadows in art.

 

The girls on the left are still very good, with Mylin being the one who is the one who’se body and facial expressions are the clearest. Do keep in mind that they all use the same facial expressions!

The darkest Macy is shiny  which happens to be highlights in the skin. I could have removed those. But her facial expressions aren’t very visible, and those facial expressions are important in model photography and CGI art. The lighter Macy is better in facial expressions but still not very useful.

So, an important reason for dark-skinned women to be less popular has nothing to do with racism. Their facial expressions are harder to see in still images, no matter how pretty they look in real life.

Business is War – The image!

And here’s an update for my previous post! I expected this render to take a bit longer, especially since it started a bit later than I wanted. I had to make one more final fix, so I started rendering and watched some TV on my computer. My monitor also happens to be a TV screen so that makes it easier for me.  I started around 21:00 and now, at 22:25 the image is finished!

I did already notice a few flaws, though. But those are very minor, easily forgotten. Well, okay… Her hair is poking through her vest on her left shoulder. And her right shoe is a bit too low so it goes through the floor with its sole. And her belly piercing is slightly in front of her belly instead of sticking through her belly. One place where things must poke through other things and it just didn’t happen!

I like the fact that I took away the blouse. This way, her bikini top is better visible and you can notice that it also has a few tears. It makes her more attractive, while she’s still a bit intimidating and that’s needed, because something should balance out with her weapons! Also very pretty is her shadow, and even the hole in her pants that’s visible in her shadow so I’m glad I did make that last lighting adjustment.

Still, one other flaw I just realized. The scope on her gun isn’t supposed to be a laser-sight… Oops! 🙂

Business is War – creating CGI art.

This time, I want to show how I use Poser Pro 2012 and Vue 10 Complete to create the CGI art that I like to create. And don’t worry since I will keep it decent. The amount of time I’ve spent on this is about three hours, although most of the time is used by waiting for the rendering to finish. Time, which I could use to do other things, like playing Freecell or just to browse the Internet.

First, I have to choose a model. Since I have several pre-made models, I chose the one I like to call “Lisa Xanthe”, a redhead with a very nice shape. And since I’ve promised to keep this post decent, I’ve already given her some clothes that she will wear under the other clothes that I will add later.

Here you see the basic screen of Poser. On the left are dials that you use to set parameters for the model. On the right you see an overview of all the parts within the model. The white lines in the middle screens is actually a spotlight that’s used to add light to this scene. Without light, it would all be black.

On the dials on the left you can already see that I can adjust quite a lot of parameters on this model. Size and shape of her breasts, hips, arms and legs and whatever more. Basically, all I use for my work is a single model with a lot of different parameters. And yes, those parameters can make her appear younger, older, larger, obese and even pregnant, if you’d like.

I then decided to add clothes. I have a set of clothes called “Cuore di moda” and this makes her look a bit like a woman who likes to do business. Yet it’s also sexy enough to make her more like a gangster-girl or even gangster-boss. It’s very fashionable.

I combined it with a machine gun from a set called “Elay V4” which isn’t available on DAZ3D anymore. I will later also add a handgun to this all but for now I still have to think if she will hold the gun with one or two hands…

Her glasses are from Fawne V4 which is also a very sexy set of clothes, but I didn’t consider it the right clothes for the scene I want to create, which I’ve called “Business is War” in my mind, although the final image isn’t really clear about the ‘business’ part…

Anyways, the clothes look good, but I need this girl in true battle-mode with heavily-torn clothes! So the fun of tearing up her clothes begins! This is done with the Rag-erator for Poser.

If she wasn’t wearing that bikini top and bottom, you’d probably see some naughty parts now…

But before tearing it all up, I did change the textures on those clothes.

Next,I have to add some background-prop. I decided to use a crime lab without equipment to look a bit like a shopping center. 

I like this because of the glass windows and the doors in the background. And although I already place it in a way where you can see the back wall, this will not be the final angle at which I will render the final image.

But before I export it all to Vue, I first need to make Lisa pose in some way. I want to make it appear as if she’s firing that gun so I ended up with the following pose:

But after some considerations, I decide that I still don’t like some things within this pose so I adjusted her hair, added a laser light and made a minor alteration to her machine gun, resulting in the next image:

And that will be the complete scene that I will export to Vue. Just some minor checks to make sure nothing is poking through something it shouldn’t poke through and hoping everything is complete.

The imported pose isn’t in the right camera location but here, you can see the parts that make up Vue.

Vue provides four view-ports so you can see your model from different angles. Poser also provides such a view but I don’t like it much because you’ll also see less details so you have to move around a lot to check everything.

On the right you can see the layers and the location where I can alter the textures and materials I want to use. I will be using those options to e.g. change the glass, make the gun more shinier and to re-position certain things.

On the left, you can see buttons that I can use to add more objects to my scene. Well, I will be adding a large rock, three trees and a road somewhere behind the back door and I will add a few lights inside the room on the right and a few more close to the camera. The sun will be positioned behind the back door and will shine through the window in the back.

Considering the proper render settings is always a bit difficult. I chose ‘Ultra’ because my machine can handle this but for complex scenes the use of ‘Ultra’ will take many days to finish. I also chose an aspect ratio of 16:10 which matches my screen resolution of 1920×1200. Rendering the whole thing to screen will allow me to see it’s progress.

Once I’ve chosen my preferred settings it’s time for a quick render preview. 

I am reasonable happy with this result already but it’s far from perfect. Let’s look more closely to this preview:

The light is too hard and it reflects too much in the back door. Also, the sunlight is too dominant, obscuring everything behind the door! And I might want to alter some more materials… So to look more closely at details, I split things up over layers. And to hide the building, I move the building to the second layer! Now I can use my camera to look around Lisa to make sure she’s looking okay. Lowering the sun a bit and then I’m ready to look at the second layer.In the second layer I just examine the building, making sure the road in the back ends at the door and checking the lights.

Things are nearly finished now, although I still have to check if things are really okay. So, the first pre-render:

And I’m not happy with it. Her white shirt is too white and it just doesn’t look good. I could return to Poser and remove it but I can also do that in Vue itself. I just disable it!

Once disabled, I can render the image again, which results in the next pre-render:

Here, I’ve already lost two details in my image. The muzzle flash from her gun had already been removed for being too dominant in the image and now the shirt is gone too. Fortunately, she’s still wearing a bra so things stay decent enough to avoid the [NSFW] tag.

But there are too many shadows, so a new pre-render is required:

And I decide to make the laser light more dominant by adding a strong, red glow to it. And I will change the colors of the machine gun! So now we get the next pre-render:

Here, I’m still not happy with the lights and shadows. So I adjust them even more! There are actually a total of 8 lights in this image! Four are in the room on the right, which makes that window extremely white. There’s a sun far, far away in the background. And there are three lights around the camera, all of them emitting a special glowing gel-light. One orange, one blue and the last white/blue. The white light is the one that casts shadows, the other lights just add more color contrast.

That last image will be my final pre-render. It is now Wednesday  20:25 and I will start the real rendering step, rendering this image at a whopping 3840×2400, four times the resolution of my screen.

Why? Because I can!

Anyway, I don’t know when it will finish so I will start rendering and check once in a while to see how much has progressed. Once finished, I will post the final result.

Getting the eyes just right.[NSFW]

I love creating images using Poser and Vue. Poser is great to create a model based on existing models that’s imported in Vue. And Vue will add the additional landscape, larger objects, plants, water, cloud and lights. The final result can sometimes be very stunning. Unfortunately, there are always some small problems in each item because of flaws while posing the model in Poser. Or because the landscape in Vue overlaps the Poser model.

One flaw tends to be the eyes on models. Each model has two eyes and you need them to look in the same direction. And you’d prefer them to look in a specific direction. So, what’s my trick for this? How to get a model to point her eyes e.g. upwards, because she’s under water, on a huge hook and surrounded by fish? Or have three girls in the grass looking at the same point?

Well, it’s not too complex. I just add a simple primitive, often a ball, to my models. Just one. I also make it invisible so it won’t appear in the rendered result. Once done, I select the left eye of the model and using the “Objects/Point at” menu, I point the eye at the ball. I repeat this for the right eye and the eyes of the other models so all eyes are pointing in the same direction.

Next, I have to move the ball in the direction that I want all models to look at. This means moving it over the X- and Z-axis, preferably far away from the models, else they will become a bit cross-eyed. Then, move it up and down to point them upwards or downwards, and don’t be afraid to put it at -100 on the Y-axis to make them look a bit down.

When dealing with multiple models, like in my image below (which has nudity, thus it’s not suitable for work environments), you might have to do more adjustments. Often, this means that you have to twist and bend the necks and heads of the models while looking if their eyes are put in the correct locations. Since the eyes already point at the right direction, all you have to do is adjust the heads and neck.

A drawback is when you have to re-position the model because that often means re-positioning the ball too. This is something important when you create an animation because you would then have to move the ball to the locations that your model is supposed to look at. But it does make your animated models look more natural during animations. It allows them to quickly move their eyes and even though it’s a very minor detail in animations, it’s still a very simple trick to make their looks more natural. Because the most important part behind this trick is that the eyes are both pointed at exactly the same spot.

And well, as you can see, the eyes aren’t the first things that you’ll notice. Most will notice the nudity in the image, which just happens to be very casual and peaceful. Others will notice that one model, Aisha, happens to be a cyborg with nice, shining body parts. And people will notice the background, the trees, and probably several flaws too. But when you look at their eyes, they’re all looking at the same point, since they’re all pointing at a ball that’s behind the camera. This makes them look straight at the camera.