Tuesday, November 8, 2011
Monday, November 7, 2011
The idea behind this solution is to add to all of the existing values of the terrain to create and offset from height zero (0). This maintains all of the existing sculpted terrain and allows sculpting downward or into the terrain.
Monday, October 10, 2011
This drawing was an experimental technique for drawing in Photoshop. There is a significantly high chance that folks already use this method but, I am feeling special for coming up with the technique on my own. Anyway, this drawing was accomplished using many pixelated rough sketches to give the overall shape and lighting information. After the sketch as done the blur tool was used to blend the pixelated drawing to give a nice smooth look. The final image was then treated with the noise filter to further blend the image.
Currently I working on several Unity 3D projects so I am trying to get a grasp of the shaders technology that is available. Unfortunately, custom shaders needs to be programmed/written because there isn't a material editor like UDK. This is a simple test of some custom shaders for Unity. The Ambient Occlusion is pre-rendered and is a separate texture. The final shader would store the Ambient Occlusion in a the Alpha channel and currently, the intensity of the shadow is adjustable without causing overexposure. Also the Ambient Occlusion directly affects the reflection.
Thursday, September 29, 2011
This is my attempt to create textures using Maya. First the potential texture surface is modeled then its rendered using a custom Orthographic camera.
The second series of images used a similar technique to create a satellite type texture.
Sunday, July 17, 2011
- Place the SceneCaptureMapActor into the scene
- Create a TextureRenderTargetCube texture in the Content Browser
- Assign the Texture to the SceneCaptureMapActor that was placed in the scene (F4>Scene Capture Actor> Capture> Texture Target)
- In the content browser right click on the TextureRenderTargetCube and select Create New Static Texture.
Once the cube map was made the next step was creating the reflection mask. The reflection mask is the main aspect of creating the illusion of motion with the water. I used a noise texture and a water texture with a Panner node. Each Texture was panned at varying speeds and was tiled slightly different. This created enough variation to make the water look believable. Half of this reflection mask was output(ed) to Specularity and multiplied to another version of the panning noise texture. The noise texture was created in photoshop using the noise filter.
Fresnel was combined to the mask to control the angle of reflection and it was also used to enhance the base color with a Scalar Parameter to control the intensity of the Fresnel.
The reflection was created using the cube map texture with Reflection Vector node plugin into the UVs. This was multiplied with the mask which would control where the reflection would and would not show.
Opacity used some features that were used to gernerate the reflection mask but, this was combined with DestDepth and PixelDepth (DestDepth - PixelDepth )/integer. The integer was made scalar to control the results. Because the depth used in the water was very shallow, the lower part of the water fall became completely opaque hiding the rocks behind it. To counter this I created a mask which was then multiplied to the results of the DestDepth/Pixel Depth calculation. This allowed the lower part of the water fall to return to the previous transparency. A Scalar Integer was added to control the intensity of this mask.
The reason the texture mask is red, white and blue is because I would at times create more than one mask and place these masks into different channels reducing the amount of textures I need to import into the engine.
And finally, the normals were generated from the specularity by using the Append node to create a normal map.
Because the Panner node only (as far as I know) allows for the texture to be moved in one direction, the UVs for the waterfall needed to be adjusted so that the key areas would show the water moving along the geometry correctly.
Saturday, July 16, 2011
This is the final composition. Its got a "dreamy" feel to it. I was finally able to figure the issue I was having with normal maps from Maya. Apparently the green channel needs to be reversed in order for it to be compatible with UDK. I was also able to try out vertex painting which was used on the rock to give the impression of wet and dry. In addition to that I experimented with water effects using the Panner node in addition to making a relatively complex shader for the water. I also revisited particles effects in which I needed to refresh my memory on at least the basics.
Monday, July 11, 2011
Wednesday, June 29, 2011
Saturday, June 25, 2011
Thursday, June 23, 2011
Wednesday, June 22, 2011
Friday, June 17, 2011
This is my most recent attempt with UDK. Its another proof of concept. Here is also a link to actual animation. Video
The overall process of getting the blendshapes and animation into the engine was rather painful. However in the end I finally figure out the process and the limitations of this this method of rendering.
Problems and Solutions
Exporting Character Meshes
My current setup for animation in Maya is that all animation is done on referenced rigs. The reason for this is to allow my animator to animate on rigs even if they are not fully completed. This also allows me to update the rig without breaking or affecting the animators current animation. However, this setup came with unexpected problems. Since the rigs are referenced in Maya, the referenced rigs all contained an additional prefix. So that MyRig when reference would be named MyRig_MyRig.
Originally I exported the character mesh from the MyRig file. This exported all of the joints and skin clusters. Then I exported the animation from the referenced file. However, the referenced file contain the prefix MyRig making the exported animated joints be named MyRig_joint1 instead of joint1. This created a naming conflict causing my animations not to work. So in order for me to keep my setup of the animator using a reference rig, I reference the rig into an empty scene and exported it to UDK. This appeneded the additional prefix and resolved the problem. Hopefully that makes sense to anyone who is reading this.
In addition to that, my blendshapes weren't exporting correctly. They all were the default unmodified face. The problem was due to my rig having expressions on the blenshapes caused by the blendshape controllers. So when ActorX tries to export and supposedly attempts to dial the blenshape it fails because of the expression connection. This forced me to have another file in which the controllers for the blendshapes were removed allowing the blendshapes to correctly export.
Wednesday, April 27, 2011
Tuesday, April 12, 2011
Wednesday, April 6, 2011
I recently tried playing around with DirectX 11 tessellation feature in UDK. The results are rather interesting. I did run into some unusual problems when this feature is activated.
- When using static lighting there is no self shadowing from the displacement.
- Self shadowing occurs when using dynamic light
- When you switch to light only mode, tessellation disappears. This could be the reason why self shadowing with static lighting does not work because the light calculation is evaluated without tessellation. (I guessing here)
- Tessellation with displacement is degraded when the object is scaled. The image above shows how much degradation occurs by scaling the mesh to 3.
- Tessellation does not work if there are no smoothing groups, so meshes would need to be assigned a smoothing group in order for tessellation to work.
- Multiple smoothing groups would create seams and tearing as shown below
Sunday, April 3, 2011
Monday, March 28, 2011
Friday, March 25, 2011
Thursday, March 24, 2011
Wednesday, March 2, 2011
The next image is a screen capture of the wireframe.
The image below is the final render using 'tiledshot'.
Tuesday, February 8, 2011
Saturday, February 5, 2011
Thursday, January 13, 2011
Monday, January 3, 2011
The concept for this robot was done by a fellow classmate of mine Dongbo Sun. As with every project I ran in to several problems. Firstly I was unable to import the robot as one unit so it was imported in parts. When it was imported as one unit, the imported model was severely corrupted. Another issue I did not anticipate was the lack of free motion on the robot's shoulders and legs, limiting the positions that he can be posed. The final image is the best pose that I could have conjured up. Like the other renders that contain real-time reflections, I was unable to get the reflection to show when using `tiledShot`. In addition that the colors were off and it maybe due to the `tiledShot` ignoring some of the Post Process features. Here are the two images created. One was generated as a screen shot, the other using `tiledShot`. Here is the link to the UDK files. LINK
Taken using `tiledShot`
Sunday, January 2, 2011
This is Project 2 which is using the concept art of Alex Broeckel. For this one I played around with varying shaders but the results weren't up to spec. However, I was able to dip my hands in HLSL for making a custom overlay shader. I also got a bit more acquainted with UDK Post Process Volumes which would be very useful for future projects. For this project, I generated three renders because I was indecisive as to about the look and feel. The three renders are the varying attempts of trying different lighting conditions and effects. Here is the link to the UDK files that were used. LINK