Monday, 25 April 2016

Finalization & Conclusion

As I wanted to make sure I met most of what I set out to do from the learning contract I wanted to create a UI.
The original idea was to make it so that the user could use this to change what season and climate the weather system was located, however, because of lack of time I had chosen to make the season one, this way I still had a UI the user could use.


For the UI I had some simple text to explain what the UI does and then 4 buttons for each season.
Each button season will use a function on which will set the values of the rain and snow so that they either have more or less of a chance of happening.
Like every time I write a UI, I make sure that if the UI already exists that it will delete it self it the script is executed again to save from having several duplicates on the screen at once.
The UI also has Spring as the default season.


As you can see with this part of the code, when it comes to summer the chance of it snowing is 0, the random range can hit 0 but with this being a 1 out of a 1000 chance it is rare that it will snow.
I could have the snow not happen all together but because it can snow in some places during the summer though it mostly is rare in certain places I left it as it was.
When we look at the numbers for the winter you can see it has more change of snowing than anything else.

The UI that gets created is this the image below.


One thing I also wanted to try was make the sun change due to the weather, so for when it is raining it looks more overcast and then with the summer it was sunny, this was you could see the different season a lot more. However, when I implemented it into the code I had the issue of the light was snapping rather than wanting to use the lerp that was set up. It was also going all over the place. During one of the snowing states it got really bright that the texture was just white.
I decided to not try adding this at such a last moment because of the errors.

========================================================================

CONCLUSION

I was originally hoping to have a scene on which more different types of materials and objects change due to the weather however, because of the shader taking longer than anticipated it was obvious that if I did try that I may have not had my code working.

The shader was one of the things which took a bit of the work because of the way ShaderFX works, the lighting wasn't great till I had but lighting into the environment to keep the errors from showing up.

I learnt some valuable lessons during this module, as I want to specialize as a texture artist this was a cool project to take on. I feel like that keeping some Python knowledge will be helpful in my career.
This project was good experience and I learnt a lot, even some new Python knowledge to use.
The Expression Editor took me a little while to figure out how to get working correctly but when I did I started to question why I got so stuck in the first place.

In the end of this project, though I wish I had done more I felt I learnt more from what adds to what I learnt from last semester too. I had to do a little remember of some things I did last semester but it helped.
Additionally I was a little annoying how long it took me to get the ShaderFX working correctly as I was really hoping to have a small scene and more to my UI.
However, with what I got I am reasonably please with it.

Saturday, 23 April 2016

Scripting part 2

After looking back at last week work I wasn't sure I liked the idea of having 2 types of code the end user would have to copy and paste to get the script working.
I wanted it all in one place and because the Notepad++ script with the button didn't seem to connect with the expression editor that well I thought of just doing the script fully in the Maya Python editor so that way it was a easy copy and paste into that and click enter saving time and effort for the end user.
The pictures below are in Notepad++ because I copied the code over to it just so I was able to save it and take it to my home PC. 

As it was going into Maya Python editor instead a lot of the code I wanted to end up changing, one of the main things I wanted to change was getting rid of the UI, as the idea was to have a random generator of numbers change the weather states instead.
On my learning contract I said I was planning on having a UI system on which you could control the season or/and climate of the weather, however, I wasn't sure I would get that done in time.

Once the UI was deleted from the script it was time to change a few other things around too. I also had a look at the agency script a while back because I wanted to see how to get the expression editor running each frame like that script.

After looking at it and trying to understand what I was looking at, I began to get back to my edits. One of the first things to edit to start of with was the running function, this needed all of the global variables I wanted to start of with and to edit.
I began now with making the function to have a random number set when it snows or rains.

At the top of the script I'm able to get the random number by using:
import random;
This allows to get the function to have this work.
In the state change I have a grace frame so that there is some time before it goes right into another weather state because sometimes the transition would be to quick.


With this part of the script, it is at the start of the script so we can have our variables.
From the random number script you can see here the variables for the rain and snow limit, if I have time I'll make it so that you can control what season that it is in, so say for summer it has no change of snowing but some change of raining and for something like winter it has more change of snowing than being dry.
We also have some frame constraints and the transition of the frames.
You can also see the grace period on which I just mentioned, this is just to make sure it doesn't change weather states to fast so there is a pause between each one.


This run function was so that the expression editor would run this each frame, on which I got able to work with less issues than when trying to get it to grab information from a Notepad++ version of the script.
I created an if statement for the very start of the timeline, this was so that if the simulation had been running and it was a snow/rain state that when you click play from the start it would force set it to dry instead of continuing from the last one.


This part of the code is the same for both the snow and the dry state as well.
It is an if else statement area on which controls the lerp change and then when at it's peak will then go through another random number so that it can know when to change back to its reversed version. To get it working on the reserved lerp it has to go to a dry state first, I made it so that it could not lerp from snow to rain, only rain to dry then to snow and vice versa. The reasoning behind this choice was that when the materials lerped together from snow and rain it wouldn't transition well as the shader had issues. If I had time and went into developing this further I would have more states so that it would transition to a icy state and what not.


This part is the only section that didn't really change from the Notepad++ version I did.
The only changes in this part is the variable on which is used on the if else statement and adding the lerp to change the transition.
as you can see I'm using something called a sigmoid to lerp it in via a sigmoid curve.


Here is the part with the lerp, I have placed in two versions too, that for the lerp with goes to 0-1 and the other one which is the inverted version of that.
This is so that when we go into the dry state it will use the inverted version of the lerp.
This part took me a little while to work out as I wasn't fully sure how to get the frame parts working, a friend of mine who is a programmer helped me get it working to the point where the code looked like this.


This part I also had my programming friend help me with, I wasn't even sure what it was at the beginning but this was because I wanted to have the snow material to change slower because it changed just as the snow particles would drop. It still isn't perfect and I'm going to try next week figure out a better way to get it going, however, it could mean either another lerp will be needed or another grace sort of period for it.
To work out the math for this sigmoid curve we used this website - https://rechneronline.de/function-graphs/

To get this all working I would run it through the Maya Python editor and it would run once I got the expression editor loaded which the code for that was this.


With all this together now when I push play it will then run the random range and then choose one of the weather states at random and then when it changes it will keep on going.

Next week I want to try and finish it up by making a UI system for the user to be able to choose the season.

Tuesday, 12 April 2016

Scripting

Now that I had the weather effect working it was now time to get to the script part of it so that I could have it transition between each weather state and also run semi-procedurally as intended from the start.

To start the scripting off I used Notepad++ to create it on which I then started to create a simple UI to begin with so that I could get the weather states playing from a click of a button.


This script would bring up a small UI with the 4 buttons of Rain, Snow, Dry and a debug button on which the plan was to have that as the linear interpolation test.

To get this script running I had to make sure the script file was in the maya script directory and then in Maya with Python make a script for a button.
import DynamicWeatherSystem as dws
reload(dws)
UI = dws.WeatherSystem() 

When creating this script I did some research first into how to get global variables to work because originally when I put them in the original place it wouldn't run the script and came up with errors.
After spending time fixing these and working out how to get the global variables working better I was able to get the script running.

The script as this point was so that when the button was pressed, it would created the UI with the buttons and then during play mode if you click on of the weather button it would change to that state and if it was currently another weather state it would stop that so never was it possible to have rain and snow at the same time, it was either one or the other.

Next was the linear interpolation, I was not sure how to get this type of effect to work so I requested help from one of the lecturers who gave me a base of a script to get working on.

With this Grant was able to get it so that with each button press the water amount would add a little each time till it was full (at the number 1 on the lerp).

The next part was a little more tricky for myself because I needed to work out how to get it to change at any point in the timeline due to a random number. I had no idea how I was going to do this right away so I tried to program it so that when I pushed a button it would lerp into that weather state.

To get it working with the timeline first I had to figure out how to get the expression editor to work with it, I tried some different ways of getting this to work. Each time and with each edit I kept running into issues, I tried so many ways originally but when I started of it was having a problem connecting to the notepad++ script that I had created.
One of the ways I tried was having this in the expression editor:
python("WeatherSystem(Frame_Counter("+frame+")");
This was suppose to grab the class of weather system and get the frame counter that I had made.


The counter and expression editor was more of a headache than I originally anticipated, following the past tutorials was slightly helpful but I felt lost most of the time like I didn't know what I was doing and I couldn't understand what was doing what which I didn't not much like as I like to know what does what.

After trying many other different ways I went ahead and emailed the lecturer asking why it was not working.

Even though I wasn't sure the lecturer would email me back I kept trying different ways.
With a help of a friend it we came up with a solution of having a function in the maya python editor that would link both the Notepad++ script and expression editor together, we managed to get it working from that.

Thursday, 31 March 2016

Shader Fix & Weather Particles

As I wasn't getting any good results I began to search out shader blending modes from Unreal Engine to see how someone would go and blend together 3 materials together as I clearly wasn't getting any good results from my method and couldn't figure out why.

Unreal Engine 4 3-Way Material Blend

Using this method I went ahead and began to do the same way inside of using ShaderFX.
As I was using a texture blend through the linear interpolate rather than the vertex color I just made sure that was wired up the right way.

New Shader Blend using the 3-Way UE4 Material Blend

When I went to check if it worked I realized at this time the cubemap I had created I had left back on the computer at home when I was working on this testing. I did some more research into the reflection node using the Maya documentation and then found out that I could use a texture rather than a dds cubemap, wish I had found that out before I spent hours trying to work out the dds cubemap.
With the texture reflection map I could use a node called "Spherical Reflection UV" which would turn the texture into a reflection sphere.
I went onto the internet and found a jpeg for a HDRI image. I went for something which was a forest snow.

New Reflection set-up

 With the forest sky that I found, I released that when I had put it into Maya that the way I want the reflection was upside down, so if I look down at the texture the HDRI forest ground was reflection back rather than the canopy of the tree branches above. I went into Photoshop and made sure I flipped the Y axis to get the desired effect.

Forest Sky used before flipped in Y-Axis.

The next part in the shader was now to get a good enough blend going on with the snow and also with the rain.
In the past week or so I had some issues with getting the blend to come out nice, when I made a height map for the water it had a odd part which made the material just have black spots in part which was shown in the previous blog post.

I felt comfortable that the snow had a nice enough blend with it however with this new shader linear interpolate set up I just had to make the I used a invert one-minus node to bring in the blend correctly.

With the water I had more shader math so the blend came in using a height from the brick which was a different version I used for the snow blend. I then used a grunge noise from Substance Designer to add more to the water blend.
I then made sure to clamp the values so I didn't have any odd artifacts show up.

Top - Snow Blend | Bottom - Water Blend

After a few tests and changing some things the blend worked well. I then went ahead and exposed tons of values I would want to change through code or give the user (and lectures) the ability to change values without having to go into the shader itself to find it.
This also needed to be done because when this is handed in the chances of the textures even being linked is unlikely and the set person would have to set the link up with the texture again.
I also went and created a UV scale on which was multiplied with a float so I or a user could change the UV scale of the brick and water puddles.

Snow Transition


Water Transition

The next thing to do now was to create the particles themselves to show what weather the environment is in.
Firstly I started of with the rain. I used nDynamics for this and with the nParticles I set it to points. I then duplicated the floor tile texture and brought it above the floor material and then flip it and used emit from object surface.
For the rain I went down into the shading part of the nParticle and set points to streaks so it looks more like rain.
I then changed the floor with a passive collider and and gave it some bounce so when the rain hit it the water would bounce the drip as it would in real life.
I also had to go ahead and change the emitter particle rate because as default I set it to around 300 and it looked like to much rain to me and after a while the PC began to slow. To reduce the change of this happening I set it to 100 and made sure that when the rain did it bounce after a second or two it would then kill the particle.

Rain Particle

When it came to the snow I again used the points and did the same with the floor plane with making a duplicate, rising it above the floor itself, flipping it and having the particle emit from its surface.
I then went into the shading and change the points to sprites.
As I wanted a texture on the snow I looked through all the tabs in the emitter to change it to a gradient ball however, after searching each tab I couldn't find a way of adding a texture.
I then went to Google and in the past it was under the shading tab though now it wasn't there and I was unsure why that was the case. I even looked in other parts of the emitter but still had no luck.
After giving up trying to find it I thought of using my own method and going into the Hypershader, making a new Lambert and adding the gradient ball with its transparency and dragging it onto the snow emitter and voila! It applied the texture and I had my snow.
To get the transparency working I had to make sure the use lighting check box was ticked.
With the snow I also adding more variants to the lifespan of the snow, using a random range so that some of the snow could fade before it even hits the ground.
I also tried to make it look more like snow too with how the wind would effect it and how chaotic snow falling can be, however, it still seemed very uniform.

Snow Particle

Though I still wanted to get the snow looking a lot better, I thought that getting onto the scripting was now more important and I could do additional tweaks to the particles nearer the end if I have the time. The plan was also if I get the time also to have a small environment and maybe some different materials which have the same changes.

Monday, 28 March 2016

Shader and Cubemap

ShaderFX to me is different to some of the other shaders I'm more used to. The results are always strange which makes me wish I tried doing this in Unity and creating it using CG code which I have a little knowledge of.

I did try a mess with the idea of using to use the Substance plug-in for Maya and released it would most likely not work as well as I would want and might need a few more tweaks to get it working.

I began to learn a lot about how to get something looking better inside of ShaderFX, I created the shader as the last week results were not what I wanted.I also added an ambient light and directional light to the scene to help stop that darkening of the material when I rotate around the scene.
After re-creating the shader I had something that would now transition between dry and a snow state.


Material Dry State

Material Snow State

New Shader for the Material.

Now that I had the basic material change from dry to snow now it's time to do the water. I went around and created a reflection map (cube map) so that when the water comes into play you would see a reflection of an environment, just to help bring the realism and not just have it a color and look a little odd for this project. 

Reflection Cube Map

Cubemap

The cube map took me a while to figure out because it had to be in a dds file format and I had never done that before so I had to use a NVIDA plug in to create this. I also did try a AMD Cubemap gen tool as well but I wasn't getting the results I wanted from that. 

After I had worked out how to create this I then went onto creating the additional lerp to bring in the water as well.  
I also brought in an additional height map so that the transitions would look different from how each of the textures come into the brick. 

Updated shader with additional Lerp

Around this time I was beginning to worry as some other modules were becoming demanding but I also have been having so many issues with how the shader is looking for this material transition that I've gone over longer than I wanted to with creating this texture.

Though I added the new lerp it was creating some bad artifacts, for example now the texture had black spots. 

These would only ever go away when I brought in the water, however all that did was change the color of the snow and if I took the snow away the water wouldn't stay.

Black spots go when water lerp is set to more than or equal to 1.

When the snow lerp is set to 0 even the water goes.




Sunday, 20 March 2016

Creating the Material

This week I wanted to get started on the material/shader for this project to create the snow and water weather effects.
The plan is to use ShaderFX as mentioned before because the node based system seemed pretty easy to use and the previous experience from Unreal's Shaders should help me.

To get a better understanding of how ShaderFX works I decided to watch a few videos to get a brief overlook.




After I watched this I went about to think about making the shader.
As I had limited time to do this I planned on using some of my own textures and texture I found from elsewhere just because I don't have the time to make the textures all themselves.

This texture was created and found by the people at Game Textures which can be found and downloaded at https://share.allegorithmic.com/libraries/31


This snow texture was created by myself. 

As for the water, I was just going to have that as a simple vector color which would be black with a tint of blue and make sure my roughness was pretty high to get reflective water.

I began working on the shader and exposing parameters so in the future I could drive them in the code later on. 


ShaderFX only works with Viewport 2.0 and for some reason the rendering gave of an odd effect and the shader really needed some work as I wasn't getting the effect I wanted and I am not sure why it wasn't doing that because I've done shaders before and this is normally the way to do it. I also tried another way but I couldn't get the look I wanted. When you would rotate the camera you would the texture would just go....black.


I was also having issues on getting the snow to look the way I wanted. When the material transition to it being snowing, it would brighten up the texture giving it an ugly effect and it wouldn't cover the entire material.

I tried making 2 other shaders to see other ways of making it though I had the same problems.



I began thinking of other ways I could achieve this, first i was wondering if I could switch to Unity and try and create something in that engine and using C# and/or CG to create the shader to get it working.
I also looked at using the Substance Designer plug-in for the project with can run in Maya though I wasn't 100% sure how I could call the functions inside of Python.
After looking at some talks from GDC I think it somehow is possible but there isn't any documentation for it, I couldn't even find much in regards to making this effect in Unity, the only ones I found were in Unreal Engine.
Later this week my hard-drive choose to delete most of my university work. Lucky enough I manage to recover a lot of the modules and I manage to get the textures back however my scene for Scripting & dynamics was gone so I would have to re-create the material. 
It also didn't help that this week I was ill and didn't get as much done because of that.

The next week I'm going to try to either make a better shader using the ShaderFX or try using the Substance plug-in and to use the Substance Designer to make the material transition and expose paramaters that I could hopefully change via Python 

Saturday, 27 February 2016

Research into Dynamic Weather in Games.

These next 2 weeks would be researching into dynamic weathers, more research into Python and expressions and getting the learning contract done.

The lesson this week was just as daunting as the one last week. It was pretty programming heavy and some of the syntax that was being used I had never done before.
For example when using Global variables I wasn't sure what that was but I felt I had a slight idea. In Unreal Engine 4 with the Blueprint system I can create something called a public variable. I asked Grant if they were the same thing and he said yes which eased me a little more.

As I felt lost with all the programming (though I was told only this and last week was more programming heavy) I looked up for another video that did the Python and Expressions together. Though I had watched the Digital Tutors sword trail video I felt that it would benefit me to try and get around to making that just to keep that in my memory. 
I also found another one that Autodesk did as well which I wanted to try and get around to doing around the other modules as well as the main artifact for this module. 



Introduction to Python Scripting in Maya - Part 5.


As I wanted to do the dynamic weather which affected the materials in the scene I then looked and researched some videos for what I could do with my one. 


Unigine Game Engine - Day/Night Cycle + Weather Test.

This Unigine demo is a great look at what weather could do to the environments, however, this video only shows more of the wind having an effect. The materials don't seem to change at all, when the camera is pretty close to some stones it shows they still look pretty dry.



CryEngine Tech Demo - 2:09 Procedural GPGPU Weather.

At the 2:09 mark with the procedural weather this is the type of system I want to create for this project. You can see the water showing when it begins to rain and then when it is sunny and no longer raining the rain starts to dry up. This is a great example to show what the engine does and hopefully will give a reason for more games to implement it.


Dynamic Weather System in UDK

This is using a previous generation engine but this shader works well with the engine. If this engine could do it, it is curious on why some older games do not try to do this as well. However, we don't get shown the shader it self and the programming which could have gone into this, so it could be that games in previous generation did not implement this because of memory, this video works well but what is it like with its memory.


Weather Time Lapse - Skyrim Enhanced Shaders

Skyrim is a very big game and back in its say there wasn't a reason to flaw much of the game. The Weather in Skyrim has had many different versions since its release due to modding, which can give it more of a realistic look, however, most of these shaders only change the weather itself and never the actions of players and the materials. There could be a MOD like that however, I have not found it yet.

The Witch 3 'Dynamic Weather' PS4

The Witcher is one of the recent next-gen releases on the PlayStation 4 and has a dynamic Weather system on which changes the look of materials as well. So Garret will look wet on his clothing if he is outside in the rain. 

Driveclub: Dynamic Weather

Driveclub is another next-gen release on which has a good focus on its dynamic weather and how it changes the materials in the world, this is the second next-gen game I've found with this type of change.


Tom Clancy's: The Division Snow drop Engine Tech Trailer - 1:51 Dynamic Material Shaders

The Division is another next-gen game with the dynamic weather on which changes the way the materials look in the world, even on the assets laying about.

Out of all these videos, the last 3 are from reasonable newer games which have a little more fidelity to their environments. With older games and there use of weather it was more or less there to set the mood.
The dynamic materials from The Division is what I wanted to do with the environments and the weather system.
With more of the newer generation games implementing the weather system it does show that due to the memory of older platforms that this couldn't have been done before, with memory being much larger, weather effects changing materials is more likely going to happening.

I'm not partially sure what I'm going to do in the environment and I'll need to create some textures for the scene reasonable quick to make sure I don't fall behind on my plan that I make for the learning plan.

The video 'Dynamic Weather in UDK' & The Division video, is what I would like to do with my materials. As for the weather I'd like it to be pretty standard but still readable by the viewer so they know what it is.
If I had/have the time I'd like to try get a tree that possibly moves in the wind too.

For my learning contract I found some pretty good reference I could use for this too.




Friday, 12 February 2016

Finding a Problem

After speaking with Grant I learnt that we didn't need to have the use of expressions in this module, for that reason I began to think more of what I could do.
I really wanted to do something that would require texture and shader work but I don't know how to write HLSL and last time I touched CG was like very basic stuff back in 2011.

For what I wanted to do with textures I thought I could create something like a shader for lets say for example a Molotov hits a wooden floor and in a game it hurts a player, but what does it do to the environment?
Nothing most of the time, so here I have a problem I could solve.
The reasoning to me not continuing with the rice bag concept was that Naughty Dog made it, it's not a problem in games either. I wanted to create something more dynamic in relations to materials with a problem on which I could solve.

With this fire burning wood if hit by a Molotov I thought it could be a great idea, but it seemed like a very small concept.

As I wasn't too sure how I would work this with the shaders inside of Maya because I only had done something with shaders inside of UE4 before, I went into research what Maya had to show. I then remembered a shading module called ShaderFX and knew this worked with the Viewport2.0 and used PBR (Physically Based Rendering) textures.
I then went from there to do some research on this tool as it was a node based shader development which was almost like the Unreal Engine one.

One of the first things I searched was ShaderFX and Python, to make sure I could very much control the shader through Python, I didn't find much but from what I found it kind of showed that it was possible to do this.

EDIT - The video that used to be here demonstrated a random shader assignment using Python and ShaderFX but the author appears to have recently deleted the video so it can no longer be used.

Another video I found was even more helpful because not did it only just show the tool but it also made the python script downloadable so I was able to look into the code to help me work out how I would do something with ShaderFXs. 

[Downloadable Link]

This was great stuff and super helpful as I was able to know that I could work with both ShaderFX with the Python scripting.
I kept the wood burning idea in my head and waited till the weeks lecture started so I could ask Grant about it.

----------

This weeks lecture was super helpful, we were shown previous examples of what students had done in the past, great! Now I was getting a more concrete idea of what I could develop and achieve.

Thought the wood burning one would be good I didn't really know if it was big enough or how I would go about making a area of burning effect.
From the lecture I was hit by the weather effect one, I was like hmm, I wonder if I could make something a bit more advanced from that.
Last semester I was doing freelance work for a tutorial studio called 3DMotive, it's like Digital Tutors but more aimed towards video game tutorials.
One of the materials I did for a recent course [Link to course] was creating a dynamic material that would go through change if it was raining, snowing or sunny.

I then thought, what if I created a dynamic weather system that effects the environment?
This hadn't been done much in video games to my knowledge and it could be a great place to start the research and find out what to do with this.

Thus began my journey on pushing forward with creating a dynamic weather system inside of Maya which put the focus on texture changes from the weather.

I spoke with Grant and he seemed okay with this idea...Great!


Tuesday, 2 February 2016

The Rice Bag

This week I was thinking of nailing my idea down a little more but I still wasn't 100% sure what was the requirements so I made it my job to pitch this idea and ask Grant about the module and how free it was and did it need to include expressions or just scripting.

I wanted to pitch this idea to do something that I saw in the trailer of Uncharted 4 and try to re-create the same idea as I thought it would make an interesting module topic.

Below are some pictures of the rice bag and it's dynamics which was taken from the Naughty Dog HeadSpace VFX video from week one.




Uncharted 4 Tech Art Demo - [Link]

As you can see the bags (circled in red) are used for cover, when they are hit by a bullet the rice sack would then begin to leak out the rice (the purple circle). The bag after a time will begin to deflate as you can see from the last image clearly.

I wasn't sure how I would achieve this and I asked a guy I know who worked as a VFX artist at Bioware how they normal go about creating VFXs for games and do they just use Maya as I wasn't sure if I could or wanted to do everything in Maya as I wanted to special in games which use engines.
His reply was "making rice come out of a bag will be tricky but can be achieved by using the volume of particles to drive the bags mass".
He also said Maya is normally great for prototyping but they wouldn't normally use just Maya to create all the effects.

I wasn't really sure how I would do this in just Maya or what to even start with, but I made some guesses that the bag might be achievable in Maya and having a particle emit from a set point where a bullet would have it to have rice drop out.

Maya 2014 nCloth Inflation Tutorial by Stuart Christensen


Wednesday, 27 January 2016

Further Research

For this module I want to create VFXs inside of a game engine using Unreal Engine 4 as the game VFXs is what I want to specialize in for this module.

Unreal has a particle effect system called "Cascade" on which I have a little experience in using but wanted to push my knowledge inside of it. 

I began looking at types of effects I could make inside of the engine, however when I did this I wasn't sure what I problem I wanted to try and solve as of yet, I was hoping this research would help me work this out.

As I want to be a texture artist I wanted to do something that would require the use of textures/Shaders, though I don't know how to write shaders I have a knowledge of the node based shaders inside of Unreal Engine 4, I wouldn't mind doing something similar to this. 


Fire and Water Shader Effects inside of Unreal Engine 4

Another idea was to work on magical effects for players that you would typically see in games such as League of Legends, DOTA and ect. 


Magical Effects in Unreal Engine 4

One of the other ideas was to create something like dynamic foliage that would move as the player interacts with it, this idea spurred from last week blog from the Naughty Dog Headspace video. This was one I found with someone trying it out in Unreal Engine 4 (UE4).

Unreal Engine 4 Interactive Foliage Material Test

I also had the idea of doing something like an ocean that interacts with wind and what ever was on the water would interactive with the waves. This idea was brought up from playing Assassin's Creeds: Black Flag with how the ship reacts with the ocean. This is a video I found of someone working on a ocean inside UE4.

Unreal Engine 4 - Ocean Storm WIP

Next I would need to find out if this is what would be okay for the module and then to work out a problem that isn't in most games that my version of these could bring to the table. 

Tuesday, 19 January 2016

VFXs in Games

From the start of being on the masters I originally wanted to be a VFX artist for video games.
For this module I wanted to put the focus on that. Though my idea of where I wanted to go in the industry has changed and become more concrete I have chosen to become a texture artist in the industry.

Which means for this module I would like to focus on something that either uses shaders, a game engine or just make it a way I can experiment in Maya with the dynamics.
Though I know I want to become a texture artist, this could lead into working in the VFXs studios in films who look for texture artists which go into the VFXs, for example MPC, Industrial Light & Magic and Double Negative are just some of the VFXs studios that look for that role.

This module however will be put on the original focus on that I wanted to give VFXs in games a go. The objective now was to find a problem on which I could solve and create within this module.

Below are videos I found that talk about VFXs in games, one is even a video from Naughty Dog about hiring for that role. I've also added some showreels for VFXs in games too.

Working for Naughty Dog - VFX
Headspace: Naughty Dog - Technical Art


Digic Demo Reel 2014


Autodesk Games Customers Showreel 2015