Step by step tutorial: Girl in grey dress (studio render)



  • Purpose
    Many threads in this forum deal with specific details or problems concerning Poser or the render post work. I in contrast would like to show my complete work process from the initial idea to the finished picture. I decided upon a simple motive but, as often, unexpected problems appeared that made this tutorial more interesting than I had initially thought.

    This tutorial is meant for all audiences. I used Poser Pro 11 with the SuperFly render engine and an old version of Photoshop; Gimp or other similar programs will also do the trick. A pressure sensitive graphics tablet is recommended for the post production steps.

    There are numerous ways to create an image. This tutorial only covers one single path. If you have better solutions for the steps, feel free to post them in this thread.

    The motive
    My goal for this tutorial was to reproduce a template photo as closely and as realistically as possible without spending days of work on it. For inspiration I scrolled around in Twitter and found the following picture appealing, which, for copyright reasons, I just provide a link to the place where I found it.

    The layout is nice and simple, there is no complicated background, the dress looks quite easy, the lady is pretty, so is her hair, and the pose is cute. How hard could it possibly be?

    The setup
    I usually make the basic adjustments on the default pose in frame 1 and put everything together in the final pose in frame 30. For the background I added a simple curved backdrop with a texture similar to the one in the photo.

    Tip: Cameras and lights are usually animated. That means that their positions are memorized in each key frame, in this case in frames 1 and 30. If you frequently switch between those two frames, the different positions can become very annoying. You can go to the frame where everything is set up properly, select the lights and cameras in question, go to the Properties panel and switch off Animating. The light/camera will the keep this very position regardless of the frame you are in.

    The character
    As I rummaged around in the collection of previously made characters, I came upon a Victoria 4 that came already very close to the lady on the photo. In fact, I did not change any of her facial features. Take whatever character you like and what you have the most suitable morphs for. As the image is quite closed, I use a subdivision level of 1 for her body. If you wonder why you can't change the value in the body properties: you have to check the menu entry Figure > Skinning Method > Poser Unimesh before you can subdivide a figure.
    0_1530386101287_Body.PNG
    I selected a face texture that comes close to the make-up in the photo, dark mascara and blue eye shadow.
    0_1530386125618_Face.PNG
    I also noticed that the iris size of my V4 was too large compared to the photo, so I scaled down this parameter in the Head settings.

    Then I applied EZSkin3 to the character, which is the key to a realistic skin texture. As skin material I selected Potato and 1.5 for scale. I sometimes use this instead of the usual Skin1 and 1.0 for scale, as it also yields interesting results. The skin should not reflect too much, so I used the parameters that you can see in the EZBlinn node in EZSkin3.
    0_1530386171197_Skin Material.PNG
    After applying EZSkin3, the lip colour was too bright, so I lowered the Value to 0.8 in the corresponding HSV node in the lip material.
    0_1530386210186_Lip colour.PNG
    Eye materials are always a matter of discussion. I let EZSkin3 do the job, but changed the material settings below for both Cornea and Eye Surface.
    0_1530386235771_Cornea Material.PNG
    To add a small detail to the character, I decided to put a diamond ring on her right hand.

    The dress
    What first looked like the easiest part actually became one of the hardest: finding the right dress. I finally found a body conforming black dress, but only with long sleeves or sleeveless.
    0_1530386366868_Dress default.PNG

    Simply making the shoulders and forearms invisible sometimes works, but here it left an ugly jagged border. So I decided to create a transparency mask to cut the sleeves at the right length.
    0_1530386394965_Dress shoulder invisible.PNG

    Unfortunately I could not find a template for the dress. I opened the CR2 file of the dress, which is displayed in the library, in a text editor and retrieved the location of the associated OBJ file. Then I dug out the old trusty UV Mapper tool, loaded the OBJ file and created a 2048 by 2048 pixels template bitmap from it.
    0_1530386326097_UVMapper.PNG

    I opened it in Photoshop, created a new layer, and painted the transparency areas, following the polygon lines to make sure that the ends properly meet in front and back of the sleeves. I saved the map as a JPG with maximum quality to avoid artifacts. I loaded the map in the dress material node for the transparency texture and it looked fine.

    UV map with transparent black and white areas to show the sleeves:
    0_1530386444018_Sleeves trans 1.PNG
    The final transparency map:
    0_1530386553207_Sleeves trans 2.PNG

    My character turned out to be a bit too curvy for the standard morphs of the conforming dress, parts of the breasts and the upper thighs were showing. There are many ways to solve this issue:

    1. Using adjustment dials of the clothing.
    2. Copy the morphs from the character to the clothing.
    3. Creating magnets on the clothing.
    4. Creating morphs on the clothing with the Morphing Tool.

    As I have made good experiences with the Morphing Tool lately, I decided to go for option 4.
    If you wonder what the Morphing Tool is anyway, you start it by clicking on the last icon of the Editing Tools menu that resembles a pointing hand. In the Morphing Tool menu I selected the Tighten Fit action and painted over the edges of the poke-through areas until the dress covered the skin completely. As this should be a tight dress, I also checked for areas where the dress was too loose - mainly at the glutes - and painted over these areas until they fit. Setting the Display Mode to Outline helps to see how tightly clothing fits to the body.
    0_1530386604057_Dress Morph 1.png

    Tip: On a symmetrical clothing item like this, you only need to apply the morph to one side. Then use the Mirror drop down menu to apply the same morph to the other half. You may have to apply small corrections, but the main work should be done already.

    0_1530386662186_Dress Morph 1a.png

    I noticed that the dress does not fit correctly in the middle area of the back of the skirt. The fabric is supposed to bend inward only a little, as the tension stretches it between the buttocks. The Pull and Smooth actions did the job. The same goes for the fabric between the breasts, but as this area is not visible in the final image, I didn't care.

    0_1530386704801_Dress Figure Morph.PNG

    Now that the dress fits perfectly, I needed the proper material. I could avoid texture maps and use procedural texture nodes instead, which makes it more easy to work on close-ups. I tried to simulate the grainy cotton colour with various noise nodes, but surprisingly it finally turned out that the BrickTexture node gave the best results, using the parameters shown here. For the bump map I chose a simple noise texture.

    0_1530386765097_LBD Material 03.PNG

    The hair
    I wouldn't have expected to spend as much time on the hair as I did on the dress. After much trial and error I finally found a hair that came at least close. I adjusted the parameters as good as possible, but it took three magnets to remotely achieve the desired shape.

    0_1530386810237_Hair Magnets.png

    For the material, I ran EZSkin3 with the BBHairShader on the hair materials, using the settings below to approximate the hair colour of the model.
    0_1530386870143_BB Hair Parameters.png

    I was not satisfied with the test render result. I tried a test render with the original material, but it turned out inferior, so I left it with the BBHairShader. This shader usually does a great job, so I assume that the hair geometry and/or its transparency maps are not sophisticated enough. I decided to deal with that later in post processing.

    The camera
    As we are dealing with a portrait orientation, I set the render dimensions to 900 by 1200. Check Display > Production Frame to show render area. I assumed that the photo had been taken with a 50 mm lens, so I set the Main Camera to this Focal value and positioned it slightly above Vicky (xOrbit = -10). I moved the camera to fit the character in the frame, but did not change the yOrbit. I would rotate the character instead, so that the backdrop is always facing the camera.

    The pose
    I switched to frame 30 for the final image. Browsing through the library, I found a pose that closely resembled the desired one.
    0_1530386922396_Pose 1.png

    All I had to do were small adjustments to, well, to almost any body part that is visible in the finale image. It is sometimes tedious work, but the result always shows how much effort you put into proper posing of each body part. Look at your own body to see how the parts work together. Do not use parameters that are available on your character, but not in real life, e.g. the forearm can twist and bend, but not go sideways; same goes for the shin. Use those "impossible" parameters only with very small values when you simply cannot achieve a position otherwise.

    Tip: Sometimes it happens that the arms are too short to touch another body part such as the legs or parts of the head with the hand. Switch on "Show Hidden Parameters" in the Properties sub menu that appears when you click on the small triangle at the upper right. Then select the forearm and increase the xScale parameter a little. I didn't need it here, though.

    Finalizing pose I realized that the focal length was not correct. I changed it to 75 mm which looked better.
    I always pose the face last. In this case, there was not much to do. Slight adjustment of the eyebrows, slightly open the mouth, raise the mouth corners and open the eyes some more.

    0_1530387022462_Pose.PNG

    Talking about the eyes: It is not easy to make the character look directly into the camera. Unfortunately you cannot trust the arrows of the direct manipulation tool. Neither does it properly work to simply let the eyes point to the camera. I adjust the Up-Down value first, as it is the same for both eyes. Then I slightly change the Side-Side value until it looks good in the preview. If you are not sure, rotate the camera a little bit to see in which direction the eyes really look. Ctrl+Z is your friend here to restore the camera position. If the character looks straight at you in the preview, it will also look good in the final render.

    The light
    Judging from the shadows in the photo, there seems to be only one main area light source, which also shows in the reflection of the eyes. You can also see in the eyes that the background of the studio is not completely dark.
    0_1530387806507_Eye Detail.PNG

    I created a single area light with 100% intensity, yScale=146%, xScale=100%, Scale=450%, and made it point to the character's abdomen. Then I moved it around on the Light Controls ball until the lighting seemed right. A few Raytrace Previews and slight corrections later the position was fine. To achieve some ambient lighting, I set the background material to a middle grey and checked "Cast_Light" to make sure its not only reflected but also emitting light. More Raytrace Previews, slight corrections of the grey value, and done.

    0_1530387096695_Light and Background.PNG

    The render
    0_1530387135426_Preview Final.PNG
    The preview still looks awful: The dress is black, although it's supposed to be light grey and the hair is a blob of brown with red sprinkles. I really hope that SM will fix the preview in the next release for Physical and Cycles render nodes. Hitting Refresh on the Raytrace Preview shows that we actually did a good job. Now it's time to harvest the fruits of our labour.

    0_1530387172636_Render Settings.PNG

    The render settings above are my default settings for high quality renders without caustics. I learned to love the Progressive Refinement mode for several reasons. You can see very early in the rendering process if things are going wrong. As the necessary Pixel Samples are heavily depending on the scene and the lights, you can let the render process run until the image looks good if you use progressive rendering. And finally: if I let the computer render over night, I can stop the process in the morning or let it continue over the day, depending on the quality. If I set the Pixel Samples to a lower value without Progressive Refinement and the render is ready in the middle of the night, I have wasted precious CPU time.

    The Max Bounces and Max Transparent Bounces are cranked up to 14 because there is transparent hair in the scene. I do NOT use my GPU because then Poser will crash when I cancel the render process, which is necessary in Progressive mode.

    I stopped the render after 15 samples because I was not satisfied with the dress and here is the result:

    0_1530387309904_Render1 - Conforming Dress.jpg

    All fair and good, but still not close enough to our template. And the dress looks too clean and wrinkle-free, especially around the shoulder. Maybe a dynamic cloth simulation will add some realism here?

    The cloth simulation
    I told you this wasn't as easy as I thought. But all the dress morphs were not in vane! To create the dynamic dress, we go back to frame 1 and export the dress as an OBJ file. Then we hide the original dress figure and import the OBJ as a prop and parent it to the character's chest. A little yTran adjustment and it fits perfectly. The great thing is, that we exported it with all the morphs applied, so it looks exactly the same as the conforming dress in the default pose. The dress is made of thin cotton, so I set the Subdivision Levels to 2 for Render, but let it on 0 for Preview. The cloth simulation uses the Render subdivisions.

    Enter the Cloth Room. The dress is clothified, no self-collision needed as it is body conforming. The dress collides with Vicky only and we can deactivate head, hands and feet, which will save us some simulation time. I took the Cotton cloth parameters from some ancient pictures from an abandoned Poser forum. I slightly adjusted them for a thin fabric to hopefully get some small folds and proper stretching behaviour.
    0_1530387465729_Dress Cloth Simulation.PNG

    In order to keep the dress from sliding down from the shoulders I created a constrained group along the neck and cleavage opening and on the shoulders.
    0_1530387489279_Dress Constrained Group.PNG

    For the cloth simulation it paid off that I used the default pose on frame 1 and the final pose on frame 30. This way the cloth can smoothly transition between the two poses.

    The result looks much better from the camera perspective than the conforming dress. The right arm and front of the dress are a mess, but fortunately they cannot be seen. The armpit is a bit untidy, but I fixed that with the Smoothing action of the Morphing Tool.
    0_1530387540430_Dress Cloth Morph.PNG

    Quickly apply the original material to the dress and the new render can begin.

    The post work
    A rendered image always needs post processing in a graphics editor if you want it more to be than a test render. The least thing you should do is some gamma or curve adjustment. But we are trying to get as close to the original here, so there is more work to be done.

    0_1530387612041_Render2 - Dynamic Dress.jpg

    When I compared the two renders, I realized that the upper part of the dress looked fine with the dynamic dress but around the buttocks the conforming dress looked much nicer. So I loaded both renders, put each in its own layer in one combined picture, and erased the top part from the conforming dress render.
    0_1530387635768_PP01 - Combine.PNG

    With the ground works done, I looked for details to be retouched. I always create a new layer for that, making it easier to erase changes.

    • The background had a disturbing vertical streak at the back of the character, which I erased with the heal brush and the clone stamp.
    • An unnatural bump at the breast needed erasing with the clone stamp.
    • Some cloth simulation folds at the neck needed erasing with the clone stamp.
    • The edges of the eyeballs were a little too red for my taste. I desaturated these areas with the sponge tool.
      0_1530387653255_PP02 - Retouching Details.jpg

    Using the burn tool I added fine dark lines where the seams are supposed to be at the neck and at the shoulder.

    The hair was still giving me a headache. I was wondering how much I could improve with post work here. Luckily I had our template photo to work from, so I knew my goal and where to apply shadows and highlights. I created a new layer for the hair and started with a big hair brush. With the darkest colour taken from the hair render, I applied brush strokes to the front strands and on the parting. I also added some volume to the back. With a smaller hair brush with only a few bristles I applied light streaks to the front and the side. I also added some dark single hair streaks to the edges which makes every hair look much more realistic. The hair layer finally looked like this:
    0_1530387706040_Hair Layer.PNG

    And the result was very satisfactory. Amazing, what difference a few brush strokes can make.
    0_1530387730692_PP03 - Hair.jpg

    The image looked a bit flat, but there was still grading to be done. I was satisfied with the colours, so I decided to just add a curve adjustment layer and make the blacks a bit darker.
    0_1530388350691_Curve Adjustment.PNG

    0_1530387742547_PP04 - Grading.jpg

    Almost there! Now all we need for the final touch is a nice vignette, like in the original photograph. I used a Photoshop plugin for that, but you can also create a blurred black oval frame for that purpose and add it as a top layer in multiply mode.

    The final image
    0_1530387758770_Final Image.jpg
    This is where I ended up after approximately eight hours of work from the selection of the photo to the final picture. What was supposed to be a quick and easy tutorial took some detours and became much longer than planned, but eventually arrived where I was headed for.

    Thank you for following me through such a vast amount of text. I hope I could provide some help for your upcoming projects.



  • @oldenburg
    Bravo!



  • @oldenburg Great Work!

    A couple of things:

    1. The default shaders that come with EZSkin 3 double/blur the skin texture. If you bring the camera in close you will see this. it makes the skin look soft and rubbery. I use @bopperthijs skin pluggins for EZskin3.
    2. EzSkin3's eyes are too reflective and the shaders make the eyewhites glow. I came up with my own shaders and a starter texture set that is free if you'd like to try them. http://www.sharecg.com/v/88803/browse/6/Texture/Ghostship-Eyes-REV2
    3. After running EZSkin3 (any of the pluggins) Make sure you check over the skin very closely to make sure the bump is at the right amount. Often the end result is too bumpy for real skin because you are getting the bump from a texture map. Don't ever use procedural bump texture as they will look fake like cheap car seat leather.
    4. bring your textures into your photo editor and paint out the dark circles in the nostrils and anything else that looks wrong. I usually have to make a new bump map for the character so that the eyebrows are higher than the skin (lighter in color on the map) Some vendors just invert the B&W map for the bump and this is wrong because all the valleys become hills and all the hills become valleys.
    5. Use a lip mask to soften the transition from the face zone to the lips. Make sure that the lip zone is bumpier than the face zone.
    6. The world is not gray. Use a skydome (I use @bagginsbill Envirosphere) and and image to give the figure something to reflect from eyes (even the skin is reflective a bit.) Even if you are doing a studio shot with a backdrop use the skydome and darken the light output so it just colors and fills in the shadows. The image does not have to be and HDRI or even spherical. Just experiment.
      0_1530395949475_V4 Face.jpg


  • @ghostship said in Step by step tutorial: Girl in grey dress (studio render):

    @oldenburg Great Work!

    A couple of things:

    1. The default shaders that come with EZSkin 3 double/blur the skin texture. If you bring the camera in close you will see this. it makes the skin look soft and rubbery. I use @bopperthijs skin pluggins for EZskin3.
    2. EzSkin3's eyes are too reflective and the shaders make the eyewhites glow. I came up with my own shaders and a starter texture set that is free if you'd like to try them. http://www.sharecg.com/v/88803/browse/6/Texture/Ghostship-Eyes-REV2
    3. After running EZSkin3 (any of the pluggins) Make sure you check over the skin very closely to make sure the bump is at the right amount. Often the end result is too bumpy for real skin because you are getting the bump from a texture map. Don't ever use procedural bump texture as they will look fake like cheap car seat leather.

    ghost, is there a link to boppers pluggins? I looked in his post history and found mentions to it but no links.

    Also, I've noticed the super reflective eyes using EZSkin and could never figure out how to fix that. It looks like your shaders are for V4 only so if I wanted to use them on Miki4 or Roxie what would I have to do?





  • @johndoe641 I demonstrated my shader on several other figures in this thread. https://forum.smithmicro.com/topic/2162/new-gen4-superfly-eye-shaders
    There is also a stand-alone version for PE at ShareCG.



  • @ghostship Thanks a lot for the constructive critcism!

    So I went back to the old rendering board and fired up EZSkin3 with the EZCycles plugin.

    Somehow my original charcter only had procedural bump and specular maps. I added the corresponding texture maps and ran EZCycles with the below parameters:

    0_1530982673169_EZCycles Skin.PNG

    I immediately remembered why I had issues with the Cycles skin. It's very hard to judge how a character looks when it's completely grey. You can't even see where it's looking at. I don't mind if that happens to hair, clothes or props, but with a character I personally find that pretty annoying. Is there any way around this?

    0_1530982856889_EZCycles Preview.PNG

    A close-up test render (without hair, to save lots of render time) showed that the lips were not bumpy enough. The bump of the skin and the SSS was fine.

    0_1530983013271_Render EZCycles Plugin.png

    So I changed the bump of the lip material from 1.0 to 2.0. The rest looked good, I was also quite satisfied with the eyes.

    0_1530983092606_EZCycles Lips.PNG

    I rendered the image with the original settings and applied the same post processing steps.

    0_1530983326942_Final Image EZCycles.jpg



  • @oldenburg Looking better!

    I think you have too much bump on the skin and the skin is too shiny. I also think that your lighting and skin textures are sabotaging the photo-realism.

    The skin textures are reminiscent of Fabiana's character textures. Don't get me wrong, Fabiana's characters are awesome and her skill with Photoshop is top but Photoshop painted textures don't look like real skin.

    The lighting needs some ambience from a skydome. Here is an example of skydome+two area lights (from my free light pack) and a simple white backdrop prop (+ decent photo-realistic textures from Addy)
    0_1531001364426_skin.jpg





  • @oldenburg as far as the white preview mode. I just live with it and check adjustments with super low-sample renders.



  • I think your second final render/ post work looks amazing. I could not pull off this sort of thing. But then, I've never really tried.



  • @ghostship I just found out that the preview looks okay when you switch the render settings to FireFly.
    You just mustn't forget to switch back to SuperFly for raytrace preview and rendering!