HA7 Task 6 – Constraints

Some of the most popular constraints in the games industry are:
File size and Polygon count
Rendering time

Video below explains the constraints simply,



File size and Polygon count

File size and polygon counts are 2 of the main constrains in games design, these factors determines if the the game you have created can be run on the system you are aiming for.

Polygon count

Simply speaking, a polygon is a 2D shape in terms of 3D modelling the Polygons are individual shapes that are put together in order to create a model. Polygons will be used no matter how complex or simple the 3D object is, it is the simplest form of a 3D model similar to an atom. Polygons will always be used to create a 3D object. The Polygon Count is the total number of polygons that is shown in the model or scene that has used a 3D application to create. The polygon count is much more important than it may seem, To run a game with a high polygon count will require a system that requires more power. For an example a PlayStation 3 wouldn't be able to run some of the new games released for play station 4 with the same graphics settings, because the play station 3 does not have the required power to process more polygons, or simply not as powerful as the play station 4.

When making of a model or scene using a 3D application, the computer processor would need to calculate the position of each vertex and polygon that makes up whatever has been created on the application.So when the number of the polygons increase, This is what will require the processing power, in order to render all the polygons.

File size

File size can be a very important factor to consider when it comes to video games when working with hardware with limited storage capacity. In the case of  running a game with a big file size in hardware with lower storage capacity the developers will have to compress the file size. which has been the case with the majority of new games. But compressing the games tend to use more CPU when the game running because everything in the game will have to be uncompressed before being used which uses CPU. Even witch file compression some games tend to take up a lot of space depending on how much contents is on the game, some of the new games like GTA V takes up to 60GB. This is why games run better and look better on PC than on consoles. Th newer the games get the older the hardware of consoles get because of them not having the ability to upgrade hardware, so developers of the consoles has to work  with the hardware that they have got rather than trying to make something the best they could. When looking at PC, developers can make the best they can with little to no constraints because the PC is up gradable and they can add settings to lower the detail and other factors so that people with lower end computers can run them. So constraints like file size holds back developers from making the games for the best of their ability.



Rendering time

In 3D modelling, rendering is adding color, lamination and shading to a 2D and 3D wireframe to create lifelike images on a screen. There are 2 types of rendering, real time rendering and pre-rendering.rendering. Pre-rendering is images that has already been rendered, this rendering method is done for movies and cut scenes of games.Real time rendering is done in games, his rendering method renders objects on the spot. This kind of rendering is heavily graphically intensive so it requires more power than a pre-rendered movie.Constraints like Rendering purely falls on the hardware that the developer is working with, in games most of the load of rendering falls on the Graphics card (GPU). So the graphical detail and the amount of objects is limited according to the hardware the developer has to work with. The rendering time in a game determines how many frames the second a the game can handle, the more detail and polygons it will be hardware heavy to render which is reduce the number of frames in the game for the consumers who are playing on systems with lower end hardware.






HA7 Task 5 - 3D Development Software

Auto CAD

Auto CAD is a software commonly used by architects to design houses, building, motor vehicles etc. This software is made by auto-desk which is the same creators of 3D Max so it packs a lot of features that that helps architects to a lot with it's features.

(http://images.macworld.com/images/article/2011/06/autocad-screenshotlarge-240760.jpg)
(http://computerupdate.org/wp-content/uploads/2015/01/autocad-logo.jpg)



3D Studiomax

3D studiomax is multi purpose 3D application that is considered the mother of all 3D applications. It has all the features to do anything with it, uses from it ranges from architecture, movies to gaming. Some of the most famous animated movies such as 2012, iron man, and avatar used 3D max for special effects and other 3D obejects.. Designed by auto-desk this software packs a lot of punch when it comes to features and it allows all types of modelling techniques from extrusion modeling to sketch modelling. The video below shows an animation made using 3D studio max.




(https://dolpeer.files.wordpress.com/2010/01/maxscreen2.gif)

MAYA

Maya is also another 3D software made by auto desk mainly used for character creation. This software is purely used for movies and games production. Many AAA titles such as the witcher series has used maya as there 3D software for custscenes and such. Artists have created breathtaking visuals using this 3D software which only proves that how great it is and shows its power. The video shown below is a cut scene from The Witcher series created using MAYA


HA7 Task 4 - Mesh Construction

3D Modelling

3D modelling is done by artists who work on virtual 3D objects. In a games studio working environment. Film maker, designers architects etc uses 3D modelling to create animations, games, virtual models etc. There are many different methods o modelling 3D object each one of these methods has its own advantages and disadvantages. Some artists prefer one over the other because of certain properties they might like.

Polygonal modelling

A polygonal mesh is a combination of edges, faces and surfaces that combine to create a 3 dimensional object. Polygonal modelling is usually done by manipulating a simple primitive object using the tools from the 3D application that you are using to make a more complicated objects that consists of polygons and edges.  Polygonal modeling is mostly used for scanline rendering and is a modeling method used for real time rendering (Rendering method used for video games). Polygonal modelling consists of using options such as subdivide and extrude to create more surfaces for 3D model from surfaces that already exist. This is also very similar to box modelling because that also consists of manipulating a 3D object to create a complicated object.


(http://www.webreference.com/3d/cararra/images/fig1_11.jpg)

I have personally used polygon modelling for my final major project. I used a 3D software called blender to create an axe from polygon modelling. To create this I simply used a backdrop image of an axe to guide me through the space of it and I just copied and moved different polygons and points to create new surfaces and manipulate the models. I used the same technique for a number of more models within the project..







Primitive Modelling

Primitive modelling is one of the most common ways on 3D modelling. This consists of combining simple primitives such as cubes, pyramids, cylinder, spheres etc. to create more complicated 3D objects. Primitive modelling is the most basic and in most cases easiest technique used by beginners, but in the right hands this technique could be used very effectively to create highly detailed models. Many 3D artists combine primitive modelling with other techniques to make 3D models since it can be very effective. Primitive modelling is less likely to be used for real time rendering applications such as video games because it can be very heavy on the hardware when rendered, This is because of its high polygon count because of the multiple geometry used in one model. So in that sense this type of modelling isn't the most effective. Because of this primitive modelling is mostly used in CAD Systems for architecture based projects since it uses no real time rendering.

The video below demonstrates primitive modelling can be used. Its set in a CAD system because of the real time rendering issue I stated earlier.


I have also used primitive modeling to make a camera using different shaped like cubes and cylinder and put them together to make it. This was a very basic model of me trying out a new software I also use the same technique mixed with other types of modelling on my final major project. I also used this same method of modeling mixed with some of the other techniques to create a final robot model for the assignment which is also shown below.





Box Modelling

Box modelling is also a very common way of producing 3d models. This is done simply by manipulating a box to create models with more polygons. I have previously done this type of modelling and I have produced a hammer from just starting with a box. The process uses a number of repetitive steps to reach the final product, which can lead to a more efficient and more controlled modelling process. Box modelling uses  tools such as extrude, bevel and scale to create more surfaced from a surface that already exists to create a new model or manipulate an existing 3D model. This is a very efficient and fast way of modelling simple models and sometimes complicated ones. Box modelling gives the artist alot of space for creativity because of every node and surface being editable and can be used to create something new.

The video  below demonstrates box modelling in a more complicated scale. The artist uses settings such as subdivisions, extrusion, bevel and move tools to manipulate and create new surfaced to make the head.

I also have first hand experience in using box modelling to create models of different complexities, In my opinion this is the easiest method of modelling I have tried yet because of it's simplicity and the room I have for creativity. I have used this method of modelling to create simple model shown first (Tardis) which took very little time because of its simplicity and the method used.


Shown below is the hammer I made using box modelling which took a longer time because of it's complexity and the number of surface I had to work with.



I've also made more models using box modelling for my final major project and other project before that which are shown below. These models took a longer time the previous ones because I mixed different methods of 3D modelling to make this to make them more simple. For an example the bed I've shown below uses primitive modelling as well as box modelling with slight polygonal modelling.





Extrusion modelling

Extrusion modelling is done by using a 2D object to make a surface and then extruding that surface in a 3 dimensional space to produce a 3D object. This way is most useful when using a reference to to make a 3D Object. In some software like CAD this is the main way to produce 3D models. Drawing a 2D outline of the object you want to make and then use the extrusion tool to make it 3D, then the user has the ability to manipulate this object to make it look better. Polygonal modelling can be very usefull when making real life objects in 3D space true to an existing real life object. For an example If I were to make a car that already exists I can use extrusion modelling to create a 2D representation of the real car and then extrude it to get the general shape and size of the objects.

The video below briefly shows how extrusion modeling is done



I have also done extrusion modeling myself to make a rifle, As you can see below . have used the first image which is a 2D image to produce a 3D model of  it. to get the maximum detail I extruded the different parts of the riffle separately to get the right heights and lengths of them while extruding.



I've also used this method of modelling in prior to this course for a house plan design I've made using CAD. For the model below I've used a 2D plan for the house to extrude it and then make a 3D model out of it. I extruded different parts of the house separately to get the right sizes of each part.





Sketch modeling

Sketch modeling used by some artists mainly make more detailed models like faces and such. This is a simple form of modeling that uses the same principle as making objects with clay or sculpting. In this king of modeling the artist is provided with a block which can be sculpted or manipulated in anyway to achieve any level of detail. Sketch modelling or sculpting is mainly used by character artists to create faces and other models that has to very highly detailed but doesn't have to pinpoint accurate because most of the sculpting is usually done by hand. Sketch modeling is usually used for games and animations in the film industry and the games industry. The games industry keeps the sketch modelling to a minimum because of performance issues with lower end hardware since there can be a lot of polygons in highly detailed models. But this is widely used with animation in the film industry because it is pre-rendered so there is no real time rendering performance issues to worry about.

The video below shows an example of sketch modelling.



I also have first hand experience using sketch modelling for my final major project. I used the sculpting tool in blender to make some rocks but I used an extension in blender to lower the polygon count by deleting un-wanted extra polygons.





3D scanners

3D scanners are used to scan real life 3D objects to get them in a virtual space which then can be changed to anything the artists wants. Since these scanners and all equipment needed are expensive these are only used by researchers and other industry professionals at the moment. But there are some cheaper 3D scanners for home use but they are not as accurate as in the industry 3D scanners. This method can be sued to get accurate real life objects into a virtual space and it also can save alot of time for 3D artist when working in a project. The only bad this about this is that it will need some tweaking after the object is scans since it does not have any control of poly counts for games and how detailed its going to be. This method is almost never used in the Film industry because anything that can be scanned in as a 3D object can just be used in real life, but this could be a great way easier method to create 3D objects for games if performance isn't an issue.




(http://upload.wikimedia.org/wikipedia/commons/2/26/VIUscan_handheld_3D_scanner_in_use.jpg)

(https://3dprint.com/wp-content/uploads/2014/06/itseez-scan.png)



HA7 Task 3 - Geometric Theory

Cartesian co-ordinate system

The Cartesian coordinate specifies every point uniquely in a plane using numerical coordinates using the numerical coordinates which are singed distances from the point  to 2 perpendicular lines (axis)  called x and y . In the case of 3 dimensional objects or points another axis called z can be added perpendicular to y to point out points in a 3 dimensional space.

(http://mathworld.wolfram.com/images/eps-gif/Axes_800.gif)

This video shown below explains extensively about the 3 axis and 2 axis coordinate systems.




3D Geomteric Modeling

3D Geometric modelling is used by all 3D applications when making 3D objects. This could include simple geomtric objects such as lines, curves and arcs to 3D objects such as cubes, spheres and such. This is also the center of everything to to with computer generated 3 dimensional objects, from video games to movies. All objects 3D objects created in a virtual 3D plane requires geometry to exist.



(http://www.webreference.com/3d/cararra/images/fig1_12.jpg)




HA7 Task 2 - Displaying 3D Polygon Animations

How are 3D objects polished and rendered to be shown in a different angles?

This is done by a process called rendering which uses a graphics card and a processor that helps process the image to be rendered in certain angles. As we all know every 3D object is in a computer is made by polygons, rendering displays the polygon  that the player needs to see in a certain angle hiding the polygons in the other side, this also applies light and textured added by the user.

 API

API or Application Programming Interface is used to build software applications by providing a set of  protocols, routines and tools. An API can help the work of programming components easier by assisting distinct applications with sharing data which can help to integrate and enhance the functionalities of the application. The video below explains briefly what an API is.



Some of the API's include :

Direct3D -

Direct3D is a graphics API made by windows to render 3D objects in applications where performance is important. This uses hardware acceleration when available allowing for hardware acceleration of 3D rendering pipelines.

OpenGL -

Open GL is a multi language and multi platform application programming interface made for rendering 2D and 3D graphics. This API is used to interact with a GPU (graphics processing unit) to get hardware accelerated rendering.

GRAPHICS PIPELINE

A graphics pipeline is an important concept in computer graphics and refers to the process of different stages that is used to convert instruction in a computer in to graphics on a screen. Each API has it's own pipeline but the stages used are similar as are the final results. These stages include The graphics pipeline accepting a 3D primitive/model and then providing us with a 2D raster image as an output.

(http://common.ziffdavisinternet.com/encyclopedia_images/GRAFPIPE.GIF)


Stages of the graphics pipeline


(http://upload.wikimedia.org/wikipedia/commons/0/01/Render_Types.png)


3D Geometric primitives - The scene is first created using 3D primitives normally done using polygons or triangles

Modelling and transformation - This is when the model is transported into the world co-ordinate system from the local co-ordinate system

Camera transformation - Exporting the object from the world co-ordinate system to the camera co-ordinates where the origin point is traditionally the camera.

Lighting - Lighting is done by adding light sources where the light will hit the object from the orgin point of the light. This allows the camera to see the object using the light, if a light source is not added the camera would not see anything but pitch black.

Project transformation - This is the transformation of the 3D object into a 2D view as scene by the camera, the camera could be adjusted to get a good view of the 3D objects but the output from the camera will always be a 2D image.

Clipping - The 3D objects that are not shown in the camera's view port will not be shown in the final images, only the objects as seen using the camera can be seen.

Scan conversion or rasterization - This is the process of the 2D image taken from the scene is converted into a raster format. Form this point on all tasks can be carried out on each single pixel rather than having to take multiple steps .

Texturing, fragment shading - At this stage the individual pieces  are given colour based on values assigned from the vertices during rasterization.

Display- The final results after these steps the user can be see the rendered image on a display.



HA8 Task 2 - Research


Mood Board






Researching robots who can work in different industry fields and can perform different tasks.


Shown below is a multipurpose robot that has been designed by the Honda (A vehicle manufacturer) in 2000. Asimo can perform simple tasks like walk and serve drinks, this robot posses a human form.

http://s.hswstatic.com/gif/asimo-1a.jpg

Shown below is a robot design for mechanic, it posses all the tools needed to to fix vehicles.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeHegAI8YaYLHKujIII011ghhGjUv_NR7HlNzIr5MS0iPUaiDufCfDlKedkZ5Jyt5kN05-B7PjgeKFkKopU5DL6lXF4H900yLqkyUndOO17vOwexiXlJmZHcZU8-7FznxT4qbYQMgmSpc/s1600/mekanobot.jpg

Shown below is prototype for a cleaning bot that releases lots of tiny robots that cleans your home.





Shown below is video that shows the current technology of robots that has been used in the military, these robots have more mobility and many other special features.