One of the final stages of the project was to create a ground for the scene. For this I decided to try vertex painting. This is where instead of applying just one texture to a mesh, you're able to paint between two textures by applying the textures onto the vertices of the mesh. However, for this to work a mesh can need many vertices. Since this was just a plane mesh it was only a few subdivisions higher adding around 12 vertices.
This is the layout of the material for vertex painting. In this I have scaled two textures to the desired size and plugged them into the same lerp. The alpha point of the lerp node is filled by a vertex color node which is what allows the painting between verts.
Here you can see a blend of the two different textures, one a cracked earth pattern, the other a sand/gravel texture. Also in the image are black dots. These indicate the location of the vertices and hence where the paint brush will apply the selected texture.
Finally, here is a preview of the ground in the scene.
Sunday, 14 December 2014
Matinee
Matinee is UE4s animation timeline. For this project I used it for basic movements such as a rotating sign.
To begin with, I added a Matinee Actor by clicking Matinee on the top toolbar and pressing 'Add Matinee'.
This opens up the timeline...
In this window, I'm able to create a certain group that controls what object I animate and what type of animation it does when keyframed. In this case it was an Empty Group with a Movement Track attached. This allows me to select the object and keyframe its rotations.
Here is the group with keyframes added for the sign. As the animation plays it smoothly changes between 90 degree rotations until ending at 360, resetting to 0 and repeating. This creates a constantly rotating sign for as long as the game is being played.
I did the same for the day/night cycle however instead of a Empty Group it was using a lighting group.
To begin with, I added a Matinee Actor by clicking Matinee on the top toolbar and pressing 'Add Matinee'.
This opens up the timeline...
In this window, I'm able to create a certain group that controls what object I animate and what type of animation it does when keyframed. In this case it was an Empty Group with a Movement Track attached. This allows me to select the object and keyframe its rotations.
Here is the group with keyframes added for the sign. As the animation plays it smoothly changes between 90 degree rotations until ending at 360, resetting to 0 and repeating. This creates a constantly rotating sign for as long as the game is being played.
I did the same for the day/night cycle however instead of a Empty Group it was using a lighting group.
Particles
Another thing I wanted to add to the scene were particle systems, mainly smoke and fire.
To begin with I used a YouTube tutorial by Pub Games here and the UE4 Documentation here
These helped with the creation of these particles as prior to this, I had no experience using the particle systems in either UDK or UE4.
To begin with I imported a smoke texture and a roiling fire texture
These then had to be made into a material that would be used for the particles.
Here we can see the resulting fire with parameters. The 2nd and 3rd particle emitters are the smoke and sparks around the flames. Despite the setup of the material being complex at first, with repetitive use, this became easy to do and Cascade is a simple tool with use.
To begin with I used a YouTube tutorial by Pub Games here and the UE4 Documentation here
These helped with the creation of these particles as prior to this, I had no experience using the particle systems in either UDK or UE4.
To begin with I imported a smoke texture and a roiling fire texture
These then had to be made into a material that would be used for the particles.
In this the two panner nodes move the materials opposite ways to each other at different speeds to create the illusion of movement in the fire.
- We multiply them together into one and mask the Red/Green channels followed by scaling the smoke texture.
- The top node allows use to colour the fire particles.
- We multiply the multiplied texture and Particle colour nodes and add them to a depth fade finally plugging them into Emissive for colour and Opacity for fading.
Here we can see the resulting fire with parameters. The 2nd and 3rd particle emitters are the smoke and sparks around the flames. Despite the setup of the material being complex at first, with repetitive use, this became easy to do and Cascade is a simple tool with use.
UE4 Import
Once the models were done and UV'd, I began importing them into UE4 to layout the scene for visualisation purposes.
Above is the basic mesh setup of the scene. Next I had to check the material and lightmap settings to make sure the import for materials and the baking of lightmaps was effective on the models. To do this I opened the Static Mesh Editor.
In this window, I was able to individually check each of the static meshes to make sure the options were set correctly. A few time after baking the lighting, I was unsatisfied with the results. I then went back into this window and changed the Lightmap Resolution option giving more pixels to use for baking light.
Below we can see an example of a UE4 lightmap on the Zed building and the options panel with the Lightmap settings on.
The next step was to import the textures to place on the meshes.
By simply dragging the .tga files into the content browser, they all imported with predefined options.
Here is the textures used in the scene.To make them usable, we have to create a material. By right clicking the content browser window you can add a new material and double click it to go into Material Editor.
These are the options available on a material. In this case, it is a glowing sign of Marcus. This material had to be set to Translucent to make the sign work and Two Sided ticked to make the sign appear when looking at it from behind.
Lastly, here is the layout for the sign using UE4's node system. The top nodes control the emissive strength and colour, the middle node controls the opacity and the bottom creates a wind effect which in this case is used to simulate a static distortion effect.
Once saved, you can drag the material onto the static mesh and it will apply it for you. Here is the sign in engine.
Above is the basic mesh setup of the scene. Next I had to check the material and lightmap settings to make sure the import for materials and the baking of lightmaps was effective on the models. To do this I opened the Static Mesh Editor.
In this window, I was able to individually check each of the static meshes to make sure the options were set correctly. A few time after baking the lighting, I was unsatisfied with the results. I then went back into this window and changed the Lightmap Resolution option giving more pixels to use for baking light.
Below we can see an example of a UE4 lightmap on the Zed building and the options panel with the Lightmap settings on.
The next step was to import the textures to place on the meshes.
By simply dragging the .tga files into the content browser, they all imported with predefined options.
Here is the textures used in the scene.To make them usable, we have to create a material. By right clicking the content browser window you can add a new material and double click it to go into Material Editor.
These are the options available on a material. In this case, it is a glowing sign of Marcus. This material had to be set to Translucent to make the sign work and Two Sided ticked to make the sign appear when looking at it from behind.
Lastly, here is the layout for the sign using UE4's node system. The top nodes control the emissive strength and colour, the middle node controls the opacity and the bottom creates a wind effect which in this case is used to simulate a static distortion effect.
Once saved, you can drag the material onto the static mesh and it will apply it for you. Here is the sign in engine.
Modelling
Since the source for references is Borderlands, I am able to use the game itself to collect reference material or move around the model itself. As such it was an easy process to go straight into the modelling stage.
Here is the low poly version of the Zed building made by extruding a single cube and inserting edge loops.
At this point I smooth it then change it to the Smooth Mesh to Poly convert...
Finally, adding in the extras like vents, water towers and columns, Zeds building is finished. The long part of Zeds can be cut in half and duplicated to make Marcus' building.
This is the New-U station (Spawnpoint in Borderlands). The wire was made by extruding a cylinder along a curve.
Lastly, these are some assets that will be duplicated around the level as clutter helping to fill the scene.
Here is the low poly version of the Zed building made by extruding a single cube and inserting edge loops.
At this point I smooth it then change it to the Smooth Mesh to Poly convert...
Finally, adding in the extras like vents, water towers and columns, Zeds building is finished. The long part of Zeds can be cut in half and duplicated to make Marcus' building.
This is the New-U station (Spawnpoint in Borderlands). The wire was made by extruding a cylinder along a curve.
Lastly, these are some assets that will be duplicated around the level as clutter helping to fill the scene.
Wednesday, 8 October 2014
Proposal
The area being focused on for this assignment is a dynamic
scene in UE4, based around a scene similar in style to Borderlands, which will
explore areas of the UE4 game engine such as particle systems, lighting,
animations and triggers. The reason behind this choice is to improve my
knowledge further of the program and different techniques to produce the end
results. These elements have been used together in full game levels before and
while not new are useful in how to make a level operate more efficiently in
terms of balancing looks with performance. The success of this project will be
based on the knowledge gained through the use of the toolsets which will later
be analysed within a report after the project has concluded.
The intent of this design and develop is to increase my
knowledge of the program, Unreal Engine 4 (UE4), which is a game engine
allowing various assets of a game level and other components such as lighting,
physics and scripting to be assembled together to complete an in-game
environment. The project can also be used to compare the predecessor of UE4
being UDK. Since Borderlands was developed and released using UDK, by
replicating the chosen section of environment we can then see that UE4 has
improved over UDK.
As stated, the assets inside UE4 have been used in similar
ways to which I will be utilising them and I will be using previously explored
examples and knowledge from current users to implement these into my project.
The assets I will be using include: Lighting, Triggers, Matinee, Particles,
Blueprints and BSP/Landscapes. Lighting can be used for various effects, in
this case it will be used to simply light the environment. Triggers will allow
a player to walk around and set off events such as pressing a button to open a
door. Matinee controls various animations such as cameras or object movements.
Blueprints allow for coded events and AI, in this environment it will be used
to create a toon shader similar to that of a Borderlands style. Lastly, BSPs
are simple shapes that can be manipulated to build an environment faster and
easier than creating and loading objects into UE4. All these will be used in
conjunction with each other to create the scene.
During this project, there are many areas I need to research
and explore but I still believe it is within a reasonable timeframe for
completion. My current areas of knowledge extend from UDK with BSPs, importing
objects, Matinee, basic usage of Kismet (Now known as Blueprints), Triggers and
Lighting. A lot of these tools are replicated in UE4 and a small refresher of
how they work is all that should be required. In terms of manipulating them for
what I need to accomplish, I will use previous examples and the official UE4
website which hosts guides on how to achieve specific results. The last tool
I’ll need to research more extensively is the particle systems as I have yet to
use these in either UDK or UE4.
Subscribe to:
Posts (Atom)