Tuesday 27 November 2018

Blood Splatter Effect


Today, I decided to replace the explosive particle effect I had on the bullet impact for a more effective blood effect. I found a good tutorial on YouTube by Dean Ashford. It would need to be modified to fit my project, but gave me general direction I needed to create the effect, plus some assets. I thought this would be quite an easy effect to achieve, but 3 and a half hours later, I can say it wasn't. 

The actually blood emitting from the zombies was the first problem. I only wanted the blood effect from the zombies, and not everything the projectiles hit. I got this working fairly quickly, the only problem was the game was generating a lot of errors now. I wasn't happy, and needed to rethink my approach. The way around this turned out to be to relocate the Spawn Emitter to the AI Character Blue Print. It seems obvious now, but it was originally in the First Person Character BP and linked to the Ray Tracing.

The second problem, and the one that caused the most headaches was the blood decals that should generate on particle collision, they simply refuse to work. The logic of the blue print is sound, and I've change and modified so many settings, but to no avail. In the end I saw a brief comment on a YouTube page that mentioned freezing the particles on impact, and this worked! It doesn't look quite as good as I wanted, maybe I can modify some settings further, I'm just glad it's working right now. 

Monday 26 November 2018

Minimap/Radar

My first attempt at making a game featured a mini-map in the corner of the screen. It was a little redundant, simply showing an orthographic view of the level from a second camera mounted above the players head. This camera was then fed to a Render Target, through the use of the Scene Capture Component 2D. Finally, the Render Target is turned into a material which can be added to the players View Port.

The mini-map in the shooting range
game. The arrow in the middle was just an
image on top of the map. A blue tint was also added.


For my new game, I wanted less of a map, and more of a radar which could show enemy positions in relation to the player. I found a useful tutorial about creating a simple mini-map on YouTube. I had previously used a second camera to track the player, however this tutorial suggested using a component called a Spring Arm. The Spring Arm essential works like a camera boom, allowing you to attach components to the end of it, which then translate the players movements, offset by the length of the Spring Arm. In this case, it translates the players position to the Target Render. The player position is then indicated on the Target Render by a arrow icon, which is hidden from the players main view. The tutorial also explained how to hide elements of the level being rendered on the map, using the details panel on Scene Capture 2D Component. I decided to hide everything, apart from the icon representing the player, to create something more akin to a radar.

The new mini-map works more like a 
radar, displaying the player and enemy icons only.


The last problem I faced was getting the enemy icons displayed on the radar, this was not part of the tutorial. At first I thought reverse engineering the same technique I had used to display the player icon on the map/radar, but not the main scene. This didn't work, as the AI character was the owner, and was only hidden for that actor. I thought there must be a way to do this through Blue Prints, and then I stumbled across the Set Owner No See node, this allowed me to change the owner of the Sprite icon attached to the AI character to the player character, therefore it would now only show on the radar.

This Blue Print allowed me to change the only of the
Enemy Sprite to the Player Character.
  

Thursday 22 November 2018

Mistakes Were Made...

At the end of week 8, my unreal project was going ok, but progress was slowing down and I was no longer enjoying working on it. After speaking to a friend about it, I realised I had made a big mistake. In the assessment information, it stated that the player must remain in the '"arena" boundary walls of the first person template. I had been working in the third person template, but had modified it to first person (this was so I could get a complete character model), but I had also developed my level way outside of the arena boundaries, which was the main problem. So, last weekend I had a choice, either significantly rework my level, or start a new project.



Since my game didn't seem to be progressing how I wanted, I made the decision to start again from scratch. I needed a basic idea that I was going to be able to get working quickly. I decided an arcade style survival game might be a good idea, and with the help of a short tutorial series on You Tube, I had a basic game working by the end of the weekend which I could build upon.

I quickly replaced the primitive shapes with the mannequin from the third person template. I set up the animation states, and it was already becoming quite a fun little game. I used a lot of what I had previously had learnt to add more features. Although the mannequin was a fine target, their was limited animations, and I really wanted to put some actual zombie character models into the game. I had a quick look on the asset store, but wasn't really impressed with what was on offer. This is when I discovered Mixamo for the first time!


Mixamo is website offered by Adobe, it allows users to download a selection of models and animations for free. It also allows you to upload your own humanoid character and apply animations to it. Although I had heard of Mixamo before, I had never used it. The site offered a large selection of zombie character models and animations, perfect for what I wanted. It also allows you to preview all the characters with different animations applied, and various adjustments to speed, frame rate and other variables before downloading.



After finding a model I liked, I download it, along with idle, walk and run animations to begin with. The model and animations were quickly imported into Unreal, and I used what I had to learnt to create an Animation Blend Space. This is basically a blueprint that allows a model to transition between various animation states depending on a condition, in this case, character velocity. When I first replaced the mannequin with the zombie character, the animation seemed very jerky, I quickly realised that when I downloaded the animations, there was option to animate "In Place" which I needed to check. After that, it was getting the speed right, and they started to look really good. I've been really impressed with the Mixamo site, and plan to add some other zombie characters and animation to the game from there.


Even though it was very late in the semester, I think restarting the project was a good move. Although the shooting range/training game was a solid idea, it wasn't developing how I wanted. I was having issues, my ideas were not always working, I wasn't enjoying developing it and the game just wasn't fun. Although this game is quite a simple idea, it can be built upon, and even as it is, its fun to play.





Saturday 10 November 2018

Maya: Polygon components

When creating a 3D primitive shape in Maya, you can divide the shape into subdivisions. This can be done by selecting the shapes tab in the Channel Box/Layer Editor side menu, from here you can enter the subdivisions for width, depth and height. In this case I have divided the shape into 3 subdivisions for each.



Another way to add subdivisions to a shape, is through the Edit Mesh drop down menu, from here select the Add Divisions option to achieve similar results.



Holding down the right mouse button allows you to have access to various components of the shape. Mostly i'll be working faces, edges and vertices. Below, I have selected face mode, and have used it to extrude certain faces from the shape by pulling them with move (W) . The extrude option is available through the Edit Mesh drop down menu, or by pressing Ctrl+E.



As with most design programs, its possible to duplicate objects by selecting the option in the edit menu or Ctrl+D. You could also use the mirror tool in the mesh menu to make a mirror copy of an object.

Friday 9 November 2018

Maya: Ship Wheel - Tools and Process

On Canvas, there is a selection of worksheets Gary has created to teach the basics of Maya, and helpful tools and techniques we should be using when creating our gun models. I began with low polygon house model, and now this ship steering wheel.

I firstly began by adding a cylinder primitive from the polygons tab. I adjusted the scale (R) to an appropriate size, and then duplicated (Ctrl+D) the cylinder, which I scaled down slightly further. I then used the Booleans tool, which can be found in the Mesh tab. I used the Difference option which allows you to subtract one object from another, in this case, the smaller cylinder from the larger one.

The Boolean tool allows various options, the Difference option
allows one object to be removed from another... 

leaving me with the outside rim of the wheel.
After adding another cylinder for the central hub, I used the Live Snapping tool to have objects snap into place along a grid, to create the spokes and handles of the wheel.


The finished ship wheel.


Thursday 8 November 2018

Working with Maya

In Wednesdays lecture, Gary introduced us to working with Maya. Maya is 3D modelling and animation software, developed by Autodesk. It has become the become the standard in the video game industry, and is widely used in variety of other entertainment mediums. 
Gary gave a brief explanation of the interface, before creating a simple model of a Star Destroyer.

After the lecture, I began working with Maya almost instantly. This was the first time I had used the software, and although I have used Blender for 3D modelling before, it was all very new. I decided to work through the small tutorial first, which had been uploaded to canvas and was recommended to start with. The tutorial guiding through the process of creating a simple house, learning techniques such extruding, offset, dividing faces and connecting edges and vertices.

  
Because I need to model a gun for the assignment, and its a vastly more complex shape than a house, I decided to check You Tube for a weapon modelling guide. Although there weren't as many as I was expecting, I did find one based on a Glock 19 handgun. I found the videos a little difficult to follow as not everything was fully explained, but I still manage to learn some techniques that will certainly be useful.


I used a reference image of the Glock as a guide for the dimensions, and the entire model was extruded from a single cube. Probably the most important skill I have learnt from the tutorial was the use of edge loops. These essentially make it possible to create a complex model from a simple shape.


As you can see from the image above, I have got to point of adding some detail to the model. Using techniques such as splitting the model, and bevelling edges. I also realised that I had some how manage to use far too many edge loops and was having serious problems with vertices and edges overlapping each other. I tried using target weld to eliminate some of the extra vertices, but that lead to further difficulties, such as holes in the model, lots of holes! I may leave this model here now, but it has been a good learning experience, and it has reminded me to save more often, as undo can only go so far back.