Posted on

Vampiro WIP II A Quick Tip on Fixing Erroneously Baked AO Maps

AO Maps Baking with Dark Islands

There is a particular problem with regards to baking AO maps that seems to come up quite regularly in my projects. This problem is not what I would consider to be a bug in Blender but more along the lines of a user error and as such is easily fixable. You might have encountered the same problem too, as a result here is an easy fix.

Problem: Geometry Appears Dark In Texture Mode

This issue first becomes evident when a texture is applied to a model. Sometimes the texture will appear to be darker in certain areas than would be expected.

darktextures

This can be seen before an Ambient Occlusion (AO) Map is baked out, however becomes even more prevalent when the AO map is finally baked.

darktextures02

In this example baking the AO map has resulted in extremely Dark and Black Islands in areas where little to no Occlusion has occurred.

Fix: Apply Transform

Closer inspection of the geometry reveals that one the axes of the Scale transform has been flipped, resulting in a negative Scale.

darktextures03NegScl

In this event the solution would be to select the geometry in the 3D viewport and go to

Object > Apply > Scale

The effect of Applying a Transform in this case is to retain the objects current Transform History (which ultimately results in the object’s Position, Orientation and Size as it is seen in the 3D viewport) and simultaneously to reset the numerical values representing these properties to their defaults.

Once this has been done, re-baking an AO map will result in a Render as expected.

darktextures04NegSclFix

Flattr this!

Posted on

Vampiro WIP I Sculpting Notes

Modelling and Sculpting

I’ve resumed work on the image I started last year and as I mentioned I would be posting more about the process. When I was making this post it occurred to me that a good place to start might be at the beginning!

cropsStartSculpt

The title of the image will be revealed later but for now I’m reserving myself to calling this the Vampiro WIP.

As Noted previously MakeHuman (which is currently in it’s RC cycle for Alpha 8) was used to model the Base Human Characters. The characters were then imported into Blender and posed.
As the requirements of each of the characters are different, modelling and sculpting techniques used to reach the final output differentiated substantially.

Vampiro

The male character required tight fitting clothes, and as much of his body is obscured (within the final shot), the decision to sculpt directly onto the MH Base Model was an easy one.

sculptontoChar

As Dynamic Sculpting mode is prone to causing additive geometry to delay realtime viewport re-draws, splitting the base model into separate components was the first step I took. The separations consisted of,

  • Head and Neck
  • Upper Torso
  • Hands
  • Lower Body incl Legs

A single component could be worked on at a time therefore keeping the other components hidden away on separate layers which would ultimately result in 3D viewport interactions remaining in realtime while sculpting. The significance of this becomes expounded when working on a scene that consists of 100’s of millions of polygons.

Damsel

The female character’s clothing requirements differentiated substantially, in that her needs targeted more loose fitting and semi-draping materials. Trying to create this effect by simply using the MH Base Mesh (as in the case of the Vampiro) would have resulted in an excess of self-intersecting geometry. As a result, the modelling of separate clothes were a pre-requisite for the sculpting that followed.

clothSim

However, to improve the quality of the model’s final output a Cloth Simulation would first be utilized to add to the natural folding and physical effects simulating the required properties of the material.

collissionclothsmall

A low poly decimated version of the female character was then created as the cloth’s first Collision Object. Additional Animated Low Poly Collision Objects would be required for the areas where the cloth interacted with other models including the male character and to some degree the female character too. The main purpose of the simulation is to create a believable, self-intersecting property naturally representative of that found in cloth, and visibly resulting in multiple folds within the simulated material.
Other properties of the cloth such as draping, positioning, stretching etc can then be recreated with modelling and sculpting.
The simulation was run over approximately 200 frames with several low poly collision objects that would animate areas of the cloth into desired rest positions, as depicted in the above image.

 

Flattr this!

Posted on

A New Image In The Making

Inspired by MakeHuman

VampiroWIP_LD

I couldn’t resist sharing this post with you of a WIP image from my latest project in Blender and MakeHuman. As you can see the image is not quite complete, but it’s progressed far enough to give you an indication of the final output.

Over the past few years I’ve made very modest contributions to the development of the MakeHuman Open Source Software Project. Although my roll in the team was quite minor, they have nonetheless imparted valuable lessons to me with regards to working together on a widely accepted software project that (in more ways than one) transcends continents and cultural boundaries through collaboration within a vastly diverse and intellectual, Open Source Community.
I was so inspired by the commitment and willingness to succeed of Manuel Bastioni (MakeHuman BDFL) and the Core MakeHuman Development Team to delivering a stable, user-friendly, feature rich application used to generate anatomically accurate Human 3D Models that I decided to use some of the models in my own projects.

The image you see above and the work I’ll continue to put into bringing this project to completion, resembles a small token of my appreciation to the MakeHuman Core Team and is dedicated most sincerely to them.

MHtitle02

Some Technical Info

What would a post in my 3D category be without some technical info?
The base human models were (of course) made with MakeHuman Alpha 7 (but using the latest Nightly Build is recommended by the MH developers) and the rest of the image is made with Blender 2.6x.
I’ve recently completed the digital sculpt, decimated the geometry to realtime models, layed-out the UV’s, baked Normal and Ambient Occlusion (AO) maps and am currently working on rendering, texturing and lighting. The GIMP will be used for additional post-processing and compositing, as the final output is a single frame.

Interested persons can follow the subsequent posts detailing what I have learned working on this project, and how I’ve managed to overcome common technical and aesthetic challenges using an Open Source toolkit. You can join my mailing list which will deliver each post directly to your Inbox, by using the Subscribe widget in the top right-hand corner of this page.

vampiroAniLD

Flattr this!

Posted on

An Illustrated Guide To Setting Up An Open Source Digital Audio Workstation

Using Linux for Professional Quality Digital Audio Creation, Gets Easier

ossdaw_blog

The Process of creating music and sound art on the Linux platform has been a sought after art-form for many years, due to it’s diverse and impressive customization options, modular workflow design and extensive list of free and proprietary tools. However, it seems ironic that it is exactly this vast feature-set that has contributed to it’s steep learning curve and overwhelmed newcomers attempting to make a concerted effort to transition.

How to Setup an Open Source Digital Audio Workstation” addresses these issues in the form of a Guide that is packed with quick and easy to follow steps for setting up a Linux-based Digital Audio Workstation, and simultaneously overcoming the technical difficulties that stifle countless newcomers to the platform.
The software and developers addressed in the guide are, of course, the heroes in the gigantic leaps that have been made in the last couple of years towards providing more user-friendly interfaces/experiences and bridging the gap between technical, aesthetic and artistic feature implementations for Digital Audio Content Creators.

The Guide is intentionally structured to be short and concise, by filtering overtly technical information unnecessary for many musicians and sound artists. This leaves you with a set-up that requires less fiddling with hardware and software, and more time to spend being creative.

Among the topics discussed in the guide are:

  • Hardware Connections: Sound Device Set-up, Line-level Inputs, Midi Devices
  • Realtime Effects Processing (eg External Guitars, Mic)
  • Re-routing Signals (and including them in the Final Mix)
  • Sending and Receiving Midi Data, with External Devices
  • Controlling 3rd Party Software Synthesizers with Midi
  • Linux’s unique Unified Transport Control System through the Jack Audio Connection Kit.

You can find out more in-depth instructions or just simply browse through the illustrations for a quick overview if you’re already familiar with a similar set-up on other platforms at How to Setup an Open Source Digital Audio Workstation.

Flattr this!

Posted on

A New Programming Course for Artists

An Introduction to Programming with Processing

coverImage01

Processing is a high level, Java-based, programming language and a great way for newcomers to learn the fundamental constructs of creating stand-alone, cross platform, software applications.

An Introduction to Programming with Processing” is an 18 Lesson Course that is tailored specifically for Artists with entry-level, tertiary education (or equivalent), do not have any prior programming knowledge and want an easy to follow guide that demonstrates the steps, with practical explanations of the theory, involved in developing logic-based software applications.

The Online and Downloadable versions of the Course consist of:

  • All 10 unique projects designed at www.lyndondaniels.com which are referenced in the Course Documentation and include the individual projects’ source code, images, assets and applications that are all freely available for re-use under respective Creative Commons licensing.
  • 3 Quizzes to evaluate how you are progressing throughout the course and compare your results with other learners.
  • A 200 page PDF packed with step-by-step examples, in-depth programming theory and practical programmatic implementations (also available in an online version).
  • Best of all, the entire course and all related content is free and available online or for download under Creative Commons licensing.

So if you’ve ever wondered where to get started with making your own mobile app, stand-alone game, dynamic website interface, program micro-controllers, create beautiful visualizations of code or just want a greater understanding of software development head on over to www.processing.lyndondaniels.com and get stuck in right away!

educator

Flattr this!

Posted on

Cow and Horse 3D Models and Textures

Realtime Ranchers 3D model Pack

ranchers

A free 3D model pack including Horse and Cow models are available for download from http://download.lyndondaniels.com/ranchers/

The pack includes both models in .blend and .obj format so you should be able to get the models into just about any 3D application! The geometry of each model is extremely light, with both models equating to a total poly count of approximately 10K (incl hair, teeth and accessories), which makes the digital characters perfect for realtime applications. The models also come with lossless, high resolution 2K Texture maps including:

  • Color Maps
  • Normal Maps
  • Ambient Occlusion Maps

And best of all, the models and textures are licensed under CC0, so you are free to use them in commercial, educational and any other project you can dream up without attributing the author, www.lyndondaniels.com!

For you folks out there that love animated gifs here’s a little gif depicting the steps taken to model and texture the horse.

horseSM

The process for creating both models is quite similar and methodical,

  • First the characters are modelled with edges, vertices and quadrangles that are added and pushed into position.
  • The modelled character is then given a multires modifier in order to prepare it for digital sculpting.
  • Once the digital sculpting is completed the higher level sculpt data is applied to the base level model (the original modelled character).
  • With the base character more closely representing the form of the highest sculpt level, a UV map is created using the base model.
  • The UV map is then tweaked to reduce stretching and improve texture space distribution.
  • With the UV map completed the high resolution sculpt data can then be baked into the realtime model’s associated texture channels in the form of Normal and Ambient Occlusion Maps.
  • The Color/Diffuse/Beauty Map is then created with reference photographic imagery, 3D painting, 2D painting and AO blending.

You can also download the horse from turbosquid and a texture-less version of the cow from blendswap or just head on over to http://download.lyndondaniels.com/ranchers to download the entire pack for free.

cow   horse

Flattr this!

Posted on

Stage Hands – Update

A Major Update for Stage Hands

The downloadable assets available from the Stage Hands site, just got a major upgrade!
www.download.lyndondaniels.com/stageHands

stageHands01_revampUPDATE

The Assets now include

also included in the downloadable assets are

  • All characters used in the image (the Announcer, Giant and batBird)
  • All high resolution texture maps and Cycles Material Node Networks.

Currently, no registration is required to access the files; so head on over to get your hassle-free copy at www.download.lyndondaniels.com/stageHands

With all the assets being freely available under creative commons zero (CC0) and coming with instructions, you should have no problems re-creating the image or making your own variants. Let us know what you come up with we’d love to see the projects you’re working on!

 

Flattr this!

Posted on

Stage Hands


stageHands03_title

“Stage Hands” is an image I’ve been working on for a few months, it started as an experiment using Blender’s new sculpting system and developed into a project consisting of several free downloadable assets, a 1200 * 1400 lossless image, several articles on the techniques used (posted on my blog) and a poem.
The assets include all the characters in the above image and are available for free under CC0 in .blend format, they can be accessed from the download section on my site.

Assets

assetsSH

Each asset consists of

  • a decimated realtime model
  • with unwrapped non-overlapping UV’s,
  • a high res sculpt file that can be targeted at render-time,
  • high res lossless texture maps
  • and a Cycles Material Node network.
  • There is also an FK pose rig included with one of the models.
  • get them at www.download.lyndondaniels.com/stageHands

As each asset is released under a CC0 (Creative Commons Zero) licence, you are free to download and reuse the content in any way you see fit. No attribution is necessary, but always welcome if you are willing :)

Blog Posts

pageEdges

Three in-depth blog posts explain the tools and techniques used in creating the main image using versions of Blender greater than 2.63.

Dynamically Additive Geometry for Sculpting in Blender: Provides an overview of Blender’s BMesh system and how this has contributed to making the new Dynamic Sculpting Mode possible.

Texturing a Dyntopo Character: This article covers the techniques I use for making a high res sculpted model workable in realtime. Topics such as decimation vs retopologizing are covered with reasons on why I choose one methodology over another in certain situations.

Creating a Bird and Rendering with Cycles: This post provides an overview (and a few tips) on working with hair and feathers in Cycles. A few notes on the bird’s FK pose rig are also included at the end of the post.

 

Flattr this!

Posted on

Creating a Bird and Rendering with Cycles

Creating a Scruffy Bird

fatBirdWithPlume2

FatBird is a scruffy, colorful and clumsy looking creature that’s part bird and part bat. The character is a work in progress and in this post I’ll discuss some of the key points regarding the creation process including modelling, sculpting, UV’s, posing, hair and feathers.

Modelling

As this character will only be used in a still image, the flow of edge loops making up the topology of the model is not too much of a concern. However, it does help to start with a model that resembles the final product (as close as possible) in order to avoid jumping into Edit Mode, which will be slow on dense geometry, and large scale adjustments to the character’s form with the Grab brush in Sculpt Mode as this can potentially result in self-intersecting geometry.

model

Sculpting

The main brushes used for sculpting were Clay (to add detail), Crease (to create hard edges) and Smooth ( to make the surface appear more organic). The sculpt was also mirrored on the X axis and Enable Dynamic was on for most of the sculpting session.

sculpt02

UV Layout

Once sculpting was finalized, the model was then duplicated and a Decimate modifier was applied to the duplicate. I then tested how much the model’s poly count could be reduced without compromising on the sculpt details. This can be achieved by,

  • Adjusting the Decimate Modifier’s settings then Applying the modifier.
  • Add a Multires modifier to the decimated model.
  • Then add a Shrink Wrap Modifier to the decimated model.
  • Target the high res sculpt model from the Shrink Wrap options in the Modifier panel.
  • Compare the results of the Decimated model, with Multires and Shrink Wrap to the High Res Sculpt model and repeat the process if necessary, with new settings on the Decimate modifier.

fatBirdAO (copy)

Once a satisfactory result has been achieved, collapse the Low Res model’s modifier stack (either by Applying or Deleting, in order to revert to the original Decimated model). At this stage Edges can then be Marked as Seams on the Low Res model and all subdivided higher levels of the model’s geometry will inherit the Low Res model’s UV Layout via the Multires or Subdivision Surface modifiers.
As most of the bird is covered in fur, adding too much texture detail would be lost in the final render. The most important aspect if this texture as a result is the color.

I subsequently took the baked AO map (above image) into MyPaint to add color, then into the GIMP for further enhancements and finally cloned out the texture’s seams in Blender. The resulting Texture Map follows…

fatBirdTM

Hair and Feathers

As the final scene that the FatBird is currently being made for will be rendered in Cycles, I decided to use Cycle’s new Strand Renderer to achieve the bird’s scruffy looking plumage and later augment this look with feathers rendered to planes.

clump

In the Particle Settings Panel, I first set the Clump factor to 1. This caused areas of hair throughout the surface of the model to group towards tips. The Shape setting was then used to thin the clumps’ tips even further.

roughness

The roughness settings are great for adding variation to the clumps, the above image shows an exaggerated Uniform setting of 7.220.

In order to control where the bird’s hair grows from and how long it is, two Vertex Groups were used. Vertex Groups can easily be created and edited by painting the mesh in Blender’s 3D viewport when in Weight Paint Mode. Once the Vertex Groups are saved they can then be associated with various hair properties in the Particle Settings Panel.

vertGroupNoHair3

I wanted to keep the feathers in a separate file as I do not intend on using any of the feather’s geometry but instead generating textures from renderings of the feathers.
The feathers consist of an emission object scaled on the Z axis with hair combed on the sides to look like a feather. They are then rendered with an alpha channel, the resulting Texture Map is finally mapped onto a plane in the main scene. This will significantly reduce processing overhead and render times. The feathers have not been added to the final render files yet.

FeatherColor

FK and Posing

As the pose rig generated from the Skin Modifier was not able to achieve the results I wanted, a new FK driven pose rig had to be added.

modifiers

It’s important to note the order of the modifiers in the FatBird’s modifier stack. In particular Shrink Wrap must precede the Armature and the Particle modifier must be at the end.

On a side note, when targeting High Res geometry during rendering, for example by means of a Shrink Wrap modifier. Consider saving the High Res Model in a separate file, then using Link (File Menu > Link) to add the High Res model back to the main scene so that it can be targeted by the Shrink Wrap Modifier. Using this method ensures that your main scene will remain lite and require less RAM.

Context

Finally here’s a sneak peak of the image I’m currently working on that the FatBird character will appear in. In this image we see him posed with fur, but no feathers yet :) If you want to read more about this image here’s an in-depth post on Texturing the character on the right.

opt004

Flattr this!

Posted on

Texturing A Dyntopo Character

Introduction

In this post I’ll be discussing two techniques I use for texturing models with dense geometry.
The first method should be quite familiar, as it makes use of a tried and tested process that has been widely implemented across 3D packages. It is also a popular method used when creating animated characters.
The second method is somewhat newer and relates specifically to static characters. I’ll be using Blender in this example but other software packages might have similar features, for achieving the desired result. The focus in this post is on the second method.
giantArmTM02CurtainAdd_500Samp03
The above picture is a work in progress depicting a character (on the right) that I will be using as an example.

Reducing a Dense Polycount

Regardless of what your final output may be, for example a still frame, an animation or a game character, we first need to consider how to reduce the excessive amount of geometry that is created while sculpting a character. This is necessary in order to keep your 3D application responsive enough when working with a model in the viewport.
Texturing a model requires realtime feedback particularly for cloning out seams and painting the texture.

Modelled and Subdivided

If you have created your sculpted model by subdividing with a multires modifier, then there is not much you need to consider with regards to polycount reduction as your character’s edge loops should already have been modelled in the appropriate positions. In this case reducing the model’s polycount is as easy as reducing the multires modifier’s subdivisions.

Dyntopo Tessellation

On the other hand, if your model has been sculpted with Dyntopo (see this post for a more in-depth explanation of Dyntopo Sculpting in Blender) and your model is intended for animation you will need to retopologize the model in order to reduce it’s polycount.
We will, however, be focusing on generating a model for a still image and as a result the model’s underlying topology is not as important, as the model will not need to deform for animation. As such, retopologizing a model can be used to achieve polycount reduction for static characters but it is not necessary, and the following method should be considered particularly when dealing with time constraints (such as deadlines).

The method I use in this case is to,

  • Duplicate the High Res model.
  • Decimate the duplicate and Apply the modifier.
  • UV Unwrap the decimated model.
  • Apply a Shrinkwrap Modifier to the realtime/decimated model targeting the original high poly model (some might choose to bake a Normal map instead, but this method can be less flexible. See here for comparisons).
  • Add a Multires Modifier that subdivides the realtime model at rendertime.
  • The realtime model can now be textured with multires which will subdivide the model respecting it’s UV layout.

Here’s a closer look at the texture map of the character we’re examining in this post, applied to the realtime model. This texture map is about 90% complete.

skinnyTM01_NormAndColor04

Pros

I’ve found this method to be quick and efficient,
it’s quick because the main part of model density reduction (i.e. polycount reduction) is automated by the decimate modifier.
The efficiency of this method rests in being able to easily control the model’s polycount and ultimately how much detail (LoD) you want to work with in the viewport by means of the Shrink Wrap and MultiRes modifiers.
Setup is Also a breeze once you’ve used the Shrinkwrap modifier a few times.

 

Cons

The main drawback to using this method is that the model’s UV’s need to be layed out on decimated geometry. As decimation does not respect edge-loop placement (naturally), creating seams on a decimated model can tend towards a less desirable UV layout particularly when compared to the above mentioned method of retopologising a model first. However, the results might not be as problematic as you (or I) would expect them to be.
In the image below the UV shell of a character’s head firstly depicts the “ideal” retopologized version compared to the decimated version. But as you can see both UV layouts yield results, for a baked AO map, that are acceptable for importing into a photo manipulation program.

headTopologizeVSdecimate

The main point worth noting here, is that if you plan on taking your model’s Texture Map into an image manipulation program such as the GIMP or Photoshop I’ve always considered it best practice to ensure that the model’s UV shells are layed out in a way that,

  • best represents what the model looks like. For example, when unwrapping a head the model’s UV shell (of the head) should look like a 2D representation of what that character’s 3D head would look like if pelted.

In the above image it is quite clear when looking at the images that we are looking at the UV shells for a character’s head. The location of the eyes, nose, mouth, forehead etc are also clearly visible and placed where you would expect them to be. Without these details being carried from the 3D application to the photo manipulation program, creating or modifying a characters Texture map can become very cumbersome when done externally.
These sort of results are not easy to achieve with automatic UV projections, and generally should be done manually.

Although the results of a decimated model’s UV layout are not as easy to predict as that of a retopologized model, the compensation is that polycount reduction can be achieved a lot faster which leaves you with more time to spend painting and or photo manipulating the model’s texture.

UVsComparedThe final point worth noting about a character with decimated geometry’s UV layout and that of a character with edge loops that are modelled in place, is that 0 to 1 Texture space can be used more efficiently in the latter.
For example, the above image compares two different character’s UV layouts, the left layout is from this character, the right is from our example character. Notice how much texture space is lost on the decimated model in order to keep the shells representative of their 3D counterparts.
That “negative” texture space (in my experience) is easier to fill when a character’s UV layout is derived from a model in a symmetrical pose.

Despite the obvious limitations of unwrapping a decimated models UV’s, it’s worth bearing in mind that this method can be used effectively for static characters and that the edge loop placement resulting from decimation can be controlled to some some degree, by sculpting creases into a character. In the image below, seams are placed at various locations (on this decimated model) such as where the torso joins the hips or the arms meet the shoulders, this effectively is used to create the UV shell for this characters shirt, but just as with UV unwrapping a character for animation, the majority of this character’s seams are out of sight.

checkerSkinny

Flattr this!