« Posts by Terry

UDK Interface Diagram

Unreal Development Kit User Interface Diagram

Pretty self explanitory. This diagram labels all the components in the Unreal Development Kit user interface. This version isn’t taken from the newest release of the UDK, but I will be updating this to the June beta release soon.

Unreal Development Kit User Interface  Diagram (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/udk_interface NULL.jpg)

Unreal Development Kit User Interface Diagram

UDK Intro: Getting Started

Introduction

This lesson will cover the very basics of the interface while manipulating the “builder brush” with transform tools. For those of you who don’t have it yet the UDK can be downloaded here from Epic Games.

To enhance your transition into the Unreal Developer Kit please accept this assistance: Interface Diagram (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/udk_interface NULL.jpg)

Startup

After you get UDK installed and running you will notice several different options in your windows start menu. For this lesson we are going to open the one labeled “Editor” (diagram 1) . A “Tip of The Day” window will greet you upon entry. Whether you choose to leave this notice on is up to you. Right now simply click the “OK” button.

Diagram 1: Unreal Development Kit Icon (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/intro01_01 NULL.png)

Diagram 1: Unreal Development Kit Icon

Diagram 2: Unreal Development Kit SectionProgram Tabs (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/intro01_02 NULL.png)

Diagram 2: Unreal Development Program Tabs

The first window to gain focus after clearing the Tip of The Day button is the “start page”(diagram2). This page is a way for Epic Games to get news and updates to you through the UDK. Close this windows and you should see the main program window behind it (diagram3).

Diagram 3: Unreal Development Kit Main Window (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/intro01_03 NULL.png)

Diagram 3: Unreal Development Kit Main Window

The main program window is where we will be spending the remainder of this lesson. We’ll get to the other window, referred to as the “generic content browser” in the next lesson. Our first objective is to create a new file. There are two types of files we can create. Click on the File menu in the top left corner of the editor and select “New”.

We are given a choice between “additive” and “subtractive”. Generally you are going to want to use the additive level type. Select the additive radio button and click “OK”.

Navigation

 

Each view port can be maximized so that you can see its contents more clearly by pressing the “maximize view port button”. This button is the last button on the right of your view ports pictograph menu represented by a square with a black top border (see diagram 4). If you are running a dual monitor setup you might be interested in increasing your UDK screen space. To do this click the “tear of a floating copy” button located to the left of the maximize view port button. This button can be seen in diagram 4.

Diagram 4: Tear Off / Maximize World View Panel (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/intro01_04 NULL.png)

Diagram 4: Tear Off / Maximize World View Panel

Perspective View Port
Translate back and forth by holding down the left mouse button (LMB) and moving your mouse forwards and backwards.

Pan the camera in any direction by holding the LMB and RMB down while moving the mouse.

Free look by holding down the RMB and moving the mouse around.

WASD Cluster
You can hold down the right mouse button and use the classic W,A,S,D key cluster to move around as well. The Q key and R keys can be used to change your camera’s elevation level.

Orthographic View Ports
You’ll have noticed by now that you have three other view ports available to you. These are your orthographic view ports. They are fixed camera views of your level from the top, front, and side. In these views you obviously can’t free look, but you can pan around and zoom.

Take note: if at anytime you feel the camera is moving to slow you can adjust the speed in each view port independently by pressing the “toggle camera speed button” seen here in diagram 5.

Diagram 5: Unreal Development Kit Camera Speed (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/intro01_05 NULL.png)

Diagram 5: Unreal Development Kit Camera Speed

Basic Geometry Manipulation

On the left hand side of your screen you will notice two vertical rows of basic geometric shapes grouped together. This is your “brush pallet” (see diagram 6). Right click on the cube icon in your brush palette. A window with  the primitive’s properties will have popped up and in those properties we can clearly see the X, Y, and Z values for the cube’s dimensions. Click on each field and change the values to the following X:1024 Y:1024 Z:256. Now hit the “build” button and close the window. This red cube wire frame you have created is called a “builder brush” and it represents a shape that you could potentially add to your level. To get a better look at our new red “builder brush” lets navigate closer in the perspective view port.

Diagram 6: Unreal Development Kit Brush/Primitives Palette (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/intro01_06 NULL.png)

Diagram 6: Unreal Development Kit Brush/Primitives Palette

This wire frame cube we have added can be manipulated just like geometry in a 3D suite such as Maya or Cinema 4D. You can manipulate geometry in  three basic ways: translate, rotate, and scale. All of the tools to do this can be found along with the “undo” and “redo” buttons in the pictograph menu just below the main program menu (see diagram 7).

Diagram 7: Unreal Development Kit Undo / Redo Buttons (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/intro01_07 NULL.png)

Diagram 7: Unreal Development Kit Undo / Redo Buttons

The first button that looks like a mouse is your “selection” tool. If at anytime you lose focus of an object your manipulating you can simply select this tool and click on your object. You can’t manipulate geometry in this mode.

Translate
This button is located to the right of  “selection”. You can use this tool to move your object around in your level by clicking one, or combination of two axis arrows. The arrows are colour coded to match their coordinate direction. There is also a coordinate indicator in the bottom left of the perspective window (see diagram 8).

Diagram 8: Unreal Development Kit 3D Coordinate Orientation (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/intro01_08 NULL.png)

Diagram 8: Unreal Development Kit 3D Coordinate Orientation

Rotate
To rotate your object you highlight one of the coordinate axis orbiting your object and drag. Unlike the translation tool you can’t move in more than one axis at a time.

Scale
Scaling your object can be done in two ways. You can scale your object up and down uniformly, or each coordinate direction can be scaled on it’s own.

To scale uniformly select the large gray square with the little square inside it. This is the bigger of the two gray squares seen side by side.  Notice that all coordinate axis handles are red. No matter which one you choose to pull on they will all scale your builder brush in the same fashion.

Non uniform scaling lets you increase the scale of one or two coordinates independent of the remaining coordinate(s) by dragging the handles you want to change. To select multiple handles move your mouse closer to the center of the two handles you want to manipulate.

Take note: You can use any of the manipulation tools as a selection tool. This way you don’t have to go  back and forth between manipulation tools and the selection tool.

Conclusion

The remaining intro lessons will be spent setting up very basic map. The goal will be to get you familiarized with the major aspects of the UDK. The topics you’ll be introduced to will include: adding geometry, materials, lighting, static meshes, particles, sound/music, and visually scripted events.

UDK Scale Chart

Unreal Development Kit Scale Chart

Here’s a scale chart to help you visualize things when you’re moving around in the Unreal Development Kit. Its set against assets from the Unreal Tournament III Game. The white numbers are Unreal grid dimensions. An average character is ~96 units high. To learn how to setup your Maya grid for proper scale see this this succinct  Youtube Video (http://www NULL.youtube NULL.com/watch?v=Xl5kJP02K0g). Peace.

Unreal Development Kit Scale Chart (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/udk-scale NULL.jpg)

Unreal Development Kit Engine Scale Guide

Flower Stem Rig

flower bent by dynamic hair deformation

I had problems. I talked to people. I now have less problems. This is generally how I like my troubleshooting to go. The last problem I had with my project was getting the animation deformers at the top of the flower to follow the stem when I bent it. In newer versions of Maya (2011+) there is a constraint type “point on poly”. This worked quite well. I grouped the flower head along with all its deformers and then parented that group to the top center vertex of the stem’s poly cylinder. One problem down, about a dozen more to go. I don’t mind running into walls, not being able to climb them is a different story :P

grouped Deformers following vertex modified geometry (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/stembend NULL.jpg)

My next challenge was getting the stem to grow and take the flower head with it. There was a few different ways I could have approached this. While figuring this problem out I had to keep in mind that the stem might be bending and curving while growing. At first I thought I could just increase the scale of the stem, but as the stem got bigger and the bend modifier curve grew larger the mesh started to lose shape because it’s resolution was too low. A quick Google search came up with a video (http://vimeo NULL.com/7420996) on how to rig a vine by Jordan Blit. In this video Jordan hooks up a simple connection between the vine’s “Y scale” and a “poly split ring” node’s “divisions” attribute. This seems to be a terrific way to grow the stem and maintain its shape no matter the length. There are a few other things Jordan sets up to make this error-proof and you should definitely check it out. I should mention that your construction history must be kept intact for this to work. If you clear your history the connection to the “poly split ring” node will be broken. When finished I added a constant variable via Mathematic Nodes Mental Ray (http://www NULL.creativecrash NULL.com/maya/downloads/scripts-plugins/rendering/other-renderers/c/mathematic-nodes-mentalray-support---2) plugin that multiplies the divisions by 2. This gives us a higher resolution mesh. Terrific :D Our stem now grows and deforms to our bend modifier, plus we’ve given ourselves a “hook” to grab via our math constant to increase our mesh resolution. Now I need to set up our stem so it can be affected by dynamic forces.

flower stem's "y scale" relationship with the poly split ring" node (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/stemscale NULL.jpg)

A friend and fellow 3D student mentioned rigging the stem up with a skeleton and using IK handles. He pointed me to this video (http://vimeo NULL.com/6044700) by Alex Villabon. In this video Alex gives a grass mesh a simple joint chain and then uses a Maya hair to deform the skeleton, which indirectly animates the mesh. I liked this method, but I didn’t want to use any joints in my flower rig. Keeping the rig “light” was important given the possible amount of flowers in my scene. Instead of controlling the stem indirectly with a joint chain I decided to make the hair directly control the stem by making the hair a “wire deformer’. A wire deformer is a curve which shapes the geometry it’s parented to. You can alter your curve and watch the geometry conform to its shape. This works out well because the hair is inherently affected by dynamics and it will control the shape of our stem. Now that the stem is set up correctly I have to start on the animation for the flower head. It has to transition from a bud into a fully bloomed flower.

flower bent by dynamic hair deformation (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/07/flowerhair NULL.jpg)

At this point I still don’t know whether I want to use blend shapes or modifiers to animate the bud opening. I’m thinking blend shapes might be overkill as the bud is really just a sphere with 5 sections that peel back to let the flowers petals grow out. What do you guys think? In case anyone is interested I have started a thread (http://forums NULL.cgsociety NULL.org/showthread NULL.php?f=88&t=989384) regarding this project over at CG Society (http://www NULL.cgsociety NULL.org/).

Here are links to the videos and plug-ins I mentioned throughout the post.

Alex Villabon
Animate Joints With Maya Hair (http://vimeo NULL.com/6044700)

Jordan Blit
Growing Vine Rig (http://vimeo NULL.com/7420996)

Creative Crash
Mathematic Nodes Mental Ray (http://www NULL.creativecrash NULL.com/maya/downloads/scripts-plugins/rendering/other-renderers/c/mathematic-nodes-mentalray-support---2)

Flower Update

Flower with bend modifier applied

So everything was going as expected. All was well in the land of flowers and Maya… well almost. I’ve run into a snag when it comes to bending the flower. My non-linear bend modifier controlling the stem don’t seem to be moving the rest of the modifiers associated with the petals and filaments. Only the geometry of the petals and filaments is moved. I have tried all sorts of different parenting and grouping methods. Nothing seems to make the modifiers move. I think that when moving objects with modifiers Maya doesn’t register the geometry moving in the same was as if you translated it. Since the translate is not updated the parenting structures seem to be of no use. The modifiers just say in place. Quite frustrating if you ask me.

I’m looking into parenting the modifiers to a vertex or face. I quickly came across this plugin: DJ Rivet (http://www NULL.djx NULL.com NULL.au/blog/2006/11/11/djrivetmel/). DJ Rivet creates a hair follicle and parents the follicle to a geometry face. It then parents your object to the hair follicle. This plugin looks to be exactly what I need, but I am having 2 problems with it. One; it doesn’t want to install properly for me. When I got to load the plugin it doesn’t show up in Maya 2011. I have placed it in the bin/plugins directory where all the other plugins are, but it doesn’t show up in the plugin list in Maya. Two; it has been said by a few people that this tool doesn’t parent well to geometry that is being deformed :(

I might have to write a custom script for this. I’ve never done that before and it’s actually a little daunting. I figure I can track the position of a face on the stem by averaging the world position of the 4 verts surrounding that face. I can then grab that faces normal orientation and use it to set the rotation of the grouped deformers. As long as the face referenced is one from the top cap of the stem cylinder I’m thinking this should work. Consequently if anyone knows a far easier way, or a script that’s already been developed please let me know. To better visualize the problem here are three pictures showing the static flower, the bend flower and the deformers themselves.

Flower unbent (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/06/flower_static NULL.jpg)

 

Flower deformers (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/06/flower_deformer NULL.jpg)

 

Flower with bend modifier applied (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/06/flower_bend NULL.jpg)

 

I think now is a good time to take a break from the rigging side of things and concentrate on the materials. I always like to switch gears when I become frustrated with a project. This way I can keep making progress without deterring myself from continuing on. For now I think I will just model a branch and manually place the flowers along it. When that is done I will get back to setting up the modifiers properly.

As always any comments, critiques or recipes for the best summer cocktails are appreciated :D

Flower Power

Flower geometry with non-linear bend modifiers

Hello. There’s been a little bit of a transition lately as I’ve moved to a new apartment and wow am I happy to be back in Osbourne Village. If you don’t have a car this is the best place to live in the entire city IMO. There are so many shops and I’m a five minute walk away from Safeway. On top of all of that my new bus to work takes 25 minutes and it’s an express. WUT! I’m almost entirely unpacked, but the most important part of the move (my computer :D ) is all setup and ready to go. I’ve wanted to do some kind of flower render for a long time and now I’m just getting one under way. I really like taking pictures of plants and flowers wherever I go and when I went to Nice a few years back I snapped a plethora of shots for inspiration. Here are a few thumbs.

Flower thumbs (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/06/flowers NULL.jpg)

I’ve modeled the main flower so far, but I still have to do the branch and buds. My plan is to model one flower and hook the petals and filament up to non-linear Bend modifiers. The petals have one running vertical as well as horizontal. This way I can control the petals cup shape on the fly. After I model one complete flower I will group the objects that make up the flower and then apply “Duplicate-Special” to the group and check the “duplicate input graph” section of the option box. If you don’t do this the non linear modifiers will duplicate, but they won’t control the duplicated geometry. The next part of this project is to animate the flower growing. These bend modifiers will help me control the movement and shape of each element through the diffrent stages of growth. If you’ve never used modifiers before they are located in the Animation menu set under Animation < Create Deformers < Non-Linear < TypeX. Each modifier has unique controls that are dependant on the type of modifier. A “‘Bend” modifier has a curve attribute as well as standard controls to extend or lessen influence of the modifier. A modifier such as “Sine” will have attributes such as frequency, which you would expect from a wave based tool. All of the modifiers are curves who’s shape modify the geometry much like a lattice (http://caad NULL.arch NULL.ethz NULL.ch/info/maya/manual/UserGuide/CharSetup/DeformLattice NULL.fm3 NULL.html). In fact pairing these tools can give you some great control over your objects and their animation. The only drawback to this method seems to be the duplication.

The only way I can duplicate the geometry and keep the modifiers working is to make the duplicates instanced copies of the original flower group. An instanced copy of an object references the source object for all properties, essentially becoming a copy cat object. This means when you pull on one of the bend modifiers it will control the same part of each instanced flower in the exact same way. I’d like to sprinkle some randomization into this, but I’m not sure how to at this point. Posted below are a few in progress shots of the flower with some of the non-linear modifiers applied. Like always if you have any questions post a comment and I will do my best to answer it :)

Flower geometry with non-linear bend modifiers (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/06/flower_rough NULL.jpg)

Apartment Final Render Thoughts

For now I’m finished with this apartment render. I’ve learned a lot, but it’s time to move on to another project. I will definitely revisit this in the future as I learn more about Mental Ray. I think the most challenging part for this project was fine tuning the global illumination and final gather settings. This is the first time I have worked with either. The fur system was really easy to use and while there are a lot of settings most of them just let you add randomization to the basic properties. The fur and fabric shader on the ottoman required a lot of anti aliasing to catch-all the crisp detail.

The final settings for anti aliasing in the “quality” tab were set to “adaptive” and 4. If I did it again I would have set the final quality control to 3 as I found 256 samples is a little over kill and takes almost twice as long as when set to 3. Keep in mind though that the setting is not “mandatory”. That means that not every pixel is getting 256 samples, just the ones that Maya determines need it. I’m not quite sure how the algorithm works that controls this, but it is something I plan to look into. In retrospect I don’t think I would ever paint a room that bright of a green, but you must have fun with these kinds of projects; right? :D

On a side note, I was at the gas station the other day and while I was waiting in line I found a great magazine called “Elle Decor” (http://www NULL.elledecor NULL.com/). I’m pretty sure it’s aimed at women, but it’s got a ton of really sweet interior designs inside that are giving me lots of inspiration. More posts soon. If you have questions ask away.
(http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/06/apt1 NULL.jpg)

Apartment Render Update + Maya Fur

Detailed Portion of the Full Resolution Render

I’m just about 70% done my apartment render so I thought I would post an update. This is a to scale model of my old apartment. I had some previous renders, but the scale was off (really off) and it was causing all my lightning to be blown out. After Fixing the scale I noticed I was getting black renders even though Global Illumination and Final Gather were working properly. The issue was that my portal light’s intensity wasn’t near strong enough. I had to jack it up to about 2 billion! Crazy. I eventually toned it down to 1 billion, but anything under that and the light really dies off quickly.

As far as assets go I have modeled a sofa table and television which don’t appear in this render, but they will be in the next one. I think I’m also going to take out the couch for now because I just ordered one of the best leather sofas (http://fineleatherfurniture NULL.com/leather-furniture-blog/blog-list/513-the-best-leather-furniture-manufacturers-quality-not-quantity) to replace it, and I don’t have the space needed or time to give the old couch model the love it needs.
The shag carpet was really fun to work on. I’ve never used the Fur System in Maya before, but after the Introduction To Maya Fur (http://www NULL.digitaltutors NULL.com/11/training NULL.php?cid=42&pid=264) on Digital Tutors (http://www NULL.digitaltutors NULL.com) I really was excited to give it a try. I used carpet texture on a plane and told the fur system to grab its base and tip colours from that. going forward I think I might make the base and tip of the fur a little thicker. Other options were played with such as “scraggle”, “poll”, and “inclination”. It’s worth noting that under the Fur Feedback Description node there is a section called “Details”. Under this section you can add randomness to all the attributes. If you’re interested in all of the different fur properties there is a good textual resource over at http://caad.arch.ethz.ch/info/maya/manual/MayaFur/UserGuide/2CreatingFur.fm.html#176880 (http://caad NULL.arch NULL.ethz NULL.ch/info/maya/manual/MayaFur/UserGuide/2CreatingFur NULL.fm NULL.html#176880)

When it came to picking a backdrop I just grabbed something off of Google image search for the time being. I quickly used the layer properties of the render in Photoshop to drop out the windows as they were solid white. For the final shot I think I’ll climb my old fire escaped and snap a shot with my Wife’s camera. She has a nice Cannon 40D. I don’t plan on using HDRI for image based lightning just yet, but maybe I will set myself up so I can experiment with that another time :)

One thing I did notice in the render was the aliasing lines in the ottoman’s fabric. The lines stayed there when I raised the anti-aliasing to adaptive sampling set @ 64 samples. They went away when I tested that area with 256 adaptive samples.

At any rate here is the shot and if you have any question just ask in the comments or fire me an email. I’m around computers all the time so I respond fairly quickly to questions. I’m going to have this done in the next couple days so expect a finished post soon. I will also include depth of field in the final render. Above the full scene render is a detail render of the scene at full scale.
Detailed Portion of the Full Resolution Render (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/05/detail NULL.jpg)

.

Apartment Render Test 02 (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/05/apartmenttest2 NULL.jpg)

Colour Temperature Tests

Colour Temperature Chart using area lights and mib_black body in Maya

Just a quick post here. I took my apartment scene from earlier and rendered it out with a range of light temperatures. The chart below will show you 10 separate renders at varying colour ranges. I just changed the mib_blackbody value in each of the renders. You should keep in mind that some of these colours will never get as bright as they are seen here. An example would be the first temperature shot @ 1800K. This is the colour for match flame. You would never have a room lit this bright with just matches. I think for artistic reasons it does serve a purpose to see the end result of such a setup. Enjoy.

Colour Temperature Chart using area lights and mib_black body in Maya (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2011/04/temperature-chart NULL.jpg)
.