Wednesday, 30 September 2015

3D Landscape Concepts

What is a 3D Landscape?

A 3D Landscape is a virtual open space with 3D models of various objects such as trees, waterfalls, rocks, etc. There are multiple different pieces of software you can install to your computer that can help you create or generate your very own 3D landscape. A few examples of this could be game engines such as Unreal or Unity. These engines have their own built in environment sculpting tools. Alternative you could use other industry standard software such as Maya, 3D Studio Max or ZBrush.


Creating a landscape, especially within a game, gives the overall look and feel of the game more depth. It shows more detail as well as a professional and clean look.

There are many elements needed within a 3D landscape, as well as some not as important, but also very effective elements.

Flooring: Typically grass, however it could be gravel, sand, mud, snow, water, or any other surface that could cover the ground. It could also be a mixture of these.
Trees: Not a necessity but they add dimension and appeal to the environment, it gives a larger environment a smaller feel. They also make the environments look more detailed.


Buildings: Not necessarily buildings that can be accessed, however buildings give a greater depth and feel the environment. As well as this, buildings can often change a somewhat recognizable space and make it almost iconic to the human eye. 

Stones/Rocks/Mountains/Cliffs: Dependent on the environment being portrayed mountains and cliff edges can set a scene apart from all others. More commonly stones and rocks add the little pieces of detail that a landscape often needs.

Creating my own Landscape:

Last week, I made a simple building with basic lighting. This week, I began to add a landscape around it.


Above is the building I started to create previously, around it you can see the grass i added to start sculpting my environment.


Once I was ready to begin sculpting some hills, I selected my brush size.


By dragging my brush I was able to make a series of hills surrounding my building.



Tuesday, 29 September 2015

Unit 66: 3D Modelling

P1; Understand theory and applications of 3D

Applications of 3D:

Displaying 3D Polygon Animations:


Application Programming Interface: eg Direct3D, OpenGL
An application programming interface, also known as API, is the interface that processes the various tools and routines to express the software component for different inputs, outputs and operations.

Graphics Pipeline: eg modelling, lighting, viewing, projection, clipping, scan conversion, texturing and shading, and display.
Graphics Pipeline, also know as Rendering Pipeline is the series of steps taken to create 2D raster images as a representation of a 3D scene. 

Rendering Techniques: (Radiosity, Ray Tracing)
Radiosity is the method that is used based on detailed information of reflected light from diffused surfaces.
Ray Tracing generates the path of light through an image using pixels.

Distributed Rendering Techniques:
Distributed Rendering is often to referred to as Parallel Rendering, it is a complex computed sequence that renders parallel objects in multiple domains.

Lighting:
Lighting, or shading, is used the emphasize the shape and structure of a 3D object.

Textures:
There are various textures you can use to help give a better look to an object, different textures will give the shape its uniqueness. For example adding a bricked texture to a wall will give it more of an identity as to what it is.

Fogging:
Fogging is apart of the rendering process. It fades, or fogs, out the background as you move further away from it. Shadowing:
Creating the right shadows comes in with creating the correct lighting and shading, once the lighting is set, adding shadows will create a more realistic effect.

Vertex and Pixel Shaders:
Vertex and Pixel Shaders are used within HLSL, which is a programming language used to implement shaders. The language creates programs for GPU's.

Level of Detail:
When referencing the level of detail within the 3D Modelling capacity, decreasing the complexity of the selected 3D object as it moves further away from view.

Geometric Theory:

Vertices:
Vertices is the plural for vertex. A vertex in 3D Modelling is the point of an object where three or more edges intersect. These are often the X,Y,Z elements of the object or edge.


Lines:
A line is a straight edge with a vertex at either end. Curves:
A curve, similar to a line, has a vertex at each end, as well as at least one vertex in the middle.

Edge:
An edge is self explanatory, it is the joining of two faces of an object.

Polygons:
A polygon is a shape with at least three sides, typically five or more. It also must have angles.

Element:
An element is a part of what makes the mesh of the model. It is any part of the model, it could be a vertex, a line or any of the other terms explained here.

Face:
Using a cube for an example, it has six faces. Each face can be edited separately within modelling. This allows for the faces to change the values and appearance of the object.

Primitives:
A primitive is a simple geometric shape which can take place in various forms such as a cube or a cylinder. The most notable elements within a primitive are the points, lines and line segments as well as the planes and spine curves.

Meshes: eg Wire frame
A mesh is a barrier that is made of connecting elements, in terms of 3D Modelling a mesh is the wire frame of an object. This is before you fill he object with a shader or toon.


Coordinate Geometry: (2D/3D)
Coordinate Geometry focuses mainly within graphs using lines and curves. It also uses algebra to connect to the geometric element of 3D modelling.

Surfaces:
In terms of 3D Modelling, a surface reefers to the area in which you build the object upon, for example a surface could be a floor or some stairs. 

Mesh Construction:

Box Modelling:
Box modelling is where you take a standard shaped polygon, a cube for example, and manipulate the shape into an object, for an example a human hand.

Extrusion Modelling:
Extrusion Modelling is very similar to box modelling, but more intricate. An example would be a creature or humans face. Extruding elements such as the nose, lips and eyes.

Using Common Primitives: eg Cubes, Pyramids, Spheres, Cylinders
Common Primitives are used when box modelling.

3D Development Software:

Software: eg, 3D Studio Max, Maya, Lightwave, AutoCAD, Cinema4D
There are various different software to model using 3D elements. The above examples are the most commonly known, as well as the most industry used software.
Each of the software above allow you to create and export 3D models.


File Formats: eg, 3ds, .mb, .lwo, .C4d, and plug-ins.
In order of the above examples, the following pieces of software use these file formats:
- 3D Studio Max

- Maya
- Lightwave
- Cinema 4D
The file format your model is saved in is important, if you create a model in Maya, then it must save as a .mb file.

Constraints:

Polygon Count:
A Polygon Count is the amount of polygons that are being rendered per frame, for example; 300poly per frame. The less polygons within an object, the more rigid would appear.

File Size:
3D Model files are of significant size, so trying to reduce the size is a must. This can be done by reducing the Polygon Count.

Rendering Time:
The rendering time is very important, the object, or objects, must render in good time in order for the models to be seen as fast as possible. In terms of in a game, rendering time must be spot on, especially when the character is walking around an open world.

Wednesday, 9 September 2015

Game Engines

What is a game engine?
A game engine is the software that is used when creating a game. There are many game engines out there that all do various things, the most well known ones being Unreal, Unity and CryEngine. These are all three dimensional game engines, the most well known two dimensional engine is Game Maker Studio. 
Unreal Engine: is a game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. Although primarily developed for first-person shooters, it has been successfully used in a variety of other genres, including stealthMMORPGs, and other RPGs. With its code written in C++, the Unreal Engine features a high degree of portability and is a tool used by many game developers today.[2][3]
The current release is Unreal Engine 4, designed for Microsoft's DirectX 11 and 12[4] (for Microsoft WindowsXbox OneWindows RT); OpenGL (for OS XLinuxPlayStation 4iOSAndroidOuya[5] and Windows XP[6]); and JavaScript/WebGL (for HTML5 Web browsers).
One of the most popular games made with Unreal Engine is the Gears Of War series.
Unity: is a cross-platform game engine developed by Unity Technologies[2] and used to develop video games for PCconsolesmobile devices and websites. First announced only for OS X, at Apple’s Worldwide Developers Conference in 2005, it has since been extended to target more than fifteen platforms.[3][4] It is now the default software development kit (SDK) for the Wii U.[5]
Unity Pro is available for a fee and Unity Personal has no fee; it is available for any use to individuals or companies with less than US$100,000 of annual gross revenue.[6][7] On March 3, 2015 with the release of Unity 5.0, Unity Technologies made the complete engine available for free including all features, less source code and premium support. Unity is noted for an ability to target games to multiple platforms.
Five versions of Unity have been released. In 2006 at the 2006 WWDC trade show, Apple, Inc. named Unity as the runner up for its Best Use of Mac OS X Graphics category.
https://en.wikipedia.org/wiki/Unity_(game_engine) 

One of the most popular games made with Unity Engine is Temple Run for Android and ios.

CryEngine: is a game engine designed by the German game developer Crytek. It has been used in all of their titles with the initial version being used in Far Cry, and continues to be updated to support new consoles and hardware for their games. It has also been used for many third-party games under Crytek's licensing scheme, including Sniper: Ghost Warrior 2 and SNOWUbisoft maintains an in-house, heavily modified version of CryEngine from the original Far Cry called the Dunia Engine, which is used in their later iterations of the Far Cry series.
https://en.wikipedia.org/wiki/CryEngine

One of the most popular games made with CryEngine is the FarCry series.

What games use which engines?

League of Legends:
League of Legends is a multiplayer online battle arenareal-time strategy video game developed and published by Riot Games for Microsoft Windows and Mac OS X. It is a free-to-play game supported by micro-transactions and inspired by the modDefense of the Ancients for the video game Warcraft III: The Frozen Throne.
https://en.wikipedia.org/wiki/League_of_Legends

League of Legends was created using the Universal Fighting Engine, which is a Unity based toolkit specifically designed to create fighting games.

Call of Duty:
Call of Duty (commonly shortened to CoD) is a first-person video game franchise. The series began on the PC, and later expanded to consoles and handhelds. Several spin-off games have also been released. The earlier games in the series are set primarily in World War II, including Call of DutyCall of Duty 2, and Call of Duty 3. Beginning with Call of Duty 4: Modern Warfare, which is set in modern times, the series has shifted focus away from World War II. Modern Warfare (released November 2007) was followed by Call of Duty: World at War and Call of Duty: Modern Warfare 2Black Ops (released November 2010) takes place in the Cold War, while Modern Warfare 3 (released November 2011) takes place in a near-future setting. Black Ops II (released November 2012) takes place mainly in the year 2025. Call of Duty: Ghosts was released in November 2013. In May 2014, Advanced Warfare was announced. On April 9, 2015, Treyarch announced Black Ops III.
https://en.wikipedia.org/wiki/Call_of_Duty

The IW engine is a game engine developed by Infinity Ward for the Call of Duty series. The engine uses id Tech 3 as its core, since the engine itself is proprietary with inclusion of GtkRadiant by id Software. It has been used by Infinity Ward, TreyarchRaven Software, and Sledgehammer Games.

https://en.wikipedia.org/wiki/IW_engine


Beyond: Two Souls:
Beyond: Two Souls is an interactive drama action-adventure video game for the PlayStation 3 home video game console, created by French game developer Quantic Dream and published by Sony Computer Entertainment. It was released in October of 2013. The game features Jodie Holmes, one of two player characters. The other is an incorporeal entity named Aiden: a separate soul linked to Jodie since birth. Jodie, who is portrayed by actress Ellen Page, possesses supernatural powers through her psychic link to Aiden, growing from adolescence to adulthood while learning to control Aiden and the powers they share. Willem Dafoe co-stars as Nathan Dawkins, a researcher in the Department of Paranormal Activity and Jodie's surrogate-father-figure. The actors in the game worked during the year-long project in Quantic Dream's Paris studio to perform on-setvoice acting and motion capture acting.
Beyond: Two Souls, despite being a video game, premiered at the 2013 Tribeca Film Festival, marking only the second time the film festival recognised a video game. David Cage, writer and director of the game, explained that game development studios should provide "interactive storytelling" that can be played by everyone, including non-gamers. The game received polarized critical reception upon its release. Sales reached over one million copies worldwide by the end of 2013. A PlayStation 4 version was announced in June 2015.
Quantic Dream, the game developers, used their own game engine to create Beyond: Two Souls. This is due to the motion capture elements within the game requiring software that is used to create movies.