Tuesday 6 December 2016

HA7 Task 1 - Applications of 3D

3D has been a growing part of the media industry for a while now. It has been used to create objects, organisms etc. where originally it had to be done using a different method. It is a growing piece of technology and has come a far way from when it started, 3D has been used in every way from educational needs to leisurely needs. Below are a few examples of where 3D has been used.

3D in games

Games have come a long way from since they were first created, originally games were 2D as that was all that was capable of being made due to technology and experience in games being low. One of the first games to implement 3D into video games was battlezone, it was considered to have some of the most realistic graphics at the time of creation (1980) and was even used to train tank gunners for the US army. The coding for the game at that time was highly complex and the graphics was made in the same style as asteroid by using wireframe vector graphics. The game was about a tank which the player would control, they would have to go around destroying other tanks. The game included structures for the player to use as cover so that other tanks couldn't kill them as easy making for strategic gameplay.



Gaming dimensions came in 3 stages, originally it started off with games using 2D making them have flat graphics and gameplay. Then there is 2.5D games, this utilises the use of 2D and 3D games together whether that be graphics or gameplay wise. Finally there is 3D in which the environment for games are made to look as though they are in a 3rd dimension whether the graphics are made using pixels or vector.

3D became highly popular in the fifth generation of consoles from 1992 on wards, games like spyro the dragon, crash bandicoot and super mario 64 took 3D and made amazing explorable games with fully 3D graphics and gameplay. As the 3D gameplay progressed so did the graphics that came with it, instead of worlds being made with pixels or polygonal graphics to show off this cartoon type style they slowly became photorealistic and 3D worlds started to look more human like as the years went by.


Spyro (2000)
Spyro was a 3D game series developed for the playstation 1, as you can see all models in this game are made out of 3D. Due to the limitations the objects and world don't look that realistic and things like the grass are flat.

Uncharted 4 (2016)

Uncharted 4 is a game developed for the playstation 4, if we compare this to spyro we can see a massive change in how 3D modelling is done and how far the technology has come, if we look at the dome on the right in spyro's game it's curves are quite polygonal and making the shape less round. However, if we look at objects like the cars in uncharted we can see that the models are being curved and how objects like leaves aren't just circles with a texture over them.




3D in TV & film

3D in television and films has also come a long way, now shows and movies can make unrealistic objects or characters to look like they are real and belong in the real world. Originally if a realistic tv show or film wanted to include a creature they would have to make a costume out of real life materials. Although it was a good idea, the creations they had to make were to extreme for some simple stitching to do and so the costumes wouldn't be as scary as what they can look like today. Let's begin by talking about film.

Film unknown (1950's)

As time has progressed special effects has allowed for creatures like mr fish sticks over here to become more monster like. This means making the body size a huge proportion, spikes to stick out of its body, claws to be created and more. 3D has allowed for this change in creating objects for the sake of making their products look ten times better.

As 3D started the products created didn't look that great, in fact a lot of creations looked out of place. This was due to the technology at the time, budgets, deadlines and experience. However, it was a start and it still allowed for much more creativity on their creations and what the creations can do. 3D also allowed for things like physics to be affected such as a superhero jumping into the sky or a space station to be created that can float around it's space environments.

Men in black (1997)

3D also allowed for animations to become transformed from this 2D platform into 3D immersive worlds. This allowed for all kinds of adventures to be spawned but instead of it being done in the usual 2D style it could be done in 3D making the audience feel more involved in the films. 

Madagascar (2005)


The difference between movies and TV is the fact that TV won't use 3D as much for their content whether it be a realistic show or cartoon. This is because of the budget difference involved, movies will have a higher budget meaning they can spend a lot more into the 3D side of things, they also have a lot more planning on one project instead of having to work out an 11 episode season meaning that the quality produced in movies is higher. This doesn't mean that TV hasn't tried to implement 3D into its piece of media and the very first series to fully be 3D was a Canadian TV show known as ReBoot. Since then there has been a lot of series which uses 3D as its whole style but they don't seem to have a high quality when it comes down to it.

Fanboy and chum chum (2009)

As you can the characters and environment are quite blocky and have simple designs around them. Although that isn't a bad thing it does highlight the fact that movies use 3D technology to its full potential due to the points discussed earlier.

In the modern day we even have 3D screens, this means that we can experience TV shows and films as though they are in the same room as us. Even video games can be enjoyed with this style as the 3DS uses a 3D screen to make its games look as though the visuals are coming out of the screen towards the player.

3D in education

3D has been used in education to help demonstrate the learning objective easier so students have a higher understanding and knowledge of the piece of information they are being taught. It can make some subjects easier to teach and can be a very helpful tool for teachers to use. 3D can also offer bigger job opportunities and more career paths to be opened as subjects could be created around 3D software or learning about 3D software could be implemented into subjects such as media.

An example of 3D use in education would be in science or PE, due to the need that the student will at some point need to learn about the human body. 3D technology can be hugely beneficial for this as students can get a full scale model of the human body online or in a text book which can show a lot more information than what a 2D drawing can do. As 3D continues to grow, the educational system grows with it, in the future schools and colleges can have a fully working 3D interfaces in school where students and teachers can interact to learn more about their subjects making textbooks irrelevant which would be very beneficial for the earth. 3D can also showcase things that can't be seen or done within school's (for safety reasons or it's impossible) such as showing blood transport through the body and the role that it has as it is transported.

DNA double helix

The circulation of blood


3D in medicine

As I have discussed in the education section, 3D can help to show diagrams and things that originally couldn't be seen. 3D in medicine is the same, diagrams and videos can be made in 3D to show the effects of medicine and how it helps. It can also help patients as doctors use 3D imaging software and hardware to scan bodies and find the causes of what is causing the patient their illness or pain. 3D can also be used to educate junior or apprentice doctors about their future jobs and what they should know when they have the job.
Baby scan


3D in architecture

3D has helped to make architectural structures. With the use of 3D people have been able to plot what buildings would look like, their sizes, their shape, what would go where, the different materials they could use and more. 3D can also allow for buildings to be edited so if a archeologist built a house and didn't like the look of one side he could reshape that side and create a new shape extended onto the original house or if he doesn't like it in general he could scrap it and start again. This means that no resources get wasted and builders can picture how to go around making the house without having to refer to just 2D flat images.

Floor plan of a house

3D in product design

3D can also help when designing products. In the modern day products are everything for a human to want, they either need the newest technology or the newest accessory. For product designers it can be quite hard to create an idea and portray it using 2D images or explaining it in words, this means that 3D technology allows for it to be showcased to an audience or potential funder in an easier light so they get a better understanding of what the product will look like in real life. It also means that if the designer doesn't like the design or feels it is too stupid that he can change it or scrap it in a more efficient and faster way than using a 2D method. It can also help to put components together that hold the product together or make the product work e.g. 3D can help to show the components of a car like the engine and wheels and show where they go by using a simple animation that explodes the product and then puts it together again.



3D in printing

3D can not only be used to display objects virtually on a software but can be used to actually print real life objects, it has been a very new technology and is growing increasingly popular as a way to create objects in real life. This is due to how easy and fast it is (although it is a little expensive.) The way it works is you create something using a 3D software such as maya or unity, once it is complete you transfer the information from the software over the the 3D machine which then begins to print the object you have created in the software. 3D printing has made objects such as a working gun, an acoustic guitar, 3D medical models and even a working prosthetic limb which has been fitted onto people with a missing limb.




As technology increases 3D will increase with it making for new software and hardware to be developed. It also means that the technology we have now can become updated to make even bigger and better things than what is already being made. Video game worlds could be come more interactive, education could become a lot easier and better and even more, 3D is forever growing and it will continue to grow as the years go by.


3D environments

3D environments are environments created for use within a 3D world or demonstration, as with the world there are multiple environments that can be created ranging from deserts, forests, space etc. Video games have great examples of 3D environments because of the vast amount of varied games and the environments featured within them. Depending on which setting the developers go with will depend on the architecture featured within the environment, in most cases they will try to create architecture that goes with and compliments the environment.

This is an example of a desert like environment from a game known as rage, as you can see it is mainly sculpted to look like a rocky and barren wasteland.

3D Web

The internet is one of the only interactive platforms where 3D is quite scarce, it allows you to access millions of files that show off 3D such as images or videos but does not utilise the use of 3D to simulate any kind of information or entertainment to the user. An example of the web utilising 3D can be by creating a web page that allows the user to walk around an area or environment from a first person perspective, almost like a video game but the interactive tabs would work as different areas. So say you want to learn about science, the web page could present the user walking into a classroom presented with three different symbols for each three main categories of science, depending on which symbol you interact with will depend on where the character in the web will transport to. If Biology is chosen it could allow the player to be transported to a room filled with a huge amount of interactive biological information such as messing with a 3D model of the human anatomy.



HA7 Task 2 - Displaying 3D Polygon Animations

GPU

A graphics processor unit is a hardware piece used primarily for 3D purposes, it is a single chip processor that creates lighting effects and transforms objects every time a 3D scene is created. A GPU will display images that have been created onto a screen for someone to see. An example would be the visuals you see in video games, if a GPU was not invented then you wouldn't be able to see anything on screen. GPU's use mathematical information to process what they are given and the better the GPU the higher quality and more frames and polygons the GPU can emit.

API

API stands for application program interface and is used within computer game creation (although it does have other uses as well), an API is a set of routines, protocols and tools for building software applications. Without an API we wouldn't be able to have any form of connectivity as the API is what allows us to do daily things such as ordering packages, writing a Facebook post and even just talking to friends through text. An API can be seen as a gigantic messenger database, it holds all this information and sprouts it out to different users. By this I mean if you go to a website which uses multiple services like PC part picker, then on that website is a bunch of stored information from multiple sources of where you can buy items like amazon and ebay, the API makes sure that as people interact with each different source it will send out the right information like a messenger, you tell it one action and it will come back giving you the option you asked. Not all API's are similar though as different ones have different uses such as web based (as I just explained), computer game based and language based. An API is source code based.




In computer games an API is used for things like programming and programming languages, if games didn't have an API then they wouldn't be able to run. All the art, animations, levels and everything could be made but there would be nothing there to connect them to one another. The game would be broken and not playable, include the API however, and actions ad commands can start to be placed into the game. Different factors can be fit together and a fully playable game can be created. An example of an API is below.

Direct3D

Direct3D is a graphics API, it is used to render 3 dimensional graphics in applications where performance is important. Direct3D uses hardware acceleration if the graphics card can support it, this allows for faster rendering in either big or partial chunks. If users can use a certain method such as pixel shaders and the graphics card does not support this then the API cannot emulate this effect although it will still compute and render the polygons and textures of the 3D model, it will just be of lower quality and less efficient performance. The capabilities of this hardware include W-buffering, spacial anti-aliasing, texture blending, mipmapping, colour blending and a lot more.



Graphics pipeline

A graphics pipeline refers to the sequence of steps used to create a 2D raster representation of a 3D scene. This means that once the 3D model has been made the graphics pipeline will be used to make this model displayable on a computer monitor. Without the pipeline the two cannot work and an image would not be able to be displayed on the monitor. Originally with 3D computer graphics fixed purpose hardware was used to make any rendering faster, as technology has progressed the hardware evolved making it more of a general purpose and allowing more efficient and flexibility in graphics rendering. Any image, video or game you see on your monitor has gone through the graphic pipeline steps from being a model in some software to being an entertainment item for your eyes to enjoy.




The steps of graphics pipeline

3D geometric primitives

Scenes will start off with and be made from simple 3D shapes such as cubes, cones, torus' etc. The traditional shape to use within 3D geometric primitives is a triangle due to the fact that it is well suited since they always exist on a single plane. Triangles allow for complex shapes to be made along with polygonal positioning and by using these shapes the user can create anything they want. Cubes and other 3D shapes are considered to be different primitives to triangles and line segment primitives due to the fact that each are used for different software and can be used to create different complex items in their own ways.

modelling and transformation

The modelling system is where objects are placed into this 3D world coordinate system. This allows for objects to be manipulated in from all angles and dimensions meaning you can transform an object from left, right, up and down. This can be used to model 3D shapes into complex shapes such as modelling a cube into a fountain, this is done by extruding and manipulating the object to create curves. The graphic pipeline will make it so that an object is rendered out into this 3D world coordinate system.

Camera transformation

This transforms the camera so that the 3D world coordinate system is now at the cameras origin point meaning that the player can now look in all directions by using either a mouse or analog stick. This allows for players to look around maps and see all objects from this angles.

Lighting

Lighting illuminates the 3D world and without it then everything in a game engine would be dark and unseeable. This means that if you have a texture on a block but no lighting then the object will be seen as black due to it needing some sort of light source to reflect the colours off of it (like real life.) The effect of lighting and reflection would be calculated by the graphics pipeline.

Projection transformation

This is what turns the 3D objects in 2D, this all depends on the view of the camera and as the player walks around objects they would stay 2D. In this step the process of making an object smaller will take place as well, since objects in the background are further away they have to be small. This is achieved by dividing the X and Y coordinates of each vertex of its primitive by its z coordinate. This is only for the view of the camera though as the objects will stay the actual same size if you go back into the modelling software they were made in.

Clipping 

Clipping is done to get rid of items or objects that aren't within a region of interest, if these objects aren't there then they will not be rendered into the final world. Using a mathematical rendering algorithm the pixels are only drawn between the clip region and the scene model.

Scan conversion or Rasterization

rasterization is the task of taking a vector image converting it into a raster image for an output on a video display, it can also be referred to as raster operations pipeline and it is a hardware found within a GPU. Once this is complete operations will be carried out on a each single pixel and although this step sounds quite easy it is infact very hard and involves multiple steps which gives it the nickname of pixel pipeline.

Texturing, fragment shading

This is the final stage and at this stage each pixel is assigned a colour based on what has been placed on the image as a whole, each fragmented pixel will be a different shade the match the colours of the texture which has been placed onto the object. The colours assigned are done from a texture in memory and/or from a shader program.

https://www.youtube.com/watch?v=s7wmiS2mSXY
http://www.adobe.com/devnet/flashplayer/articles/vertex-fragment-shaders.html

HA7 Task 3 - Geometric Theory

Geometric theory

Geometric theory comes from the mathematic Cartesian coordinate system, this is a system developed in the 17th century which describes a plane with X and Y and axis'. The 3D world coordinate system comes from a 3 dimensional version of the Cartesian coordinate system. This links into the geometric theory because without the Cartesian coordinate system then we wouldn't have a 3D world coordinate system making modelling of 3D assets and objects irrelevant.

Within games development geometric theory is a way to model structures, objects or characters with a 3D modelling software. The method that this is done is through a design process using an initial mesh (made up of vertices, line segments and face) which will be transformed to create a shape of an object that will later be coloured or textured.





This is one of the most important parts of the video game industry as without geometric theory we wouldn't be able to model characters, structures and objects with the freeness and flexibility that geometric theory grants us. Depending on the software you use will depend on how you can alter all geometrics. If we take blender for example, this is a 3D modelling software that can be used to create all kinds of objects. The options to create objects is vast, however, one way of making an object is by making a mesh. This is done by getting a vertices and extruding along, as you place the vertices and extrude further line segments are created, the more vertices you extrude the more line segments are made. Once they begin connecting a wire mesh begins to form, as each vertices is connected to the next faces are created. From here on wards you can extrude the faces outwards and begin manipulating the vertices, line segments and faces to create more complex shapes.




The primitive shape to make is a triangle which can be made from three simple vertex points connect with line segments to make a triangular face. This is a common shape along with a quad (which utilises 4 vertices instead of 3) used for modelling all kinds of objects. A group of polygons is made up by connected vertices and is often referred to as a mesh or wireframe model. To make a rendered mesh look desirable it cannot intersect with itself in anyway, it cannot contain any errors either.

Primitives


In 3D modelling software there is common shapes that can be created instantly such as a cube, torus, sphere etc. they will be the base shapes and from them any kind of asset or object can be created. An example would be using a cylinder to create fences with a tube body and point for the top of the object. The objects you can make are unlimited but using these shapes as the starting point compared to starting off with a vertices, face or line segment can limit the items you make and have a harder effect when creating the objects. It is best to make easy and simple shapes such as crates and fences out of these shapes compared to complex models like cars.





http://adamjmattisunit66.blogspot.co.uk/2012/11/geometric-theorymesh-construction.html
https://jnewman96.wordpress.com/year-1/unit-66-3d-modelling/geometric-theory/
http://neilrogero18.blogspot.co.uk/2015/04/ha7-task-4.html

HA7 Task 4 - Mesh Construction

In 3D modelling there are several methods that can be used to model shapes and create assets for a 3D world, below are a few of those methods explained.

Extrusion modelling

When using 3D software you can extrude shapes to make them longer, smaller, collapse inwards and more. When you extrude a shape you begin to mould an object while sticking to one basic shape. The way extruding works is you highlight a face, line segment or vertex point and drag it out without distorting the original object, it's as though you make an add on from the first object you started off with to create something new from this object. I have used extruding in both unity and blender to create objects such as fountains, magnums, lighters, fences, columns etc.




Box modelling


Box modelling is creating an object by using the primitive shapes, in a way it is like extruding the basic shape to create an object. It s known as box modelling as the shape you create is represented in this prototype form of not being smoothed out, it is quite a rough design and looks heavily like a box you could say. It is only a draft created so you can visualise how to make the actual object and make it look professional, subdivision and quads both help towards making box modelling. It is a simple and easy way to make intricate designs without having to put too much detail into it just yet.




Primitive modelling

Primitive modelling utilises the use of the primitive shapes (cubes, cylinders, cones, torus' etc.) to help one another create a shape, by this I mean that you will connect the shapes up to make an overall object e.g. for a car I would use a cube for the body (my first primitive shape) and for the wheels I would use a torus (my second primitive shape) I would then connect them together in the correct locations to create a shape using primitive modelling. 




Image based modelling

Image based modelling is a from of modelling that cuts out a step from other modelling techniques. In image based modelling the modeller will get multiple 2D images and and generate them directly into a 2D based model, making it look 3D but without having to go through the modelling stages. This is useful for when there isn't much time left on a project or the budget for a project is low as it saves time and resources when creating these images.




3D scanning

3D scanning is used for creating realistic gameplay, developers and teams will get an object or person and use some special 3D scanning software to scan the shape they need. This will be digitalised into a 3D software and the item that was scanned will be turned into an accurate polygonal or NURBS mesh. This is used for when companies want to create a game that seems to be so realistic that it represents the human world.




Polygonal modelling

Geometric theory is used when polygonal modelling. Polygonal modelling is used when approximating the surface of an object using polygons. It is a best choice for real time computer graphics due to the scanline rendering. This will make objects look quite jagged and not smooth but is a fast way to get modelling done and rendered out. 



HA7 Task 5 - 3D Development Software

There is multiple 3D development software that users can use all over the internet, each software offers a completely different way to model and has their own advantages and disadvantages. Some will be more advanced than others, some will be easier and more flexible to use than others. For some 3D software they have become outdated and not used as much as they used to, this is because companies will have found better 3D software to use that is more updated and offers a wider array of tools at their disposal.

3D studio max

3D studio max is now referred to as Autodesk 3Ds max, this is a 3D modelling software created by the Yost group, and it was released in 1990. In this software you can create animations, games, images and more by using the 3D tools. Not only do video game developers use it but many TV commercial studios, architectural visualisation studios and movie companies for special effects. It was later purchased by Autodesk media and entertainment who now update and improve the software. There is a whole bunch of features within 3D studio max such as Maxscript, this a programming language which allows the user to program into their models and games. A few more features are character studio, scene explorer, DWG import and a whole lot more. In terms of modelling the software uses polygonal, NURBS and surface tool/editable patch object as its features.






Maya

Maya is another 3D software created by Alias systems Corporation and released in 1998, it is now owned by Autodesk inc. and goes by the name Autodesk Maya. Maya has been used to make multiple aspects in media such as video games, animated films, TV series or even visual effects. Maya has a scripting language known as Maya Embedded Language this scripting can be used to customise the core functionality of the software and can also be used to engineer modifications, plug-ins or be injected into runtime. Some of the components part of Maya are fluid effects, this allows for water, mud, fire, smoke and other fluid type effects to be made. Fur is another component that allows large area coverage of materials with hair like substances to be used. There components are classic cloth, nHair, Biföst and more.

This is a triple A game developed by CD project red using Maya







lightwave

Lightwave is another 3D modelling software developed by NewTek and was released in 1990. Many films, television shows, video games, music videos, advertisements and more have used this software to develop their own products and creations.Lightwave is composed of separate programs, mainly Modeler and layout and uses a program called Hub to synchronise the two together. The features that Lightwave has are Lscript which is its scripting program, hypervoxels which renders different particle animation effects, material shaders and a lot more.









Blender

Blender is a 3D modelling software developed by Neo Geo and was released in 2002. It has been used to create animated films, visual effects, 3D printed models, video games and more. It includes a huge amount of features like UV unwrapping, raster graphics editing, rigging and skinning and more. It also features an integrated game engine. Due to blenders open source nature other programs have tried to take advantage of it by reselling modified versions of it such as illusionMage, 3DMofun and Fluid Designer. The features included on the software are modifiers to apply non-destructive events, basic nonlinear video/audio editing, python scripting and more. I have personally used blender and felt like it is a good software to use for 3D modelling, although it takes some time to get used to it is quite free and flexible within how you create objects.

This is a revolver I created using blender.




Cinema 4D

Cinema 4D is a 3D modelling, animation and rendering software that is developed by MAXON computer GmbH it was released in 1991. There are four variants that can be used for cinema 4D they are a prime application, broadcast version, visualise and studio and each one adds something different than the other. A fifth variant was released in 2014 called lite which comes with adobe after effects. A few projects which used cinema 4D include Van Helsing (2004), spider man 3 (2007), Surf's up (2007) and more.











Zbrush

Zbrush is a digital sculpting tool that combines 3D and 2.5D modelling, texturing and painting. What makes Zbrush different to traditional modelling packages is the fact Zbrush is more akin to sculpting. Zbrush is used for creating high resolution models, its models are able to reach over 40 million polygons making it great for models which need to be modelled precisely. The tool has been used for video games, movies and animations by a vast amount of companies. Zbrush was developed by Pixologic Inc and it was released in 1999. Zbrush comes with many features such as 3D brushes, in this there are a total of 30 included 3D brushes and more that can be downloaded, they each have a different effect on the sculpting such as different stroke types, the hardness of the brush and more. Transpose is another feature which allows a user to isolate a part of the body of the model and move it without have to use a skeletal rig. There are also more features such as polypaint, illustration, Zspheres, Fibemesh and more.






sketchup

Sketchup is a 3D modelling program used for multiple media and physical building jobs such as architectural, interior design, video games design, film and more. Its original creators were Last software who released the program in 2000. The developers of it now are Trimble Navigation. Sketchup has a 3D warehouse, this is a huge database filled with models that people have created and uploaded. This warehouse allows other users to download the uploaded models and use them to their own creations either by manipulating the object, using it as inspiration or just using it in general. Since 2014 Trimble has made it so creators can have their own sites where they can showcase off the models they have created. There are two versions of sketchup, you have sketchup make which is free for everyone (but it limits you to the tools and what you can do on the program) or there is sketchup pro which is paid for but allows you to use everything the program can offer.





Each software offers some sort of new creative way to build models and it is a good idea to have experience with each of these softwares and tools. Each software will be similar when you create objects but each one differs in the method to how you create them, they also offer users different techniques or tools that other softwares don't have.

Here is a table that shows various 3D software and the file types they use:

Type
Association
Remarks
.3ds
Autodesk 3DS Max
Retains geometry, texture and lighting data. Can also contain extra information to allow a scene to be completely saved/loaded.
.mb
Autodesk Maya
It is a binary scene file for maya. Contains three dimensional models, textures, and lighting and animation data.
.lwo
Lightwave
Contains objects stored as meshes and include polygons, points and surfaces.
.C4d
Cinema 4D
A three dimensional model created in cinema 4D. It is a scene that contains one or more objects with position, rotation, pivot points, meshes and animation information.
.dxf
AutoCAD
It is an extension for a graphic image format.
.obj
Most 3D software e.g. Unity, blender etc.
This is a file format that can be opened by most 3D software. It is a file that is used to describe a fully rendered 3D object.

https://www.youtube.com/watch?v=S_2wn5DE0kE
https://www.youtube.com/watch?v=BpttBAzzo70
https://www.youtube.com/watch?v=nidxOqxY9is
https://www.youtube.com/watch?v=J1mExXURsWk
https://en.wikipedia.org/wiki/LightWave_3D
https://www.youtube.com/watch?v=uxmUB1zpd6g
https://www.youtube.com/watch?v=l-gMnB3XsDM
https://www.youtube.com/watch?v=5vSMWoxwrT8
https://www.youtube.com/watch?v=NHu2MvqTyF8
https://www.youtube.com/watch?v=yS8vgrRlpvA
https://www.youtube.com/watch?v=tMxir6VFy40
https://www.youtube.com/watch?v=UBFdV03LgY4
https://www.youtube.com/watch?v=fn0tvNdc1gM