2013년 11월 4일 월요일

Story Telling Environment

Story Telling Environment


A story telling environment.
The story brief: 
In a quiet friendly neighborhood lived an old couple. They loved each other very much. Harvey, the husband, was known for his doll making skills. People all around the world came to buy his creations. One day at night, Harvey's wife, Beth, died of an illness that she was suffering from for couple of years. 
The unexpected death turned Harvey insane; he burned, dismantled, and threw his creations out the window. In the morning, his neighbor, 5 year old girl named Emily, found a doll on her back yard. She immediately realized it belonged to Harvey because of his distinctive style. She knocked on Harvey's front door to returned the doll.
Harvey answered the door...
...with a mischievous grin, he asked her to enter the house. As soon as she entered he locked the door.
That was the last time Emily has been seem in the neighborhood.
The following year, Harvey dies of drug addiction thus the house became unoccupied.

Several decades pass...
A family of three buys the property and decides to move in. For the first couple of weeks, everything is happy with no suspicious activities. Coincidentally, the daughter of the family was also named Emily. One night, Emily hears creaks on the wooden floor. She told her parents next morning, but they could not find any signs of intruders or any signs of suspicious activities. The next night, Emily wakes up in the middle of the night and gets out of her bed to use the bathroom. However, she is shocked to see her room filled with dismantled dolls that does not belong to her. Afraid of the situation, she hides herself under her bed.    

2013년 10월 14일 월요일

Hard Surface Modeling


Hard Surface Modeling

Desert Eagle handgun





Updated Video:





Software used:
Maya 2014
Photoshop cs6
Xnormal
Crazybump
Substance Design 3.1
3D coat
UDK


2013년 10월 3일 목요일

Simple Modular Kit

Simple Modular Kit

This video demonstrates how versatile this building kit can be.






2013년 9월 30일 월요일

Mini Cooper Metro:Last Light style

Mini Cooper, Metro:Last Light style

======work in progress======
10-01-2013
The car is in the stage of getting colors and textures

--------------------------------------------------

10-05-2013
======work in progress======


--------------------------------------------------

10-06-2013
======work in progress======


--------------------------------------------------

10-06-2013
Finalized




2013년 9월 23일 월요일

Beautiful Biome

Beautiful Biome



Ringling College of Art and Design
[3rd year, Game Art and Design Major]

3D for Games II class project

The project requires the students to create at least 1 rock, 1 log/tree, foliage, and use landscape tool.

Modeled using:
-Maya 2014
-Zbrush 4r6
-3D coat
-Xnormal

-SpeedTree modeler
Textured using:
-photoshop CS6
-Ndo2
-Crazybump

Environment set-dressed and rendered using:
-Unreal Developmental Kit (July 2013)

-----------------------------------------------------
Beautiful Biome Update
10-03-2013



Updated:
The lighting has been changed and the waterfall has been deleted.
The waterfall wasn't realistic enough to fit in the environment.
Instead, crepuscular rays have been added to give the scene more character.

Beauty shots:






2013년 9월 12일 목요일

Wheel (Clean vs Dirty)

Wheel (Clean vs Dirty)

-wheel modeling WIP- (Sept 1,2013)
currently, the wheel is being created. My strategy for this is quite logical. There are 10 spokes on the rim, which means I can only make one spoke and duplicate the spoke 9 more times at 36 degrees and I'll get a perfectly round wheel with identical spokes. At this point, the rim will have about 6k tri count. But that tri count is pointless because I'll be making a low poly to bake the details onto the low poly.

-wheel modeling and base texture- (Sept 3, 2013)
[2~3 hours of modeling + 2 hours of UV and texturing]
This is how I've created the wheel. Basic break down: far left was 1/4 of circle with basic spokes. Then, I've created one spoke which will contain all the details. Then I've duplicated the spokes 9 more times so I'll get 10 spoke wheel. Then, I've created low poly mesh, then a tube for the tire. Then baked all the details onto the lowpoly mesh.

-wheel texture semi finished- (Sept 4, 2013)
[5 hours of UV, baking, texturing]
The wheel is in its completed staged on modeling. I've been texturing the wheel in its brand new state.
Baking the detail onto the low poly was difficult because the details, for some reason, did not come out nicely. 
That ate up two to three hours of my working time. 
The texture of the tire seems a little awkward for me at the moment.
Some critics received from friends were possible backwards normal that I wasn't aware of.
I will look in that.

-wheel texture semi finished- (Sept 5, 2013)
[2~3 hours of texturing]
The advises I received from my friends helped me made it look better.
The most obvious one was the tread was looking very low res compared to the rest of the wheel. As I addressed that, the wheel instantly became more appealing.
Secondly, the spec... As a Ringling graduate suggested, a metallic surface will reflect a yellow or a blue tinted spec instead of pure white. So I've addressed it so that it will reflect a little yellowish tint. I think it made it look a little more believable and gave the wheel more character.
And the rim was apparently coming too far out. People assumed, it will get scratched easily from daily usage. So I've gave the wheel concave angle for the rim, which I think kind of helps. But at the same time, the result seems debatable for me.
Now I believe the brand new tire look is nearing its conclusion.
NEXT! making it look old and scratched.

-wheel texture (dirty)- (Sept 8, 2013)
[5 hours of texturing (material editor)]

I wanted to make show difference between brand new tire and dirty tire. As a result, I made the wheel covered in dirty with some scratches. 
the dirty texture is diffuse only, normal and spec will be added soon.

-wheel finished- (Sept 11, 2013)
[6 hours of texturing (material editor)]

Softwares used:  
  • Maya 2014
  • Photoshop CS6
  • Unreal Developmental Kit (July 2013)
  • Quixel nDo2
  • Xnormal
  • Crazy bump



Beauty shots




2013년 8월 22일 목요일

UDK Procedural Building System WIP

Procedural Building System -WIP-

The procedural Building System allows a designer to quickly and efficiently create a building with specified rule set. The rule set can be as simple as just couple of nodes. However, in order to make a building that looks like a real building, more specific commands will be required.

This picture demonstrates the what the rule sets are capable of doing. The rule set above tells the ProcBuilding brush to place a flat window mesh and 3-sided window mesh next to each other on the brush. The brush size is 1800x1800x1800. The meshes were 320 units and 160 units, so they repeated 9 times on the X-axis. Then I've wrote the ruleset to place the frieze in between the window meshes all the way from bottom of the building to the top.

This picture shows updated version of the rule set. Now there are rather respectable looking corner piece as well as store windows for the bottom floor. 

...More updates on the way...
-to be continued-

__________________________________________________________

In this update, there is an extra piece of mesh in between the straight window and 3-sided window. As a result, the rule set needed to be updated as well.
 
_________________________________________________________
 


 
The ruleset has been updated and close to being finalized for this particular project.
The rule set is capable of making irregular shaped buildings as well as rounded buildings.
The rule set has been created so that the user has the power to choose a wall that the user wants and make it a plain wall with no windows. More variations can be added as well.
 
___________________________________________________________________
(Aug 28,2013)
The proc building ruleset has been "finalized". It can never be quite finalized in my opinion.
 
-Proc Building-
 
 
The rectangular building has 2 proc building brushes.
As the viewers can see the awning that is built on the ground floor can't be found in the top portion of the building. That is because there's a variation node in the rule set which allows the user to choose whether to have or not have awnings.
The different variations are better visible on the octagonal shaped building. All the three visible sides are constructed with different variations, which the users have control over.
 
-modular kit (tessellated)-

The buildings are made up of 9 to 12 pieces. There are two variations for each of the 3 frieze meshes(straight, 3-sided, large).
The uses has the freedom to make their buildings with only one of the 2 variations or both.
The big appeal for this assets are the snow effect on top of the meshes.
In order to give the snow more body, I've applied tessellation which adapt to the camera position. 

-proc building ruleset-

This represents roughly what my ruleset looks like. It is just matter of time before the ruleset gets many for variations and become extremely versatile.  
 
 
 
End notes:
The Proc Building system is a rather powerful system which allows the users to create buildings instantly. The buildings are instance of each other meaning it will use less performance power than as if the buildings were created individually by pieces. One "annoying" aspect of the proc building is that the numbers has to be precise. Otherwise, there will be lights visible between the cracks of the meshes, or there will be annoying z fighting.
 
This knowledge of making proc building will pay off when making a whole city environment such as Rockstar's GTA series or other open world games for that matter.
 
This project was a good project for me to learn new techniques. This particular project gave me opportunities to learn about procedural building system, tessellation, and substance designer 3.5.
Substance Designer 3.5 allows an artist to create textures from node based work flow. The pros and cons of Substance Designer is debatable because it is essentially UDK's material editor, but in another software.
But in my experience, it is easier to use and I had to freedom to just drag in another texture (which they call it Filter) to my current project and create cohesive materials for an asset. In addition, the normal, spec, curvature, world normal, etc. maps can be created in the software by importing a custom mesh. As a result, the artist may create individual, precise textures for the mesh. Not the mention, the user has the ability to paint straight on to the mesh which is not available in UDK.
The project create in Substance Designer 3.5 can be published, meaning saved so it is compatible in UDK, and bring it straight into UDK and be able to tweak numbers instantly like material instance.
 
The total hours spent on the project adds up to be approximately 50 hours. The total hours include modeling, texturing, proc building ruleset creation, tessellation, and brainstorming.
 



2013년 8월 21일 수요일

UDK material transition



UDK shader: Material transtion via matinee

This demo is strictly about demonstrating material transition via matinee sequence.

Two different textures were added into one material sequence. Then it was made into a material instance. Thus, I was able to control the behavior of the material via matinee using Float Material Param Track
As you can see, the kismet sequence is quite simple.
The analog input determines what button triggers the event. In my case, E and F were the keys to play and reverse the matinee sequence. 



BMW 135i model



Approximately 10 hours of modeling and texturing
Modeled in Maya 2012
Rendered in UDK

This was one of my favorite cars and I wanted to spend some time modeling it.
There had been several times where I came across a troubling situation due to making my geometry not clean. I ended up fixing some and some I had to delete and start fresh.


2013년 5월 7일 화요일

(UDK) Water Material Tutorial

UDK Water Material Tutorial

This tutorial is going to show you to how to make a water material similar to this water material.
The textures necessary for this tutorial can be downloaded from HERE
---------------------------------------------------------------------------------

First, we'll open up UDK to start the tutorial.
I used July 2012 version of UDK to create this tutorial.

 It is crucial that the UDK is in DX11 mode in order for the material to look like what it is in the video. The software will tell you that it will need to restart in order for the DX11 to work.

After you have changed the UDK from DX9 to DX11, we will quickly jump into Maya or 3dsMax to create a simple plane for where the material will be applied. In my case, I used Maya 2013 (it really doesn't matter).
For this tutorial, I created a plane 10 squares x 10 squares (I apologize for the image below).
They are 1024 units by 1024 units in width and height. And rotated 90degrees in x-axis so that it is perpendicular to the Z axis. I have set my maya settings so that Z is going up and down instead of Y axis.



Creating this plane is quite simple. Now we are ready to export it. But before exporting, I always like to do Edit > Freeze Transformation. Then export it to FBX file so that you can import it to UDK.
Now you may close Maya or 3dsMax, we won't be using it anymore for the rest of this tutorial.

Back in UDK, we'll now create a package. I named mine "waterTUT", you may name yours whatever you want. And then you will create a material. I named mine "WaterMat".

I strongly believe that naming assets specifically is a habit that everyone should get into. It may save precious time in the future.
After you've sucessfully created a material, import the plane as a static mesh and all the textures that are included in this tutorial. One normal map is from the UDK contents, it is T_UN_Liquid_BSP_SoftRiver_01_normal_b. It is included in the UDK itself.
And this will be a good place to SAVE your package. 
Now, we will create a map that will be used for reflection.


In the Content Browser page, there is a tab named Actor Classes. Under the Actor classes tab, go under Uncategorized and drag SceneCaptureCubeMapActor into the map. In the image, I was using DX9 instead of DX11. As a result, the sphere will be colored. However, when you use DX11, it will remain black. I believe it is a bug of some sort that Epic has not yet addressed at the time of making this tutorial. 


While the SceneCaptureCubeMapActor is selected, press F4 or go to its properties. 
Under the properties, we will change several items.
1. change the view mode to SceneCapView_Lit.
2. make Far Plane a great number. (I found pressing 9 for several seconds is a good method since it will automatically change the number to the max numeric value if the artist exceeds it)
3. check Enable Post Process and Enable Fog
***Please note that changing these setting will require more performance power than when it is at its original value.***
as I mentioned before, the sphere will change its color when those setting are altered in DX9 mode. 


Now, we will jump back into the content browser and create something called TextureRenderTargetCube by right-clicking on the empty space of content browser.

When this window pops up, we'll name it "reflection". You may name it anything you want.
And for the width, we'll change it to 1024. Also keep in mind that raising this value will have negative impact on the performance. However, higher value will give you higher resolution of the reflecting image. So you may need to tweak the value to fit your allowance and project.

When you press "Ok", you will now need to plug in the TextureRenderTargetCube to the SceneCaptureCubeMapActor. You may easily do that by just pressing the green button on the properties window that had been open the whole time.
Now you may want to SAVE your package and the map. The textureRenderTargetCube will NOT work when you use it in a different map; you will need to manually plug it into another CubeMapActor if you want it in other maps. 

Now that the package is saved, I will continue this tutorial by right clicking TextureRenderTargetCube and selecting "Create New Static Texture..." 
The software will compute the scene for couple of seconds. You might need to go into different package and return back for the static images to show, or refreshing the page could work.

***Please note that the different scene will give the water different colors***

When you've successfully created the static images, all the necessary components for the material has been collected. And all we have to do now is to create the material inside material editor. 

With this material it is CRUCIAL to change the Blend Mode to Translucent

We'll return back to the material we've created before and start the creation. The image most likely will speak for itself. I've multiplied (.0806, .162, .243) constant color to .25 constant. I played around with different values but I personally liked this color the best. 
Next, I grabbed CameraWorldPosition and Reflection Vector and multiplied it together. And they are plugged into texture sample (TextureCube was dragged into the editor from the content browser). 
Now the TextueCube is multiplied by .1 to tone it down and not make it look like a mirror. 
The Fresnel in the front will give the water a highlight. 


The SpecularPower is set to 55 (It may be changed to fit your project).
And the opacity is simply DepthBiasedAlpha with alpha of 1 and Bias Scale of 256. The bias scale will determine where the material will become opaque. And the alpha will determine how opaque the water is. So in this case, plugging value of 1 is unnecessary.


Next step is creating the specular map. The panners will move the image in X and Y direction to create the illusion of moving waves. The TextureCordinator will tile the image.
And the time node is unnecessary for panner and rotator as I found out. It is necessary for sine and cosine nodes though.
I used an image with colors to create the specular map and just desaturated it 100% to get black and white image. I also noticed by using this particular spec map as a distortion map, the result I got was enjoyable. 


After the Spec map has been created, Normal map is next. Just like the spec map, I created the normal by multiply the 2 different normal maps with different speeds together to create the illusion of the waves. 

when you see the material inside a map, it should look something like this:



You will notice that there are no bubbles near the edge of the water. Now, we will create that in the editor.

You do not have to create all the nodes. However, it is recommended so that the bubbles will also look lively next the waves. It uses the similar technique as the spec map and the normal map in the sense that it is moving textures combined into one by multiply node. You probably have noticed the DepthBiasedAlpha here as well. It will determine at what depth the bubbles will appear and where the cut off will be. 
You will need to combine the set of nodes in Diffuse bubble with the nodes for bubbles by ADDING these two sets of nodes. So in the end, it should look like this:

When you preview the bubbles in the editor, it should look more or less like the image below:

Now the bubbles will be created near the shallow parks of the water where the broken waves form bubbles. However, what bothers me is the sharp cutoff of the bubbles. It doesn't look organic to me. In order to fix that a little more work has to be done.


Addition of 7 more nodes will successfully get rid of the harsh edges of the bubbles. You will notice that the edges will become more broken and little more random than before. I personally prefer this look. 

Now the final step.
Until now, DX11 was not doing anything to make the material look great. However, this is where DX11 will shine. 
First we will create the nodes that will be used for World Displacement.


The only texture sample present in the image will act as the huge round waves that create the illusion so that the material behaves like a big body of water. You may experiment with different images for different effect. 


You will notice that the WorldDisplacement is not available for use. It is because UDK doesn't know that the artist wants to use that. So what we need to do is to let the software know that we are going to use it. The settings can be adjusted under the D3D11 tab. What you need to do is change the D3D11 Tessellation Mode to PNTriangles and enable crack free displacement. That will allow you to plug in the nodes to the World Displacement.


I have not gone in depth with tessellation in this particular tutorial. But it is unwise to leave the tessellation as is. The artist should create series of nodes to tell the UDK to only tessellate the meshes near the camera or at designated distance. Otherwise, the performance requirement will be outrageous. 

Now you have successfully created the water material.




Thank you for reading my tutorial and I hope this had been a help.
-minimin0425-
_________________________________________________________________________________
Full node screenshot

Below are the screenshots of the full node system. It is color coded and clearly labeled. 
I hope this helps. Thank you for using my tutorial.


Below are the detailed view of the node system.
They are color coded, so it will be easy for you to see which one it is zooming into.