Wednesday, May 22, 2013

Importons/Irradiance Particles

For another personal tutorial, I did this tutorial about Importons and Irradiance Particles. Basically, Importons and Irradiance Particles are another form of indirect lighting, like global illumination and final gather, and they work together to create indirect lighting effects that can be high quality and take less time to render. The importons and irradiance particles only look at what the camera sees to render things out, so it doesn't spend a lot of time rendering things that won't be seen. Anyway, here's some pictures.

Here's an image rendered with final gather. You can see it looks pretty good, but it took about 21 minutes to render the image... which is a pretty long time.

And here's the same image rendered with importons and irradiance particles. It looks pretty similar to the final gather picture, but it only took about 8 minutes to render. As you can see, importons and irradiance particles allow you to get very good results with a lot less time. Also, you could probably turn up the render settings to get an even higher quality image. Anyway, I guess it's just good to know multiple techniques for adding indirect lighting to your scene.

Tuesday, May 21, 2013

Caustics

For a personal tutorial, I did a caustics tutorial here. It wasn't too bad, I just had to mess around with the settings a lot to get some results. I'm still having some problems with the caustics doing weird things and I'm trying to figure out why, but here's what I've got so far. Here's a basic list of things that I did to use the caustics.

1. Make sure to increase number of Reflections, Refractions, and Max Trace Depth in the Raytracing section of the Quality tab in the Mental Ray render settings.
2. Create scene light (won't use caustics). Turn on Raytrace Shadows. Go to mental ray tab and under Area Light check Use Light Shape.
3. Create a secondary, special spotlight to emit caustic photons (unless you need caustics over a large area).
3a. In spotlight: Decrease intensity to 0, uncheck Emit Specular.
3b. In spotlight mental ray tab: Check Emit Photons.
4. Turn on Final Gather.
5. Go to Render Settings > Indirect Lighting > Caustics. Check the Caustics box.
6. Adjust the photon settings in the spotlight (such as the number of photons (usually 100,000 or more), intensity, etc.)
7. Adjust the Caustics settings in the render settings. Usually use a small radius (such as 0.1 or lower).
8. Go to Render Settings > Quality > Raytrace/Scanline Quality. Increase the Max Sample Level.

Anyway, here's some pictures I've got so far.

Before caustics

With caustics (individual spot lights on each object)


With caustics (with just one area light emitting caustics on all the objects and some tweaked settings)

Thursday, April 4, 2013

Luminance Depth Render Pass

For a personal tutorial, I decided to do this tutorial about creating a luminance depth render pass to use in an alpha channel to get a realistic depth of field effect in Photoshop (a similar technique could probably be used for After Effects, too). Also, I used this forum post to figure out how to make an alpha channel in Photoshop, because I wasn't sure how to make one. Anyway, the tutorial was not too difficult to follow once I figured out what I was doing. Below, I included images with the two techniques, the Maya Software method and the mental ray method.


Maya Software method luminance alpha channel pass thing


Maya Software method luminance alpha channel thing applied to the image.


Mental ray method luminance alpha channel thing.


Mental ray method luminance alpha channel thing applied to image.

In the end I ended up using the mental ray method, because I felt like the software method did not blur the background enough (ie. the sink and the paper towels). However, I'm sure there is a way to get the Maya Software method to have a darker background on the alpha channel. Anyway, this tutorial was definitely helpful because it enables a realistic depth of field effect sans super long renders and lower quality with the Maya built-in depth of field on the camera.

Monday, March 25, 2013

Grass and Wood Textures

For another group tutorial, I decided to make grass and wood textures to use in the game, since grass is a pretty important thing to have for the ground texture. Anyway, here is the grass texture tutorial I used along with an image of the texture file and the texture applied to the ground. The tutorial itself wasn't too difficult and also has some extra steps if you want to add lines to your grass like a football field, but I didn't need to do that.




Here is the tutorial I did for the wood texture (it is by the same guy). This tutorial was also pretty easy to follow, although some of the tools that he used in the Photoshop liquify filter weren't available in CS6 (I don't know why Adobe would have removed features, but whatever). Anyway, I just tried to achieve the same effect with the tools that I did have. Below is the texture and the texture applied to stuff.



Wednesday, March 20, 2013

Codecademy

For my group tutorials I've been teaching myself JavaScript at Codecademy so I can hopefully end up helping program the game if I actually get good enough to be able to program advanced game-type stuff. I've pretty much just been doing the tutorials for JavaScript on the website. They're not too hard, you just have to think about what you're doing. Below is a sample of a code I did in one of the tutorials to make a rock paper scissors game. Anyway, hopefully I'll keep learning JavaScript and be able to help with the programming eventually!


var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if(computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}

while(userChoice!=="rock" && userChoice!=="paper" && userChoice!=="scissors"){
userChoice = prompt("Please choose again.");
}

var compare = function(choice1,choice2){
if(choice1===choice2){
return "The result is a tie!"};
if(choice1==="rock"){
if(choice2==="scissors"){
return "rock wins";
} else {
return "paper wins";
}
};
if(choice1==="paper"){
if(choice2==="rock"){
return "paper wins";
}
else {
return "scissors wins";
}
}
if(choice1==="scissors")
if(choice2==="rock"){
return "rock wins";}
else{
return "scissors wins";
}
};

compare(userChoice,computerChoice)


Wednesday, February 20, 2013

Displacement Mapping

For my next personal tutorial, I decided that I wanted to learn more about displacement mapping and how it differs from bump mapping. I read about displacement mapping here (pg. 235 in the Google book if the link doesn't take you directly there). The pages in this book taught be about bump mapping and how it differs from displacement mapping. Displacement mapping is more realistic, however it is more processor intensive (as is the case with everything in Maya). Thus, displacement mapping is something I would use sparingly. I used this tutorial to learn about how to create a displacement map.

The above image is of a bump map with a noise texture. As you can see, it creates a pretty good effect, but the edges of the polygon mesh are still completely smooth, which is not totally realistic.

In the picture above, the sphere on the left still has the bump map. The sphere on the right as a displacement map with a noise texture. You can see that the edges here are actually rough, like they should be. However, it is pretty obvious that the displacement is way too strong.

So, all I did was lower the alpha gain value for the noise texture file to reduce the intensity of the displacement. However, the displacement still looks a little bit blocky and low resolution.

To fix this problem, I just increased the number of subdivisions on the sphere. However, by increasing the number of faces it makes this displacement method even more resource intensive.

Another cool thing that I learned is that you can go to Modify>Convert>Displacement to Polygons to make the displacement into an actual polygon mesh. Below is a picture of the wireframe of this new mesh; it is obvious that this method can create a very high poly mesh and will slow down Maya.
\
All in all, this tutorial taught me a new way to make objects look bumpy in a way that is a bit more realistic than bump mapping. I would definitely like to practice more with this technique and use it more if my computer will be able to handle it.

UV Mapping/Texturing

For my second group tutorial, I watched some videos about UV mapping. I've done some basic stuff with UV mapping, but I would like to learn some more advanced techniques. I will probably continue watching the rest of the videos to learn any new information they have to offer. I practiced by creating a UV map for the hallway for our game by creating an automatic mapping and then cutting certain edges and arranging them. Below is an image of the UV map, but it is not done being textured.

I also worked with texturing the house model by using the UV map. Below is an image of the UV map for the house and some images of the house.