Thursday, December 30, 2010

Project 01 UDK Files

Here is a link to the asset package and the map file for Project 01.


Dan Ghiordancescu Concept

This render is based on Dan Ghiordancescu concept art that I found In addition to that, the images shown here have all been rendered using UDK. I did run into several problems in creating this image. These problems are as follows

  1. Reflections:- The Unreal Engine generally fakes reflections. I used two types of reflection in this image. One is the SceneCaptureActor that uses a plane for reflections and the other is using a 2D image to give the illusion of a reflection.
  2. Anti-Aliasing:- There is still a lack of support for this function in UDK. Even though I have read several posts on forum that some people have gotten AA to work I have been unsuccessfully. On both systems one with an ATI and the other Nvidia, when MSAA is activated, the game in unable to run.
  3. TiledShot:- TileShot is a command that is used to create high resolution screenshots in UDK. The only problem is that it ignores reflections that are real-time.
  4. UV Seams:- UV seams are a major problem for me at the moment. In one instance they are invisible when Full Precision UVs is activated. However, when Lightmass is used the seams are clearly visible. It may be because I am using high resolution light maps and that lower resolution light maps may blur the seams.

The three images shown (1) Screenshot (2) TiledShot 4 and (3) Combining 1 and 2 in Photoshop. All images were resized to 720p.

Image 1 (Screenshot)

Image 2 (TiledShot 4)

Image 3 (Image 1 amd 2 Combined)

Tuesday, December 14, 2010

Tuesday, November 16, 2010

Unreal FruitBowl

Finally I am its completed. The Unreal version of the fruit bowl.

Wednesday, November 3, 2010

Current WIP

This is the current work in progress of the fruit bowl in Unreal Editor.

Wednesday, October 27, 2010

Models Imported for Fruit Bowl

 This is the final models imported into the engine with a gray material applied.

Unreal is rather sensitive with regards to the density of polygons that are imported. Highly dense models would give tears when imported. As shown below. Also the engine is very particular about topography. The difference between the two models below are 74 triangles. I used the relax function in 3ds Max to alleviate some of the the tearing when the models are imported into the Unreal Editor. The benefit of using relax is that it removes the need for re-modeling.

Tuesday, October 26, 2010

Material Test

This is a material test I did using the Unreal Editor. 

Tuesday, October 12, 2010

Fruit bowl

Fruit bowl done in Maya, Mental Ray and Photoshop.

Thursday, September 23, 2010

Office CryEngine Style

Unfortunately the Crysis Engine currently lacks indirect lighting so the lighting in this shot was done with many smaller lights, which caused the shadows to be washed out and some areas to be overly dark.

Wednesday, September 22, 2010

Office to Cry

Currently I am importing the scene of the Office shown below to the CryEngine. This is the current progress of the transfer.

Monday, September 20, 2010

Mental Ray Exposure Control

These are my first renders using MIA_Exposure_Photographic. This render was done in two days. One is using a warm photographic filter while the other is using a cool photographic filter.

Wednesday, September 15, 2010

Monday, August 30, 2010


This bathroom render was inspired by the Interniannual Bagno 1998-99 magazine page 15.

Wednesday, July 28, 2010

Color Correction Node




In addition to these variables there are the RGB and Hue variables. The numbers indicate the the value of the variable during render.

Fullscreen FX and DOF

 This was the flowgraph setup for Depth of Field. It a rather simple setup. However, in order to unlock any of the fullscreen FX for the CryEngine the FX nodes needs to be unhidden. The screen below shows how to unlock the hidden nodes.

Depth of Field (DOF)

DOF = 2

DOF = 1

DOF = 0

DOF in Sandbox 2 Editor

There seems to be a bug with DOF when using e_screenshot. I was able to capture the DOF using printscreen. However, DOF does work with captureFrames command.

The following screenshots were taken within the Sandbox 2 Editor using e_screenshot 1. Each screenshot was taken at 2560*1440 and was then down-sampled to1280*720. This process reduces aliasing. In order to remove the Dev information in the Editor, r_DisplayInfo was set to 0. The sun was used as the default light and intensity set to 10.

Screen Space Ambient Occlusion(SSAO)

SSAO = 3

SSAO = 2

SSAO = 1

SSAO = 0

Increasing the SSAO beyond the value of 2 significantly degrades render quality creating several artifacts.

The following screenshots were taken within the Sandbox 2 Editor using e_screenshot 1. Each screenshot was taken at 2560*1440 and was then down-sampled to1280*720. This process reduces aliasing. In order to remove the Dev information in the Editor, r_DisplayInfo was set to 0. The sun was used as the default light and intensity set to 10.


The following screenshots were taken within the Sandbox 2 Editor using e_screenshot 1. Each screenshot was taken at 2560*1440 and was then down-sampled to1280*720. This process reduces aliasing. In order to remove the Dev information in the Editor, r_DisplayInfo was set to 0. The sun was used as the default light and intensity set to 10.

HDR = 3

HDR = 2

HDR = 1

HDR = 0

Wednesday, July 21, 2010

Sequence Render

This is a test render of a video sequence in the editor.

Tuesday, June 15, 2010

Draft of new scene


Reference Image

Like with most of these projects, the perspective is always off from the original concept due to exaggeration used by the concept artist.

Tuesday, June 8, 2010

Scene in Editor

This is the scene in the editor.

Solution for disappearing textures

When I started to use the SandBox2 editor, I ran in to the issue of my textures disappearing after importing it into the editor. The reason for this is that the editor is setup to use Alien Brain which is a version control software and because it not installed or setup on most systems, it causes the core files of the game engine to be permanently locked. The solution to this is disabling the version control software.

More CryEngine Shots

Unreal to CryEngine

After struggling for several weeks trying to get a grip on the Unreal Engine, I have decided to abandon this engine for the CryEngine. The main reason for this change is that the Unreal Engine relies on lighting being baked in comparison to the CryEngine which is done in real-time. In addition to that there were several limitation with importing high poly models. The CryEngine allows the importing of higher polycount models to that of the Unreal Engine.

These are some of the renders I did in both engines. I believe the main reason the CryEngine looks better is due to the better handle of textures and realtime lighting. The CryEngine allowed me to maintain the texture integrity without significant degradation by setting the Anisotropic filtering to 16X on the material's textures.

Here are some screen comparisons





Tuesday, June 1, 2010

Unreal script road block

I am unable to create a script that would import everything from the selected group in the Content Browser of the Unreal Editor. Its not that its impossible to accomplish but there is a lack of documentation on executing commands and scripts while in the Editor vs Game. Even though all of the required scripts are present to make such an addon possible, the lack of information on running class independent of game triggers, post and pre game commands accomplishing this task seemed to go beyond the scope of what I am trying achieve. However, I believe it would be possible to create such a script as I get more familiarised with scripting and the overall limitations of both the technology and the availability of documentation.

Tuesday, May 18, 2010

Classes and subclasses

I have been trying to wrap my head around the classes and functions in Unrealscripting. Unfortunately alot of the aid online is very game centric and not Editor centric. One of the main problems I am running into is the replicating the functionality of the ActorFactoryStaticMesh class or StaticMeshActor class. When you right click on the viewport in the UnrealEd, you are able to add the selected mesh in the Content Browser. However, trying to write a script to allow the same functionality but mulitple times seems rather problematic. I am have been unsuccessful in finding the code or the methods used for simulating the same functionality as the Add StaticMesh or Add Selected Mesh.

All of the methods I have seen for replicating StaticMeshes has been during gameplay. So its quite possible accomplish the task but only during gameplay. This negates the functionality of pre calculated lighting since the meshes would only be spawned when the game starts.

Thursday, May 13, 2010

Re-assembling FBX imports

At the moment I am working on a script that would allow the reassembling of the static meshes imported into UnrealED to alleviate manually reassembling of scenes created in Maya. This may also be applicable to other 3D programs that export using the FBX format.

The approach that I am currently undertaking are
  1. Importing static meshes at location 0,0,0. When a static mesh is added to the scene in the UnrealED, location 0,0,0 for the static mesh that is being add is the point at which you right click to add the static mesh. Since this point is not actually location 0,0,0 the static mesh that is added would be relative to this point. In order to correct this you must manually set the location of the added mesh to location 0,0,0. So the first purpose of the script is to move the added static mesh to location 0,0,0.
  2. Duplicating static meshes. Once I am able to successfully duplicate static meshes in script, I would then be able to create and indefinite amount of static mesh using a for loop.
  3. Create a list of static mesh locations from the selected mesh in the content browser. This list would then be used to replace the meshes that are being duplicated in the preceding for loop.

Some of the classes that would be examined to accomplish some of these features are the functions found in the Actor class for movement and relocation, StaticMeshComponent class for the replacing of static meshes in the for loop and the ThumbnailRenderer, ThumbnailManager etc for creating a list of the static mesh locations.

The current hurdle that I am facing is using the SetLocation function that is native to the Actor class on the active or currently selected static mesh actor that is being added to the scene.

Tuesday, May 4, 2010


These are some the stuff I learnt in the process of importing assets into the Unreal Editor:-
  • When exporting selection using FBX its important to delete history or the FBX plugin would export the entire scene.
  • When placing objects into the scene in Unreal Editor its best to place the object from the top view. It aligns the object relative to the location in my on the Y axis.
  • Re-importing meshes require importing the mesh again instead of using the re-import option in the Content Browser.
  • Re-use UVs for lightmap by changing the Light Map Coordinate Index to 0 instead of 1.

The screenshot above is using one Dominant light with lightmass to generate the indirect lighting. The lightmaps for the scene varies depending on the size of the mesh. The largest lightmap in use in this shot is 1024.

Thursday, April 29, 2010


This is a sample of using lightmaps at varying resolution. For larger models higher resolutions are needed however for small models a resolution of 128 seems to suffice.

Tuesday, April 27, 2010

Anti Aliasing,T3D and FBX

This image is the original screenshot taken from the Unreal Editor without GPU anti aliasing.

  • This is a resized version of the first screenshot rendered at twice the resolution. Rendering beyond 200% of the original reduces several in game effects and in some cases removes it all together. There is no benefit to rendering beyond twice the original resolution for the purpose of achieving cheap anti-aliasing.

  • After working on making a plugin that would export to t3d for importing into UnrealEd, I have found out through several test that this filetype only stores the creation of BSP and the transformation of meshes that are already loaded into the an Unreal package.

  • Exporting FBX from Maya to UnrealEd and proven to be unrealiable at the moment. Beveled edges are unable to be exported at the moment however, using the same fbx that was exported from Maya to 3Ds Max and then exporting again to fbx creates positive results. Reason for this is still unknown. Apparently, the way in which 3DsMax exports fbx is more compatible with UnrealEd than Maya.