Wednesday 8 May 2013

Displaying 3D Polygon animations.

Displaying 3D Polygon animations

To display 3D Display 3D polygon animations you need a application, API (application programming interface) which actually displays the 3D animation. Some of these are Direct3D and OpenGL. These programs create the shape that will then be displayed on the screen.

The graphics pipeline requires a three dimensional object to be shown on a two dimensional screen, to do this it gathered information on the vertices or the main control points of the 3D object and crops the 3D model so it only displays what can actually be seen. For example if we have a model of something like a shoe or a television and we are looking at the object from a side angle, the application programing interface will give only the information concerning the side visible of the object and it will then cut out the parts that should not be visible. There are different bits of information provided by the vertex which include its position on the x-y-z coordinates , the texture, reflectivity and the red green blue (RGB) values. The general primitives within a 3D model or 3D graphic are lines and triangles that create the shape and illusion of depth. However there are a few steps that the program does before simply creating and displaying the 3D model or graphic. These are; modelling, lighting, viewing, projction, scan conversion, texturing, shading, viewport transformation and finally the display

Each of these stages has a very important job to create the image that is displayed.

First of all modelling, this stage is where the whole scene is generated using the vertices, edges and faces.

Next the lighting stage, this stage is where the surfaces in the scene are lit accordingly to the position and location of the light sources in the scene.

Then there is the viewing stage, this is where the virtual camera is placed and based on the position of the camera the 3D environment is then transformed into a 3D co-ordinate system.

After the viewing stage there is the projection stage. This stage is where the 3D illusion is created using perspective projection meaning that the more distant objects appear smaller.


The fifth stage is clipping. Clipping is where the objects that are putside of the view will not be generated, this is not needed but helps improve overall performance of rendering.

Once the clipping stage is done the stage after this is viewport transformation. In this stage the co-ordinates are given to the post clip vertices. These co-ordinates will relate to the next stage which is called scan conversion.

In the scan conversion stage, rasterisatiom is used to determine the end pixel values.

When the scan conversion stage is done the individual pixels are given colours depending on their values fiven from the rasterised vertices or from images created to be applied to the specific areas. This stage is the texturing and shading stage.

Then the final stage is the display where the final image of the scene with all the coloured pixels is shown on a 2D screen.

Now once the model is finished a final render will be made which will place all the information together and give the best quality image. The four main ways in which these completed models and environments can be rendered are; Ray casting, Ray tracing, Radiosity and Rasterisation.

Rasterisation - this is where it takes the shapes and information from the scene and creates a raster image (image using pixels) which will then be dispalyed on a TV etc or it can be saved as an image file.

Ray-Casting - this besically sends rays to each pixel and collects information from it such as RGB value and opacity value. From this information it projects an image of the scene which is based upon the perspective of the scene using little effects. This is basically a lower quality of Ray-tracing but however due to this lower quality is it more effcient and less intensive on hardware meaning it is much better for interactive purposes such as video games or 3D animated tours.

Ray-Tracing -This method of rendering is a much more intensive version of the Ray-Casting method. This is because not only does it collect information for pixels but it also replicated lighting, shadows and refractions. Due to this being so intensive it will be a slower process to render meaning it isnt as effcient as Ray-Casting when needed for interactive applications.

Radiosity - This is used with other rendering techniques and this simulates more realistic lighting as it calculates the passing of the light through a scene and reacts how lighting would for example, it will illuminate an environment with more realistic shadows and lighting levels.



 Now talking about lighting there are 4 different types of light that affects the models and environments. These are; ambient light, diffuse light and speculare light.

First of all, the base colour of the model is often the dull colour meaning that it is quite plane colour on its own and so we can add the other types of lighting to an object.

The next lighting is the diffuse lighting and this again is a darker coloyr usually and adds the general texture to the object.

Then finally we have the specualar light which gives us reflectiveness whether it be high or lower. Textures can also be applied to models and these are basically an image that gets wrapped around the model. Textures can be extremely realistic when you take into account how the texture should behave. eg any transparency or reflectivity, how rough or smooth the object should be. These can all be modified by creating different layers of the texture. For example, first we could put a basic diffuse bitmap on the model (this is basically the texture) but then we can make this look 3D by adding a bump map layer (for example makes a image of a brick wall look more 3D in the sense of the rough textures look clearer and more realistic. We could then also put a specular map on the image its opacity and so on.




Another technique used to make interactive appications that are using all these methods are more effcient is fodding. This method basically has a distance fog on it so that from the camera the polygons in the distance were not as high quality and hazed out unlike the textures closer to the camera, this would then display the polys as the camera got closer.

This method is definately more effienct on hardware and processing speed of the environment and the polygons in the scene.

Shading is another technique that is used to help processing speed etc and there are three main methods of shading this basically generates one colour for each of the polygons in view for example if you have a sphere made up of squared polygons it will look more like a disco ball than a sphere meaning that it looks very unrealistic, however it is quick at processing.

The second method of shading, this is similar to flat shading but rather than it calculating a colour for each poly it creates one for each of the veracities meaning there are a lot cleaner shading however this can actually miss some effects such as specific lighting. This method is particularly fast but as i just said it can still miss effects leading to slight unrealism or not the highest quality.

The final method is phong shading, this is a might more precise approach to that works out vector normals to every vertex which if we use the sphere example again it is more accurate at creating the realistic curve of the sphere. However this means that it has more calculations meaning slower processing speeds when rendering.

The fimnal method of increasing effiency is the level of detail in the models, for example close to the camera a model of a human can be extremely detailed with facial features etc.. hoever move the human model a specific distance and we can change its model to be less detailed but keep some of the main features then if we move the model even further away from the camera we could change the mdoel again so it is a basic outline of a human with slight depth cues


Friday 8 March 2013

3D Constraints



     3D Constraints.
    Even though 3D development software is amazing to use and has given everyone new experiences the limitations still need to be taken into account. 3D software has been ground breaking and a major advantage to many industries as 3D modelling is used in most things now such as film, architecture, animation, gaming, toy bulding and much more. There are also many disadvantages that come with the advantages.

    The first problem that I would like to stress is that even thought the software is fun to use and can create many advantages for people in many businesses, the software that is available is very expensive. Therefore this means not many people can buy this as most software is a ridiculous price for example it can be around £3000 for 3DS Max alone. 
    This is a very expensive thing to buy, not many will be able to afford this. Meaning that it may be only major businesses and companys making films etc that can use this, whereas a normal working person will not be able to afford £3000 for one program. 


    All though Autodesk offer supporting packages such as the support for students that it is free for two years. This is one of the disadvantages of 3D software. You can also get free trials for around 30 days but this will just be a taster to see what the program is like. However there are also free programs that you can download such as Daz 3D but these will not give you the same effect and experience as the more expensive programs.
    The final limitation is that the user is restricted to what the program can do, meaning that the user's creativity is then restricted.

    One of the biggest disadvantages of  3D software is that the rendering time plays a huge part in delaying the production of any 3D production. For major productions such as the work of Pixar who use 3D software they use rendering farms. These and huge warehouses filled with servers and extra support to help render their scenes. It took Pixar 3 years to render Finding Nemo. This then costs companies a lot of their budget as it costs in energy bills but also if the scene is not to the animators expectations then it must be re-done and that is then a waste of months. Also a person who is wanting to render something thereself as big will not have the facilities or equipment to do this therefore taking even longer to render.

    Another major problem is how time consuming it can be to create a good high quality model as it takes a while to get used to all the different tools and settings as there is so many, therefore you need good knowledge about the program. This is why when learning about how to use a new software it will take a while to get used to and get your head around everything. However there are many tutorials available and forums to help you.

    The final limitation of development software is that certain PC specs are needed to be able to use the application. This means spending a lot more money on more materials in order to work the apps. 

3D Development Software

Review the existing 3D development software: software, eg 3D Studio Max, Maya, Lightwave, AutoCAD, Cinema 4D, Mudbox, Zbrush, Softimage|XSI. Also explain the  file formats associated with each application, eg 3ds, .mb, .lwo, .C4d, .dxf, .obj;

3DS Max
3DS Max is a popular 3D program used to develop video games, animation etc. Some companies use 3DS Max in film and television therefore the use of 3DS Max being wide. It provides a workable modeling, animation and rendering solutions.
Max was the first program to get plug-ins to render 3D scenes directly into Flash animations. There are even several add-on rendering systems that give Max more powerful raytracing and global illumination capabilities, although the cost of adding high-end rendering capabilities to Max can make it as expensive as a more powerful animation package such as SoftimageXSI. 

MayaMaya is used in the TV industry for shows like Lost, motion films like Avatar, Rise of the Planet of the Apes and in the gaming industry for games like Medal of Honor and Resistance. Autodesk Maya is a 3D animation and modeling software that is used for effects, rendering  and much more. Using this software can help you create and edit 3D models in various formats. You can animate your models as there is many animation tools. At the end of a 3D model you can also render what you have created as well as rendering a scene to go with it, this is used to create a more realistic look. Maya is a software for 3D digital animation and visual effects.

Lightwave
This software is a very popular choice that is used for mostly television and video production. It is also popular as it is an easy software. However the down side is that the modeling lacks associativity, which makes some types of revisions much slower and does not allow many undo steps, which can result in poorer quality work and may take longer to do. It does perform well, is simple to learn, and experienced users can get high-quality work done with it. Also the animation still has a lot of catching up to do with Maya or Softimage. Lightwave's renderer is a well regarded raytracer, which also includes Image Based Lighting and global illumination support. Lightwave's renderer has been used for many commercials and TV programs. Very few of the leading film studios use Lightwave, but it is often used by smaller companies contributing opening title sequences, monitor screen graphics, and other smaller parts of a film's CGI. 

AutoCADAutoCAD is a software application for computer-aided design (CAD) and drafting. The software supports both 2D and 3Dformats. The software is developed and sold by Autodesk. The first release of CAD only used primitive entities, these are things such as: polygons, cirlces, lines, arcs and text. This was used to construct complex objects. However the modern version of the software includes a full set of tools for solid modeling which is easy to use and 3D in which the software’s steep price tag and learning curve is likely to intimidate beginnersAutoCAD LT is the light CAD design software which offers computer 2D drafting and detailing.

Cinema 4D
Cinema 4D  is the latest release 3D motion graphics, visual effects, painting, and rendering software application from MAXON. It is the most popular software among professional 3D animators and motion graphics artists. It has been used for films such as 2012, Iron Man 2, District 9, and Cloudy with a Chance of Meatballs. It has also been used in the MTV Music Awards as well as in many other areas such as architectural modeling, graphic design, science, and engineering.

Mudbox
Autodesk Mudbox is digital sculpting and digital painting software for artists, modellers and texture artists in games, film, television and design. Autodesk mudbox is an all around sculptor or modeler. This means its main purpose is to create monsters, characters, creatures, ect. And use a process called 'painting' to give them colour. It was first used to produce the 2005 Peter Jackson remake of King Kong. With a very simplified interface. Mudbox's primary application is high-resolution digital sculpting, texture painting, and displacement.

Its best feature is the interface however as the software has developed the interface has been slow. 

Features that Mudbox has:

1. Movable 
cameras that can be bookmarked.
2. Models created within the program typically start as a simple polygon mesh that can be manipulated with a variety of different tools.
3. A model can be 
subdivided to increase its resolution and the number of polygons available to sculpt with.
4. 3D 
layers allow the user to store different detail passes, blending them with multiplier sliders and layer masks. Using layers the user is able to sculpt and mould their 3D model without making permanent changes.

ZBrush
ZBrush is a digital sculpting tool that combines 3D/2.5D modeling, texturing and painting This software offers tools and new features such as GoZ, ShadowBox, Spotlight, PolyPainting Layers, Timeline, and ZSketch. These new tools are useful for sculpting 3D modelers such as gaming, animation, toy design etc. Zbrush is a virtual sculpting tool. Artists use it to create very detailed sculpted organic objects, like character heads.

File Formats3ds Max General file (.3ds)3ds Max Character (.chr)Skin Envelopes (.env, .envASCII)UVW coordinates (.uvw)Blender (.blend)Cinema 4D (.c4d)Lightwave Object (.lwo)Lightwave Scene (.lws)Luxology Modo (software) file (.lxo)Autodesk Maya ASCII File (.ma)Autodesk Maya Binary File (.mb)AutoCAD general file (.dxf)Organized machine code file (.obj)Material Library (.mat)