You are on page 1of 59

Table of Contents

November 2006

Page 3 Page 5 Page 6-10 Page 11-14 Page 15-21 Page 22-23 Page 24-29 Page 30-36 Page 37-42 Page 43-45 Page 46-49 Page 50-54 Page 55-58 Page 59

Editors Notes Silo Quiz - Enter for a chance to win a copy of Silo Interview with Dennis Frick by Tavy Ann Pasieka Sneaker Tutorial Part 2 by Mark Gmehling Robotic Arm Tutorial by Jamie Hamel-Smith ScoobyCamTools Review by Thomas Pasieka Cup of C.O.F.F.E.E Part 5 by Rui Batista Silo Beginners Tutorial by Thomas Pasieka Material and Shaders (C4D Game Tutorial) by Darrin Frankovitz Spotlight on Neil Vaughan by Tavy Ann Pasieka Compositing with Lightwave 3D by Carlo Macchiavello Sneaker Tutorial Part 2 German Version by Mark Gmehling Best of CINEMA 4D Gallery Last Page - Contact Information

Editor Notes!
Please Read

Hi Attackers, I just wanted to remind you that we have some really fun challenges taking place on our discussion forum at www.3dattack.net. Bram van Gerwen hosts some fantastic speed modeling challenges. Sometimes the competition is fierce, but the entrants learn a lot, and most importantly HAVE FUN! You can find Bram's challenges here: http://www.3dattack.net/forum/forumdisplay.php?f =48 We've also added a forum for a daily challenge. Here the entrants are given a daily challenge to model something not too difficult, but it helps to hone and sharpen skills. Hope to see some of you there. http://www.3dattack.net/forum/forumdisplay.php?f =86 As you may have already noticed, this months issue of 3D Attack contains a Silo and LightWave 3D tutorial. We have had many requests for tutorials based on various other applications and hope to implement more of them without slacking in CINEMA 4D content. Feel free to drop me a line if you have a request tavy@3dattack.net. As always, your questions, comments, concerns and suggestions are important to us. If you have of the above mentioned, please send your e-mails to 3dattack@3dattack.net. Thanks and KEEP ON ATTACKING! The 3D Attack Team

ADVERTISING WITH 3D ATTACK If you would like to advertise with 3D Attack send us an e-mail requesting our media kit and rate card. 3dattack@3dattack.net REVIEWS If you would like 3D Attack to evaluate and review your product, or if you are a member of the press and would like to evaluate and review the 3D Attack line of plug-ins for CINEMA 4D, feel free to contact Thomas Pasieka at: 3dattack@3dattack.net Contact Information 3D Attack 158 S. Saginaw St. Chesaning, Michigan 48616 - USA E-mail: 3dattack@3dattack.net TUTORIALS If you have any questions or comments regarding the tutorials within the magazine, please feel free to express them on or CINEMA 4D discussion forum at www.3dattack.net CALLING ALL WRITERS If you have a knack for writing and would be interested in writing tutorials and/or articles for 3D Attack, feel free to drop us an e-mail at 3dattack@ 3dattack.net net for more information.
DONT BE A PIRATE! STEALING THIS MAGAZINE LEADS TO HIGHER PRICES OR IN THE WORST CASE TO DEATH OF THIS MAGAZINE! THIS MAGAZINE AND ALL ITS CONTENT IS COPYRIGHT PROTECTED. 3D ATTACK IS A REGISTERED TRADEMARK.

GOODIES All of your goodies for this and previous issues of 3D Attack - The CINEMA 4D Magazine can be found here: www.3dattack.net/goodies/

Interview with Dennis Frick


By Tavy Ann Pasieka

Tavy: Hi Dennis. First, its a real treat to interview you. Ive been a huge fan of your work for a long time and this is an honor for me. Thank you so much for taking time to share more about you and your work with our readers. For our readers who may not be familiar with your work, would you mind sharing with us a little about who you are and what you do? Dennis: Hi there! First, thanks for the compliment; its a real treat for me too. Some Words about me: I grew up near Frankfurt (Germany), later I finished my study of digital media design at Macromedia Academy in Munich. Since then Im working as a self-employed 3D Artist. Tavy: What first sparked your interest in 3D, and how long have you been using CINEMA 4D?

Dennis: Since my first experiences with a C-64 and an Amiga I have been interested in simulating reality with computers. Later the 3D Graphic took place in computer games this was the point I said to myself thats it! Huh, I still remember the whole-night-long Marathon battles. The first 3D software I worked with was ElectricImage and Strata StudioPro on a 66MHz Mac followed by MAXONs CINEMA 4D. Tavy: What other software applications do you use to create your stunning images? Dennis: The primary applications I use are CINEMA 4D, BodyPaint and Photoshop/AfterEffects Tavy: CARS CARS CARS! So many aspiring 3D artists want to model cars, and youre a master at

Interview with Dennis Frick


By Tavy Ann Pasieka

this. Can you tell us a little about your workflow when it comes to modeling cars? Where do you begin? Where do you end? What are some of the important steps you take in creating a realistic looking car? Dennis: At first I try to collect as much stuff as possible about the car of choice. For example photos (especially from details), Blueprints and so on. During the modeling I start with the rough shapes and go on to work on the details. For a clean mesh it is necessary to have a close look at the details first, and plan the mesh exactly before starting the work. Tavy: I often receive e-mails or view posts on various CG Forums, where individuals are seeking quality resources and tutorials for modeling cars in CINEMA 4D. Do you have any suggestions on where to look for these materials? Dennis: A car combines a lot of different shapes. There are organic parts just as sharp edges too. So I think even a tutorial for modeling a human face can be very helpful and is maybe able to transmit the ability to model a car.

Tavy: Most of the CINEMA 4D community is familiar with your car modeling, but you also happen to be a fantastic character modeler. When creating a new character where do you find your inspiration? Is realism an important factor for you in character modeling? Dennis: There are a lot of ways to find inspirations. Sometimes a film, perhaps the news on TV All of life can be an inspiration to become creative. Realism is an important factor for me in character modeling too. But this is another kind of realism than modeling a car I think. A Dodge Viper is a Dodge Viper only if it looks like a Dodge Viper. A character can have hundreds of different faces without loosing realism, but nevertheless, everyone will be able to see if something is wrong with the face. A very interesting field, I think. Tavy: The first 3D/CINEMA 4D web based forum I registered on was 3D Arena (www.3darena.de), and this is where I discovered your awesome talent. Would you mind telling us about your involvement with 3D Arena and the recent changes it has gone through?

Interview with Dennis Frick


By Tavy Ann Pasieka

Dennis: Nice to hear! The 3D Arena was born in scope of an online-project I did during my study with 3 other guys, Chris, Christian and Daniel, who are still members of the 3D Arena-Team. Today I can say 3darena.de is a little, established 3D/C4D Community with a lot of talented 3Dpeople. We made some major changes at the community-software in the last months to adjust the software to the growing community. There are still a lot of things to come in the nearer future Tavy: Are you currently working on any projects you share with us? Dennis: Currently Im working on some World War II models. For example a German TorpedoBoot and a Focke Wulf Warbird. Im not sure whats going on with these models perhaps an animation, too Tavy: Dennis thanks again for taking the time to speak with me today. We will be waiting with anticipation for your next great work! Do you have any thoughts or words of advice you would like to leave our readers with? Ill give you the last word.
8

Interview with Dennis Frick


By Tavy Ann Pasieka

Dennis: Thanks for the interview Tavy, and thanks for your attention to all the readers and members of 3D Attack. Happy Rendering Best Regards Dennis

Interview with Dennis Frick


By Tavy Ann Pasieka

10

Sneaker Tutorial Part 2


By Mark Gmehling aka Macling

name the added selection tag stripes in its attributes (Image 01).

01

Hello again Attackers! Welcome to the second part of the sneakers tutorial I wrote for the last issue. I hope you had no problems following the modeling steps of the shoe and youre curious now to follow the texturing part. Before I can begin texturing, I need to optimize the object managers content to simplify the entire bunch of objects I created while modeling the shoe. This enables me to save it in my object library for merging to future scenes if needed. Then Ill create some simple procedural shaders. After that Ill set up a simple environment with lights to render a nice product shot. As you see in PIC_01 I left a lot of single objects in the object manager that need to be merged into a single shoe object. So I start with shift, selecting the three stripe objects and right click- connect them: A new stripe object is added and I can delete (Backspace or Del) the three origin stripe objects. This is a good point to save the scene as sneaker_2.c4d, for example to make sure the original file with all single objects remains for another usage. Maybe for creating another style of shoe for future projects easily. I drag the new stripe object in the symmetry object and switch to poly mode and select all (Ctrl/ Apple-A) polygons- go to Selection-Set selection. This adds a selection tag to the object that allows me to be able to address a certain material to a certain area of my compound shoe shape later. I
11

This is the procedure I have to repeat for the other objects: In global mode I go on by shift-selecting the four bootlace objects- right click- connect themdelete the four origin bootlace objects and drag the new one into the symmetry object- switch to poly mode- select all polys and set a selection tag that I name bootlaces. After that I connect the four-torus objects by repeating the procedure again. Of course the new torus object needs a selection tag called torus as well. I need to repeat the procedure again for connecting the shoetip/back object, the bootlace part object and the ankle part object into one. I name its selection tag Leather. The last two parts that need to get their own selection tag is the shoe sole and the base. In my case, base and sole is already one object so I simply assign two selection tags to it by selecting the sole polygons (The loopselection(UL). It does a good job here to select the outer loops for the bottom part (I use the live selection). Pay attention that no selection tag is selected in the Object manager when you assign more than one tag to an object to be sure it will not be over written. Now I have six single objects and I only need to add a selection tag to the tongue object by switching to polymode- selecting all its polygons- set a

Sneaker Tutorial Part 2


By Mark Gmehling aka Macling

selection named tongue to be able to assign certain materials to the selections. Now Im able to connect all parts to one object named shoe. I make sure to be in object mode- shift select the parts and right-click connect them into one object containing all seven selection tags. I delete the single parts (Backspaced or Del). The last action is to make the symmetry object editable by selecting it in the object manager and using the C-key. The shoe is now a single object and Im able to assign different shaders easily by using the selection field in the materials attributes. Lets move on to creating some simple shaders (Image 02).

at Image 03. I assign the white material to the shoe and drag the bootlaces selection tag in the selection field of the white material (Image 03).

03

Because I have some golden stripes in mind I create a new material name it GOLD and adjust its attributes as seen in Image 04. After assigning to the shoe, I drag the stripes selection tag into its selection field. I assign this material a second time and drag the Sole selection into its selection field (Image 04).

02 04

In the material manager I double click or go to File- new material name it BLUEand in its color channel I adjust its brightness to 100%. And load a fresnel shader into its texture field. I adjust the fresnel color attributes as seen in Image 02. I change their default black color to a dark blue and the white to a light blue. Furthermore, I disable the specular channel and add a simple noise in the bump channel. I decrease the strength to 15% and in the noise attributes I decrease the global scale to 7%. Now I drag the material onto the shoe object and click the material tag to adjust its attributes. I drag the leather selection tag into the Blue materials selection field. Another material I want to use will get a very similar look. I ctrl-drag the blue material in the material manager to get a copy. Rename it white, and only change the fresnel colors in its color tab to white and light grey. Take a look
12

The third material is made for the shoe base geometry. I create a new material name it base and adjust its color to a nice blue with 100% brightness as before. I activate the reflection channel and give it 5% brightness. Take a look to Image 05 for the other shader details. After assigning this material to the shoe, I restrict it to the shoes base by dragging the base selection tag into the base materials selection field.

Sneaker Tutorial Part 2


By Mark Gmehling aka Macling

Furthermore, I use this material for the tongue geometry as well by assigning it a second time and dragging the tongue selection into the materials selection-field (Image 05).

06

05 6a

The next material I need to add is a metal like material for the bootlaces metal rings. I create a new material name it metal and adjust its color to RGB 152/158/81 with a brightness of 100%. Furthermore, I activate the reflection channel. Take a look at Image 06 for the shader details. I activate its environment channel and load a panorama-photo in its texture field that has a high contrast to add some believable reflections to the metal. Again, I disable the specular channel. To restrict the metal material to the geometry I want I use the materials selection field again. I drag the torus selection tag into it after assigning the material to the shoe object. (Image 06) To finalize my sneakers I decide to add a little modeling step. To brand the sneaker I create a 4x3 segmented plane- make it editable(C) and adjust its position and scaling In point mode I adjust the shape as seen in (Image 6A) To add my logo onto this, I create a new materialname it label and load a bitmap I painted in Photoshop into the alpha channel. It is most important that the black areas are 100% black and the white is a 100% white to make sure the alpha maps transparency informations work as expected. In the color channel I load the colored version of my painted logo. I also activate the bump channel and use a tiles surface shader to add a little bit of
13

bump. Take a look to Image 07 for the shader details.

07

Sneaker Tutorial Part 2


By Mark Gmehling aka Macling

This label shader is the only one I need to pay attention to its projection mode. I need to change its projection mode to flat projection after assigning it. Furthermore, I disable tiling. I switch to texture mode (the little checkerboard button on the left side) and use the move (E), scale (T) and rotate (R) tools to bring my projection plane into place (Image 08).

the color channel is activated with a 100% white. I assign it to the plane and the background object. When you take a look to PIC_09 youll realize another compositing tag added to the plane object. This tag, with compositing background enabled, is responsible for a seamless blending of floor and background. The last action is placing the target light. I enable soft shadows because I want to use this light only for shadows I enable the shadow caster option in its attributes, and in its shadow tab I adjust the

08

Now my shoe is ready for rendering, I need a little environment setup. I create a background object, a sky object, a target light and a plane. I need some materials for the environment setup. First, the material I want to light my scene with. I create a new one named SKY and only enable the luminance channel. Take a look at PIC_09 for the shader details. In my case I load a bitmap into the luminance channel, but you can also use a light color here. This material is assigned to the sky object. To make it not appear in the camera I assign a compositing tag to the sky object by right clicking the sky object- Cinema 4D tags- compositing tag. In the compositing tags attributes I disable seen by camera. Now I enable Global Illumination (or radiosity in older C4D versions)- take a look to Image 09 for the details. Another important thing before rendering is disabling the auto light option in the render settings options. The next material is a simple one for the background and plane (floor) objects. Only

09

shadow density to my liking- in this case 30%. (Image 09). I hope you had fun following the tutorial. If you had any problems feel free to post your problem in the wip section on the 3d Attack forums. Im sure the community will be glad to help you. So cya onboard and keep attacking. Mark

14

IK - XPresso Robotic Arm


By Jamie Hamel - Smith

The goal of this tutorial is to create a robotic arm (like those that you see in a factory assembling a car) and rig it so we can control it with one object and a few sliders. These Robotic arms usually have a circular base that they sit on. On top of this base, there is a pivot that the arm(s) of the robot move on. Since this is a rigging tutorial and not a modeling tutorial, you will find the robotic arms components modeled in the file provided; this will be your starting point. Start by opening the file named: robotic_arm_start.c4d This is the model we will be rigging, and all of the parts have been color coded. The base object (Red) will be stationary. It is only there to complete the model and look of the machine. The Green, Lilac, Orange and Blue parts will be set up using Mocca IK Tags. There will however be a slider that controls the pivoting of the blue part, and 2 more sliders to control the welding tool at the end. We will start by selecting the Large Arm in the Object Manager; note the direction of its Axes. For an IK Rig to work correctly, the orientation of all the objects axes must be similar and lined up perfectly to start rigging. Change to the Top Viewport by pressing the F2 key, after press the H key to frame the objects, now select the Small Arm in the Object Manager. You should see that the Large Arm, Small Arm and Tool Arm are all lined up along the X-Axis perfectly. The geometry does not have to be lined up, but its important that the Axes are. Another thing to take note of is the orientation of the axis on the object named Tool Arm; it points downwards just like the geometry does. Keep in mind that the model will pivot where the Axes are, so you need to correctly position them when setting up your model. To simplify things, I have done that for us beforehand. Our first task is to arrange the objects into the proper Hierarchy. The Base must be the parent of
15

everything, and the hierarchy should run along the arm to the end of it from there. Start arranging the hierarchy as shown in this image:

01

The hierarchy should look like the image above (Static Base>Rotating Base>Large Arm>Small Arm>Tool Arm>Tool Heading>Tool Swing) Before we go any further, Turn off Expressions (Red X instead of a Green Check on the Coffee Cup) using the button at the lower left of the interface. We dont want Cinema 4D to try to evaluate the IK rig until we are done setting it up, otherwise it may start to behave erratically before its setup

02

has been completed. (Often this frustrates people without them even knowing why their rig is freaking out) (Image 02). The next thing we need to do is create a few Null Objects that will aid in the IK

IK - XPresso Robotic Arm


By Jamie Hamel - Smith

calculation. If we want the Tool Arm object to be able to pivot, we need to add 4 Null Objects and position them with the aid of the Transfer Function. The First Null Object will need to be placed at the exact origin of the Tool Arm object. Create a Null Object; (Objects > Null Object) and then select the Transfer Function (Functions>Transfer). In the Attributes Manager, Transfer the Null Object to the Tool Arm object by clicking on it in the Viewport or dragging the Tool Arm object into the Transfer to field in the Attributes Manager. Uncheck the Enable Rotation checkbox, and if you dragged it [the null object] into the field, you need to click Apply to transfer the object. This will be our goal for the Tool Arm object. Rename the null object you just created Tool Arm Goal. The next Null Object we will create also has to be transferred to the Tool Arm via the transfer function, but this time we will check the Enable Rotation checkbox when transferring it. Once this is done, switch to the right Viewport (F2 key) and

using the move tool, drag it [the second Null Object] downwards a little: about 40 units (along the Z-Axis) so that its between the blue and pink objects. (Image 03) This will be the last object in the Active IK chain, and we will name it Chain End. This object also needs a Goal Object; goal objects are objects (usually null objects) that Objects or Bones in an IK chain gravitate to. Another way of looking at it: Goal objects move joints and ends of IK chains; they are like handles that we can move the chain with. Lets move on before we get distracted by all these goals this null object called Chain End needs to be placed as a child of Tool Arm. To do this, drag it onto the Tool Arm object in the Object Manager and release the mouse button when the pointer icon changes to an arrow pointing downwards. Your hierarchy should now look like this: (Image 04)

04 03

Make a copy of the Chain End Object; copy it by Ctrl-dragging it to the top of the Object Managers list. After copying it, rename it Chain End Goal. We then need to create a copy of Tool Arm Goal and rename it Tool Arm Up Vector. This Up Vector will aid in the rotation of the Tool Arm object once the IK tags have been set up. It needs to be positioned away from the Tool Arm object and placed as a child of the object called Small Arm. Switch to the Top Viewport (F2 Key) and move the Tool Arm Up Vector 100 units to the right, along
16

IK - XPresso Robotic Arm


By Jamie Hamel - Smith

its X-Axis. The following image shows how your Object Manager should look and also shows the Tool Arm Up Vector moved over to the right. (Remember to make it a child of the Small Arm object as shown) (Image 05)

06

05

I know youre not going to believe this, but we still need to create 2 more Null objects! I know that this is a lot of Null-Creating, but I promise that the end result will be worth it. The next Null you create is quite casual just create a Null Object and in the Right Viewport, (F3 Key) position it above the entire Scene. Place it about 750 units above the Arm-Rig, roughly centered above the base of the rig. We can always fine-tune this positioning later on if needed; name it Pole Vector Goal. Finally, the last Null Object that we need to create can be created by selecting the Null Object named Tool Arm Goal and then from the Object Menu in the Object Manager, choosing the Group Objects command. Doing this will create a new Null Object in the exact location of the Null that we had selected, and it will also become the parent of the previously selected Null. Rename this newly created Null Object Movement and then make Chain End Goal a child of Tool Arm Goal. Finally, you can make the object called Pole Vector Goal a child of the object called Rotating Base, but once this is done, move the object called Large Arm above Pole Vector Goal in the Hierarchy. The Final Hierarchy should look like this: (Image 06)
17

We are finally ready to add the Mocca IK tags and setup the Goals, Pole Vector and Up Vector. (Remember to disable Expressions while we are setting up this part or your rig may go crazy before we finish stabilizing it.) On that note, now is a good time to save your work so that you can return to this file if anything goes wrong. (There is always chance it may ;-) The IK Tags: Certain objects in the hierarchy need to have Mocca IK tags applied to them for this rig to work. Select the objects [Shown in Image 07] and then in the Object Manager, choose File>Mocca Tags>MOCCA IK. Your Object Manager should look like this: (Image 07 on next page) The first step in configuring the IK tags is to select the IK tag on the topmost object (the start of our chain) Rotating Base and check the Anchor checkbox. This will prevent the object from moving due to IK movement and it will allow us in turn, to control its movement. Also, all IK chains need to have an anchor to work predictably. However, we want the movement of this Rotating Base to be automatic: We dont want to have to animate it manually. While we are looking at the Anchor checkbox, we also need to set the Hard IK

IK - XPresso Robotic Arm


By Jamie Hamel - Smith

08

07

Strength percentage to 100% (This is after all a rigid robotic system.) The rotating base must rotate according to our inputs, and to accomplish this, we will tell it to look at a certain object at all times by applying a Target tag to it. Go ahead and select the Rotating Base object in the Object Manager, and then choose File>Cinema 4D Tags>Target. This will create a Target tag on the object and the settings for the tag will appear in the Attributes Manager. Uncheck the Pitch checkbox. (We dont want the pitch of this object to be modified at all!) Once the pitch checkbox is unchecked, we can drag our target object into the respective field. The target object in this case will be the Null Object named Movement (Image 08). This will ensure that the Rotating Base is always aiming at the tip of the robotic arm. The reverse of this must also be done, to ensure that the Object called Movement is always looking at the Rotating Base. Create another Target Tag, but this time you will create it on the object called Move18

ment so select Movement and create the tag. As before, uncheck the pitch checkbox but this time, drag the object called Rotating Base into the Target Object field. Now the objects are looking at each other (Or at least they will be once we turn Expressions back on.); if you have never played with dual targets before, I suggest you open a new file, make 2 objects target each other and then drag them about the Viewport. There are a few other uses for this Double Target setup, but perhaps that is another tutorial in another month. The IK Goals: The Goal objects that we created earlier must now be placed in their respective IK tags. We will do this by selecting the appropriate IK tag and then dragging the Goal object into the field labeled Goal. Lets start with the IK tag on Tool Arm. Select it and drag the object called Tool

IK - XPresso Robotic Arm


By Jamie Hamel - Smith

Arm Goal into the field labeled Goal. Repeat this with the IK tag on Chain End and the object called Chain End Goal. (Image 09)

you will need to select to control all aspects of this robotic arm Try switching to the Perspective Viewport (F1 Key) and moving the Movement object left to right. It looks like it all works, but we still have a few things to do. Some of you with extremely good memories may remember that we created an object called Tool Arm Up Vector and even placed it in hierarchy, but we havent used it for anything yet! If you look closely at the rig while moving the Movement object around the Viewport, you will see that the object called Tool Arm is not rotating correctly. This is where the Up Vector comes into use. Up vectors are used to lock the rotation of an object on one axis (Such as the twisting of a wrist on a character). In this case, we need that up vector to keep our mechanical pivot pointing in the right direction. As you move the arm around by dragging the Movement object, we can see a small white dot off to the side of the miss-rotated Tool Arm. This is our Up Vector as a child of the Small Arm object. What we need is for the Tool Arm object to look at it on one axis in this case, the X+ Axis of Tool Arm needs to look at the Up Vector Object. Select the IK Tag of the Tool Arm object and you will notice a field called Up Vector. Drag the object called Tool Arm Up Vector into this field and then just below the field, change the Axis to X+. The IK of our Robotic Arm Rig is now setup! If you have made it this far, give yourself a pat on the back! The next step is to setup the per axis rotation of the Tool Arm and its children. We will use Xpresso Sliders attached to the Movement object to accomplish this. Before starting that task, I ask that we do one simple preventative measure I want us to reset or align our rig to the Z Axis, just as it was before we started moving it around. To do this, just select the Movement object and in the Coordinates Manager, enter 0 as the [X Position.]
19

09

The Pole Vector Goal will be setup a bit differently. A pole vector is a special type of goal that always keeps the 2 limbs it is between bent and oriented correctly. The fact that our Pole Vector (The object called Pole Vector Goal) is a child of the large arm means that it will in effect restrict the Large and Small arms from bending side-toside. To setup the Pole Vector, we must select the IK tag of Small Arm and drag the object called Pole Vector Goal into the Goal field as we did before, but this time, we will check the box that says Use as Pole. A Blue line should connect the Pole Vector Goal and the joint between the Large Arm and Small Arm Objects. You are now ready to Turn Expressions on and drag the object we created called Movement around the Viewport. This is the only object that

IK - XPresso Robotic Arm


By Jamie Hamel - Smith

We will control the rotation of the tool on 3 separate axes, just as its done in the real world. We will create 3 Xpresso Sliders that will control the rotation of 3 separate objects. Select Movement and in the Attributes Manager you should see a menu saying User Data. Select [User Data>Add User Data. A window pops up and the first field says name. Enter Pivot Up & Down excluding the quotes. In the field that says interface, select Float Slider and then change the units from Percent to Degrees and set the Min & Max values to -90 and 90 respectively. (Image 10)

ema 4D know what we want these 3 sliders to control. This is where Xpresso comes into the picture. Gladly, we dont even have to open the Xpresso Editor for this simple connection. Right Click the first slider and choose [Animation>Set Driver. We have just told Cinema 4D that we want this slider to Drive another value. The value that we ant to drive is the Pitch Rotation of the object called Tool Arm Goal. To set the Driven object, select the Tool Arm Goal object and in the Attributes Manager, choose the Coord. page. On this page, right click the P next to the R. This is the value for the Pitch Rotation. You must now choose [Animation> Set Driven (Absolute) (The other values under rotation are H for Heading and B for Banking.) An Xpresso Tag has been created on the Tool Arm Goal object, and this is where the relationship is stored. (Image 11)

11

10

Do you notice that a new page called User Data was created? Cool, click on it and you will see your first slider for this rig! So now that youve done that, I want you to create 2 more User Data sliders, same as before but name them Pivot Left & Right and Swing Left & Right respectively. You should now have 3 User Data sliders that control absolutely nothing! We need to let Cin20

This must be repeated for the 2 other sliders, but for the Pivot Left & Right slider, drive the Banking

IK - XPresso Robotic Arm


By Jamie Hamel - Smith

Rotation (R. B) of the object named Tool Heading. And finally, for the slider named Swing Left & Right drive the Heading Rotation (R. H) of the object named Tool Swing. As a finishing touch, select the names of the 3 sliders by Shift-Clicking them and then right click them and choose Add To HUD. Ctrl-Drag the HUD item to the corner of the window and you are all done! Now the only object you need to select in order to adjust and or animate the arm is the object named Movement. You can make it a child of the object named Static Base if you like. (This will help if you need to move the entire rig into position.) And dont rotate the Movement object; it will set your rig off if you do. Use the sliders for rotation and move the Movement object to adjust the position of the tool. I hope you enjoyed this Tutorial, I am always open to critique, comments and questions. You can contact me on the 3D Attack Forum, My user name is: Jamie

21

ScoobyCamTools - Plugin Review


By Thomas Pasieka

Hi there everybody. I am sure that most of us had the need to animate a camera that looks and moves more like a handheld camera or "professional" camera. I bet you have also been looking for ways to make changes to your camera's path, or the different attributes like "shaking" and the likes. There are many things to take into consideration when it comes to a real world camera and there is a tool that can help you with this task. I am talking about "ScoobyCamTools" from "Jack's Secret Stash"! Never heard about this place? Check it out at: http://www.c4d-jack.de. Here you will find find a lot of useful expressions created and written by Frank Willeke the author of "ScoobyCamTools". Now there is a slight difference between plugins and Frank's "Expression". You usually use a plugin from within the plugin menu in CINEMA 4D. Not so with "Expressions". ScoobyCamTools has been written with XPresso, so you won't find it in your plugins menu. You rather open up the scene in order to use it. You can simply copy the the camera with it's attached tags into another scene and do your modifications. Now let's have a look at what "ScoobyCamTools" looks like when you first open it. As you can see,
22

you are presented with a simple scene and a lot of "HUD" sliders and information. Don't worry, it really looks more complicated than it is. It doesn't take a whole lot to figure out how things work. I suggest you press the play button first. What you see now is an animation done by using different parameters and, so called, "Waypoints". You can now easily change the camera's path by changing the Waypoints position. If you switch to the "top view" in CINEMA 4D, you can clearly see the four Waypoints. Select those Waypoints in your object manager and move them to a different location and press "play" once again. Pretty easy! You can create more Waypoints by simply creating new "Null Objects" and making them a child of the "Scooby_Dolly_Path" object. Download the free version of "ScoobyCamTools" and play around with it in order to see for yourself how easy this works. You should also check the various movie files which show the expression in action. There really isn't a whole lot to say about ScoobyCamTools other than you really have to give it try on your own! I promise that you WILL like it! Conclusion: The expression itself is very nice and easy to work with. It doesn't take a whole lot to

ScoobyCamTools - Plugin Review


By Thomas Pasieka

figure out how it works and makes for a nice experience. The price tag is fair considering the features it currently has. A real time saver in my opinion. On a personal side node: I wish ScoobyCamTools was a "real" plugin that I could select from the plugin menu without the need for all the HUD elements, but as sliders and attributes in the AM manager. Who knows, maybe we will see this in the future! I'll give this "expression" a 4 out of 5. Well worth it.

Website: http://www.c4d-jack.de Price: 35 Euro ($44) Free Version also available (restricted to 10 seconds of animation)

23

Cup of COFFEE - Part 5


By Mark Gmehling aka Macling

Hello again guys (and girls). This is already the fifth lesson about C.O.F.F.E.E., and I do hope that you all are following it with interest. More than that, I hope you understand everything so far. Last lesson I told you where to get support documentation. I hope you already have the documentation in a place where it is easily accessible because, in this lesson, we will learn how to use all that information and a few tools to make your life easier. Open the index.html file, inside the SDK 95 folder. You can use any browser for that. When you click the Reference link in the main C.O.F.F.E.E. SDK page, you are directed to a page that displays a list of topics. Bellow each topic you have more specific subjects to click on. When you do, you are directed to a page describing that particular item. On each page that describes an item. At the top you have a short description of that item, followed by its definition. This is where you know what type of item that is and its parent, if any. Remember the hierarchical nature of objects? Objects can have parents, inheriting all their characteristics. For example, when you click the PointObject item, its definition starts with something like this: class PointObject : BaseObject { public: PointObject(); [int] GetPointCount(); [vector] GetPoint([int] num); [bool] SetPoint([int] num, [vector] p); ... As you can see, at the top, you have a statement that reads class PointObject : BaseObject This means that the class named PointObject derives from the class BaseObject. If you click the BaseObject name (its in blue, so it is a link like on a regular Internet page) you are
24

directed to the page describing the BaseObject. In it you can see that its definition starts with something like this: [BaseObject] AllocObject([int] type); class BaseObject : BaseList4D { public: BaseObject(); ... Notice the class BaseObject : BaseList4D ? This tells you that the BaseObject class derives from the BaseList4D class. You could go on clicking the parents links all the way up until there are no parents left. This is an easy way for you to understand all that is attached to any specific object. Oh, I have been talking about classes, but what exactly is a class? Well, a class is just another way to say object. A class defines all that is inherent to an object: its parent, all its parameters, all its functions and commands, etc. So, when I say class (the terminology used in C.O.F.F.E.E. and most other programming languages), I'm referring to objects... the stuff you have been learning in the last two lessons. Ok, now I will present to you a short description of what you can find inside each topic showed in the Reference page. Document classes Inside this topic, you can find all functions and commands that deal with your document. Stuff like getting the current document, access to the objects inside your document, insertion of new objects, access to the current tools, Undo/Redo, access to the time/animation, etc. Objects With the functions and commands inside this topic you can manipulate the objects inside your document. You can get or set their position, scale or rotation, their name, their semaphore mode, etc. You can also access to some more specific characteristics of some special kinds of objects, namely polygonal (as in, non-parametric) objects or spline objects.

Cup of COFFEE - Part 5


By Mark Gmehling aka Macling

Tags In here reside the functions and commands that allow us to create new tags and read and write data into them. Animation Lots of functions and commands dealing with the timeline. Unfortunately, it is still impossible to create new tracks or keys in C.O.F.F.E.E., but we can manipulate the ones already there. Materials Want to create new materials or manipulate the ones that already exist? This is the place to find all you need to do it. Plugins If you want to create new plug-ins and not just simple C.O.F.F.E.E. expressions, this is where you can find all the necessary information about doing so. Shaders Shaders are also plug-ins. But they appear at the materials list. In this topic is all the information you may need to create your own shaders. GUI This is where all the commands for creating dialogs - the interface elements that appear in windows - are explained. Resources The same as the previous subject, but this time, using resources to define the dialogs instead of C.O.F.F.E.E. commands. What are resources? Resources are files that describe dialog elements. They have several advantages over defining the dialogs with commands. First, they are independent of the code itself so, if we want, we can edit the dialogs without ever touching the code. Other advantage is that the texts are separated from the rest of the description of the dialog so, if we want to change any text its easier. Also, translating the text to different languages is straightforward. Utilities Sundry commands and functions related to different subjects. They deal with bitmaps, movies, time, containers (more about containers in the
25

next lesson) selections of points and/or polygons, render parameters, etc. Functions A big collection of functions that deal with stuff like modeling commands, textures (paths), events (an event is something that happens inside your document like, for example, notifying that an object just changed or was deleted), etc. It also contains functions that return useful information, like which version of CINEMA 4D the C.O.F.F.E.E. code is running, what platform is the C.O.F.F.E.E. code running in, loading of documents, execution of external application, opening of external files, etc. Files If you need to access to files this is where you can find all the commands and functions to do so. You can, for example, rename files, delete files, check the file type, open a file for reading, write on a file, get paths from a file, etc. Math This is usually the most feared subject ;-) But it really does contain a set of very useful mathematical functions. Stuff like trigonometrical function, square roots, raising to powers, rounding, generation of random numbers, conversions between degrees and radians, conversions between color models, etc. Casts With these functions you can convert an integer number into a floating point number and vice versa. You can also change numbers into characters, for example. Types Like I said in previous lessons, variables can be of many types. They can be floating point numbers, integer numbers, strings of characters, a vector (a group of three floating points as in X,Y,Z or R,G,B), etc. This session shows the available types. Memory Computers have memory, right? It is usually called RAM. Inside that memory, huge amounts of numbers get stored, swapped, managed some-

Cup of COFFEE - Part 5


By Mark Gmehling aka Macling

how. With the functions inside this session you can manipulate chunks of data, using a memory management metaphor. String A string of characters is a type of data that C.O.F.F.E.E. can deal with. Using the functions and commands of this section you can manipulate those strings. You can add them together, you can compare them, you can get a specific character from somewhere inside them, etc. Vector Just like strings, vectors are another type of data that C.O.F.F.E.E. can deal with. There are a few functions that deal specifically with vector and this is where you can find them. Standard Functions Half a dozen commands/functions that do miscellaneous stuff. For example, the println() command that you already know very well can be found here. Also, ways to know the size of variables or what is their type can be found here. Class Like I said before, objects are called, in programming terms, classes. So, objects and classes can be considered the same. Access to classes is dealt with these functions. Program Structure Here you can find all the commands you could also find in regular javascript or C++ scripts. These are not specific to C.O.F.F.E.E. and allow you to define the workflow of your script. If you want to create conditional expressions or cycles, for example, these are the commands to use. More on these at the end of this lesson. Declaration When you need to create new variables, constants, data structures or objects (known as classes as you know now), these are the commands to use. Exception Handling The commands in this topic are mostly useful when debugging - debugging is the process of hunting down programming errors and fix them. It
26

deserves an entire lesson just for that. With these commands you can try out blocks of code that could be prone to errors and you can intercept those errors to manage them in any special way you want. I know that this explanation is very sparse but it should give you an idea of what you have in your hands. Almost everything you need to write C.O.F.F.E.E. code is in there. Unfortunately, it is almost impossible to explain everything that is in the SDK, in these lessons. But, as soon as you start to use the SDK, everything will become easier and easier. Believe me, I know... the same happened with me :-) Now, to wrap this lesson, I would like to teach you all a few more commands. This way, this lesson will not be completely theoretical ;-) You usually want to use programming because you want to automatize repetitive tasks. For example, you may want to go through all the points of an object to check for something. For those tasks we use loops. Loops, in programming language, are cycles that repeat a certain number of times. We do have tools to create loops that we know, in advance, the number interactions or loops that will repeat until a certain condition is met. Let us know both. If you already know, in advance, how many interactions you need to perform, the best choice is a for loop. How does it work? Well, the for sentence (its not a command, nor a function... its simply a sentence) has the following syntax: for(initialization; verification; update) code_to_execute; Before explaining all the parameters of the for loop, I need to tell you that a counter is required. For that, the for loop uses a simple variable. That means that the variable used as a counter inside the for loop already needs to have been declared.

Cup of COFFEE - Part 5


By Mark Gmehling aka Macling

But you already know how to do that, using the var sentence. The best way to explain you the parameters of the for loop is to give you a real life example: main(doc,op) { var a; for(a=0;a<10;a=a+1) println(a); } If you execute this script, in the console you will see that a column of numbers will appear, like this: 0 1 2 3 4 5 6 7 8 9 What happened in the script? First, a variable was declared: var a; You can use any variable name, as long as you stick with the rules of variables naming, presented in lesson 2. After that, we create a for loop: for(a=0;a<10;a=a+1) I believe the sentences between the semicolons are quite obvious but I will explain them anyway. First, the variable is initialized with a=0. This sets the initial value of the variable. The next sentence checks if the cycle as reached the end. In this case, it checks if the value inside the variable a is less than 10. While this condition is true, the cycle will repeat itself. As soon as this sentence becomes false, the cycle will end. Finally, the variable has to be updated somehow;
27

otherwise the verification of the end of the cycle will never become false. So, in this case, we increase the value inside the a variable by one (using a=a+1). After the for sentence you place the code you want to get repeated. If you have been paying attention to all the lessons, you may have noticed that the for lacks a semicolon in the end. That is because, like I said before, the for is NOT a command. Only commands have semicolons at the end. But, the command(s) after the for cycle DO HAVE to end with semicolons, if they are, in fact, commands. In our example, the command that is repeated is println(a); If you need to repeat more than one command, you need to enclose them inside { and }, like this: main(doc,op) { var a; for(a=0;a<6;a=a+1) { println("The variable a holds the value:"); println(a); println("-----"); } } This would print in the console: The variable a holds the value: 0 ----The variable a holds the value: 1 ----The variable a holds the value: 2 ----The variable a holds the value: 3 ----The variable a holds the value: 4 ----The variable a holds the value: 5 -----

Cup of COFFEE - Part 5


By Mark Gmehling aka Macling

You can skip the initialization, if the variable is already initialized, like this: main(doc,op) { var a; a=0; for(;a<6;a=a+1) println(a); } Notice that the semicolon still has to be there. In fact, for loops ALWAYS require all the semicolons (just two ;-)), even if nothing is placed inside them. So, if you want to create an infinite loop, you could write this: main(doc,op) { var a=0; for(;a<1;)println("This will last forever. You better force quit the application!"); } I don't advise you to try this script. If you try to execute it, you will have to press Command+Alt+Esc (if you are on a Mac) or Ctrl+Alt+Del (if you are on a PC) to force quit CINEMA 4D. In future lessons we will see how flexible the for loop can be but, for now, is only necessary that you know how it works and what it is used for. What if you don't know when you must finish a loop? For that you can use a do...while loop. It works like this: main(doc, op) { var a; a=0; do { println(a); a=a+1; } while (a<100);

Of course, in this example I know that I want to repeat the loop while a is still less than 10. But imagine I would increase the variable a by an arbitrary value like, for example, the Y coordinate of a set of objects. This way, I would not know in advance when the loop condition would be met. So, the loop would repeat until the sum of all Y coordinates of the objects would add to 100 or more. The loop could also be written in a different way: main(doc, op) { var a; a=0; while(a<100) { println(a); a=a+1; } } As you may have noticed, this form of creating a loop requires no do, just the while. Also, it has a difference from the first version. Since the test for the end of the loop is performed before the code that is to be executed, this code may never be executed, if the test fails. In the first example, the code runs at least once, and then the test is performed. This may be very important!! You may want this behavior to help you out so decide wisely when choosing the required method. If you want your code to run, at least once, use the do {...} while method. If you want that your code never gets executed if the test fails, use the while {...} method. What if you need to get out of a loop due to an unexpected situation? If, for some reason, you need to get out of a loop, even if the verification test doesn't fail, you can always use the break command. Check out this example:
28

Cup of COFFEE - Part 5


By Mark Gmehling aka Macling

main(doc, op) { var obj; obj=doc->GetFirstObject(); while(obj) { if(obj->GetName()=="Light") { println("Found a light."); break; } println(obj->GetName()+" is not a light."); obj=obj->GetNext(); } println("End of search."); } This script will search all objects inside a document. Well, not all... it will stop as soon as it finds an object named "Light". If it does, it prints, "Found a light." to the console and breaks the loop, executing the code right after it. In this case, it prints "End of search." Because that is the code right after the loop. If the name of the object is not "Light", it prints the name of the object followed by "is not a light". Then it advances to the next object. This is VERY IMPORTANT. If we don't advance to the next object, the script will go on checking the first object of the document and it will never get out of the loop. So, this loop can end for two reasons: when it finds an object named "Light" (in that case, it breaks the loop), and when the obj variable ends up with the value nil (that is what the while(obj) checks). That will happen if there is no object in the document (very hard to happen because you need, at least, one object in your document to hold the C.O.F.F.E.E. tag that contains this script) or when the obj->GetNext(); function reaches the end of the objects list.
29

Ok, this is it. Now you know how to create loops. Loops are VERY important in programming so get used to them. As usual, if you have any doubts, feel free to contact me at rui_mac@ruimac.com Until next month and go on exploring the SDK. It will be your best friend, when programming in C.O.F.F.E.E. Rui Batista

First steps into SILO - A Basic Modeling Tutorial


By Thomas Pasieka

Hello attackers! You probably wonder why I am writing a tutorial on SILO if you have CINEMA 4D. Well the answer is simple. Why should we limit ourselves to only one program? It is always a good idea to look beyond the horizon and discover new frontiers and see what the world out there has to offer. SILO is not all that new on the market but progressing fast and it's userbase is growing rapidly. Now what exactly is SILO you may ask? To explain SILO with the developers own words: "Silo is a next generation production quality 3D modeling program, employing advanced polygonal modeling tools and completely integrated subdivision surfaces. From other wordly character models to modernist building designs, Silo is being used now in work in video games, architectural design, film animation, and more." That said, I am sure you figured that this is mainly a "modeler" although Nevercenter is working hard on the new release of Silo (2.0) which will include displacement painting, UV Pelting and many many more features. Go and check their website at: http://www.nevercenter.com Well let's get started with our beginners tutorial. I am going to show you how to model a simple object like a tin can for example. We will model the object completely with Silo and apply some textures with CINEMA 4D. The final image is then rendered with CINEMA 4D as well. Time to get started here. If you don't own a license of Silo then you can simply get an evaluation copy at: http://www.nevercenter.com/downloads/ There are two version to pick from. The first one let's you test run Silo for 30 days without any restrictions. The second version the so called "Learning Edition" is similar but with the restriction to the faces/ polygons of a maximum of 100 per scene and you won't be able to use any kind of plugins.

Once you downloaded a version you are ready to go. Open up Silo and have a look at the Interface. Looks pretty empty and clean doesn't it? Not to worry, everything you need is there and the whole interface is completely customizable. But we don't have to get into that now as it is not important for our tutorial. You can find more information on how to customize your interface on Nevercenter's website as well. Alright, let's start with the modeling process. On top of the menu bar you will find the "create" options. Click on that and select the "Cube options". Have a look at the picture below to see what I am talking about. You will see a little pop up window

01

showing up. Change the "Width Sections - Height Sections and Depth Sections to 2" and click "create". You will be presented with a newly created cube like you see in Picture 1. Now that was easy enough. On to the next step. On the right side you will notice a box with several options to choose from. This "box" will give you the opportunity to select either "Vertex - Edge Face - Multi - or the whole object". In our case we will select the "Face" option and select the for faces on top of the cube. You can select the faces by simply clicking on them with your cursor. Hold down your mouse button while you select the first face and move the cursor over the other faces to select all of the four top faces. Have a look at the next screenshot.
30

First steps into SILO - A Basic Modeling Tutorial


By Thomas Pasieka

02

Let's select the bottom edge of our tin box. Make sure you have selected the "Edge mode" and simply select all of the bottom edges like you can see in the next image (4).

04

After you selected the top four faces you simply hit your "delete" key on your keyboard. This will open our cube on the top. See Picture 3. If you hit the "tab" key on your keyboard you will notice that the left modifier box will change. You can cycle through a lot of modes that way depending on your needs. The first one is called "Create". If you hit "tab" again you will change it to the "Modify" tab. Once there, and with the edges still selected you will have to choose "Bevel". You will notice that the gizmo changes it's appearance. It now has round handles. Create the bevel by clicking in the middle of the gizmo. Hold down

03

You can adjust the height of the box/cube by selecting the "Object" tool. Choose "Scale" from the menu below or "Universal" to adjust the height interactively. Click on the green little cube of your gizmo to adjust to box to your liking. Once satisfied you we will go on with our next step. To rotate the object in your viewport simply hold down the "alt" key and move the mouse while holding the left mouse button down. You can zoom in and out by holding down the "alt" key once again and with your right mouse button held down to zoom.
31

First steps into SILO - A Basic Modeling Tutorial


By Thomas Pasieka

the left mouse button while you drag the bevel. When you are satisfied with the looks of your bevel simply press the "return" or "enter" key. Do the same to the four edges on the side of your box. Select the edges and do the same steps till you got the desired bevel. See image below (6)

08

06

In the "Modify" Tab on the left you can now select "Split Loop". Once selected you will be able to interactively change the split's parameters. Move it so it looks similar to the image below (9).

Now what if we want to see how our box looks like when smoothed? Easy! Press the "C" key on your key 2-3 times. To go back to an un-smoothed version simply press the "V" a couple of times.

09

07

If you like you can switch your model back to an subdivided version at any time by pressing the "V" key. However, you can model either way. Time to do a second loop cut. Simply cut the same loop once more. The image above (7) shows the "subdivided" version of the model. Let's go on to the next step. Select the "Face" tool and choose the upper part (ring selection) of your model like in Picture 8. You should have something similar looking to Picture (10) on the next page of this tutorial. Study the image and make sure it looks similar to mine in order to complete this tutorial.

32

First steps into SILO - A Basic Modeling Tutorial


By Thomas Pasieka

10

12

With the loop selected like in Image (10) you can simply extrude this loop so we get some sort of edge in the tin box in order for the top part to rest on. You can make additional cuts (loop cuts) if you feel like you need harder edges at some points. That is fine as long as you your shape looks similar to mine. No harm in that. You could

13

11

14

even "Crease" the edges if you wanted to but I won't go into details about that this time. Have a look at Image (12) to see how my model looks like at the moment and stage of this tutorial. If you archived something similar looking then be proud of yourself. In Image (13 and 14) I selected the top two edges and scaled them down a little bit which makes them go inward which I want.

33

First steps into SILO - A Basic Modeling Tutorial


By Thomas Pasieka

Let's pay a little attention to the bottom of the tin can. I selected the four faces to get some sharper edges like in Image (15). I used "Extrude by Normal" in this case.

17

15

After you completed this task you should select the bottom faces of your lid and delete those as they are not necessary anymore. That's it for the bottom and main part of our tin can. We will now concentrate on the Lid of the tin can. Shouldn't be too hard should it? Create a new cube with the same attributes that you used to create the bottom part. Change the height of the Lid by using the scale tool to get something similar like in the next screenshot (16).

18

16

After you deleted the bottom faces you want to select the faces near the bottom of the lid and use the loop cut tool to cut the selected loop (19-20).
19

It's time to do bevel the edges again. I selected the sides of the lid (edge selection) and the top edges to create a small beveling to it. Just enough to sharpen the form a little bit (17).
34

First steps into SILO - A Basic Modeling Tutorial


By Thomas Pasieka

20

Select the edge (loop) at the bottom of the lid and with the universal tool selected we will scale and move the edge inward like in Image (23-24).

23

Select the loop near the bottom as in picture (20) and "Extrude by Normal" to create some sort of edge. Have a look at Image (21).

21

24

Use the Split Loop function again to create more faces like in Image (22).

22

If you have done everything like explained you should have something similar looking to the Images on the next page. I then exported the model as .obj file to CINEMA 4D in order to place a logo on top of the lid and rendered the scene with CINEMA 4D. Silo is an awesome modeler and I am sure you will enjoy getting to know Silo. Be prepared though, it can be very addictive. Check the next page for the final results. Enjoy!

35

First steps into SILO - A Basic Modeling Tutorial


By Thomas Pasieka

Final Model in Silo

Imported into CINEMA 4D

Final Rendering

36

Material and Shaders (C4D Game Tutorial)


By Darrin Frankovitz

Last month I (hope successfully) explained the basics of getting your prop models and textures into the Half-Life 2 Source engine with C4D, BP, Max, & the SourceSDK tools. This month we're going to focus mostly on source engine materials & textures ".vmt" (valve material) & ".vtf" (valve texture file). This month you will only need BodyPaint (or Photoshop, Gimp, etc), the Source SDK (free if you own any game listed here: http://www.steampowered.com/v/index.php?area= search&category=16 ) and VTFEdit (a free, simple, fast and powerful program to create/compile valve texture & valve materials files). VTFEdit v1.2.1 has 2 flavors, the installer So you can dive right into the materials and surfacing we're going to use our compiled oil drum model and a number of texture maps I created in C4D & BP to add color, bump, environment map reflection, specularity, and (depending on your graphics card) a new feature called "Phong" or "Rim Lighting." All the files you need to follow along are in the "goodies" folder, C4D/BP & SourceSDK you will need to get on your own. Sorry! Note: The Microsoft .NET Framework Version 1.1 is required to run vtfedit; http://microsoft.com/downloads/details.aspx?Fami lyId=262D25E3-F589-4842-8157-034D1E7CF3A3 &displaylang=en The authors of VTFEdit (wunderboy & nem) have other really valuable tools for HL2 development; http://www.wunderboy.org/ http://nemesis.thewavelength.net/ ENOUGH! Let's get started already! Extract the 7 files from "compiled_model.zip" and place them into your "models" folder in your hl2 game directory, for me this is; "X:\Program Files\steam\steamapps\my user account email\half-life 2\hl2\models" Put the file "uv test bakeColor.vmt" into the materials\models folder,
37

for me this is "...\half-life 2\hl2\materials\models", my texture maps are included in their original and compiled formats. If you don't care about creating vtf's ( and only want to explore the source shaders/materials skip ahead to the section titled "Shader/Material Editing" Creating v1.2.1 the ValveTextureFiles w/VTFEdit

Since we already compiled our model, know the name of the texture that was on the model when compiled (this determines the name of the .vmt material file, NOT the textures seen on the model in-game) and the initial model and texture looks ok in model viewer all we need to do is create our texture files (vtf), edit the models material (vmt), and "refresh" the view in model viewer (in the main File menu).

01

Picture 01 is where we ended last month: a comparison of the two rendered with default/auto light. (Image 01). Using the reference texture in pic1, some photos from http://www.imageafter.com/, and baked DarkTree (www.darksim.com/) shaders (they're a LOT like the NUKEI material in C4d) I painted & baked layer-masks on all the layers except the bottom layer (a clean baked metal shader), I exposed rust across large areas and hid rust or painted scratches on edges.Pic2 is a default ren-

Material and Shaders (C4D Game Tutorial)


By Darrin Frankovitz

der in C4D of the textured model, color map & normal map. (See Image 02)
04 02

I baked one 512x512 jpg for the color channel, and a targa (tangent) normal map with "calculate bump" checked (on). The normal map bake settings and final "clean" texture base are shown in (Image 03).

After selecting the file to import you are presented with many important VTF options, for now use my import settings shown in Image 05.

03 05

Image 04 are additional bakes and textures used for selections and blending parts together. (See Image 04). To create valve texture (vtf) files from the baked color and normal textures, start VTFEdit and in the main menu go "File > Import" and locate/ select "color.jpg" OR, you can use the "File System" window on the left side to browse to your file.
38

In the main menu select "File > Save as..." and save this (only option is vtf) into the materials/ models folder, the same folder as "uv test bakeColor.vmt" (NOTE: Remember, the name of the vmt file was determined when compiling the model. Do NOT change the name of the vmt file

Material and Shaders (C4D Game Tutorial)


By Darrin Frankovitz

unless you recompile or use a different model). I named my saved vtf file "oildrumColor" as seen in Image 06.

engine 'the base texture is in the materials/models folder and is named oildrumColor' Now on the line just below the $basetexture and above the close carrot type in // " $ b u m p m a p " "models/oildrumBump" So far our vmt looks like: VertexLitGeneric { // } "$basetexture" "models/oildrumColor" "$bumpmap" "models/oildrumBump"

06

Now; 1. load the Source SDK (found in the STEAM "Games" menu under "Tools") 2. make sure "Half-Life 2" is the "Current Game" 3. run "Model Viewer"

Do the same with the "bump.tga" saving it as "oildrumBump.vtf" in the same folder, but this time when you import select BGRA8888 for the Alpha format. If you fail to save the alpha channel in the vtf you will lose nearly all control over environment map reflections and specularity... well, at least until you add an alpha channel. With BodyPaint simply export your flattened texture with ONE alpha channel in the TARGA format and when you import the tga in vtfedit the alpha channel will be there. Some image formats, like jpg, don't support alpha channels. Shader/Material Editing Using "Notepad" (or a similar text editor) open the valve material file ("uv test bakeColor.vmt"), you should only see the name of the shader we're using, "VertexLitGeneric" and an open & close carrot. To tell this shader where & what texture map (vtf) to use we must place the line "$basetexture" "models/oildrumColor" between the open and close carrot and WITH all the quotes. Everything must be on its own line. This says to the source
39 07

In the model viewers main menu select "File > Load Model" scroll down and load the file "oildrumC4D.mdl" you should see something like this (See Image 08). If you see a pink or purple & black checkered texture then the source engine is not finding your files. In that case ensure your vmt and vtf are located in your hl2/materials/models folder and that the vmt basetexture path is "models/(name of vtf)" and all the names and paths are consistent.

Material and Shaders (C4D Game Tutorial)


By Darrin Frankovitz

08

09

Adding normal (bump) maps is almost exactly like adding the base texture except we add a bump map, or a "$bumpmap". We already added the bumpmap & the name/location of the texture, but the line began with 2 slashes (//) and these are used to add comments, so to enable this line simply delete the 2 slashes and save the vmt. The oildrumC4D model should still be loaded in model viewer, simply select "File > Refresh(F5)" to see the bump map. To move the light around hold the control key and left click and drag your mouse. You should see shadows moving in relation to the movement of the light. The bump map is most noticeable on the MAXON & CINEMA 4D R10 logos. (See Image 09) Reflections and Specularity may be a bit more tricky but they are just as simple to add to our material. We'll even be able to adjust the RGB color, saturation, and contrast directly in the material file and refresh model viewer again to see our changes.
40

So, add the following lines below the $bumpmap line and ctrl-s (save) your vmt, here are the lines; "$normalmapalphaenvmapmask" 0 //this enables environment maps "$envmap" "env_cubemap" //tint the environment map RGB reflection // "$envmaptint" "[1 .79 1]" //you catching on yet? //use the following to increase/decrease environment map saturation // "$envmapsaturation" ".5" //increase or decrease the environment maps contrast with... // "$envmapcontrast" "-0.65" Alright! Now Refresh Model Viewer. (Image 10 - Next Page) If I hide the bump map I and refresh, I get this. (Image 11 - Next Page) Turn the bump map on again and turn on the normal maps alpha, this masks the environment

Material and Shaders (C4D Game Tutorial)


By Darrin Frankovitz

10

12

11

13

map reflection. "$normalmapalphaenvmapmask" 1 this is a boole, it's either on ("1") or off ("0") (Image 12) Now is a perfect time to delete the comment slashes for "$envmapcontrast" "-0.65" and refresh. (Image 13) I really hope your moving the light around everytime we make a change, it makes all the difference in the environment ;) Get it? Ok, it's not that funny. Anyway, delete the rest of the comment slashes and play with the tint, contrast, saturation... did you happen to notice the "Options" in Model Viewer allow you to change the key and ambient light values! Experiment with all these settings.
41

Finally, let's check out this "Phong/Rim Lighting" I mentioned. There is still much about this new (a few months old now) feature which is not documented or simply hard to understand. For example, I have not been able to isolate a clear example of exactly what the "$ambientocclusiontexture" does... speaking of the advanced render module ;) HL2 has had HDR lighting for a while (not as long as C4D but anyway...), this appears to be disabled in model-viewer. Anyway, here are the Phong parameters we know of; "$phong" "1" // turns phong on/off "$phongboost" "3" // increases phong effect "$phongexponent" "1.67" // increases overall falloff of effect "$phongexponenttexture" "models/(spec map)" // uses texture map to control falloff

Material and Shaders (C4D Game Tutorial)


By Darrin Frankovitz

"$phongfresnelranges" "[.5 .5 2]" // increase/ decrease the falloff on all 3 planes [x y z] "$phongalbedotint" "1" // HDR related (?) Check out the following examples for more info on these parameters: (Image 14, 15, 16).

16

shader in C4D. I know this is a LOT of info, but once you create a few textures, load your model and begin editing the vmt (material) file your going to have a lot of fun! If you're having problems or are confused or if there's something I missed or overlooked here, please let me know about it by emailing me (dfrankov@gmail.com) or private messaging me in 3D Attack :D Keep on Attacking (and please DEFEND THE ENTRANCES!) Darrin aka Nirrad

14

15

Of course, the best way to figure all this stuff out (and to see how easy it actually is) is to make your own valve textures and materials and see how they look in model viewer when you move the light around, this is more important with the use of $phong because the entire effect is based on the players 1st person view of a surface normal in relation to the position of the light illuminating the model... just like the Fresnel Channel
42

Oildrums in game

Spotlight on Neil Vaughan


Featured Artist of the month

Name: Neil Vaughan Age: 38 Occupation: Currently applying for Graphic Design Work Location: Birmingham, UK Software: CINEMA 4D 9.6, Photoshop, AfterEffects

of doing things and this addiction has never really gone away. Nowadays I am a freelance graphic designer and I find my work evenly split between doing the usual graphic design work to anything from 3D visuals to fully animated interior walkthroughs. I am also involved in teaching CINEMA 4D and its great to share your knowledge and techniques with people who are taking their first steps into this fascinating medium. If I had to pick my favorite area to work in I would say I enjoy interiors and abstract work the best. Interiors I enjoy because you have to be very disciplined and precise because any time you are attempting to simulate reality your skills are scrutinized all the more. Scale, texture, lighting and modeling all have to be to a certain acceptable level. In contrast, abstract work lets you be completely freeform and you can allow the image to evolve as you work. Its a great method of escapism. I'm interested to explore character animation next, as it seems to be something of a Holy Grail for all animators to achieve. And what with the new advancements of Mocca 3, it seems like there's never been a better time to jump in and have a go! Most of the knowledge I have, I have picked up from forums such as 3D Attack, C4D Cafe and CGTalk. There are some incredibly knowledgeable and generous people out there who are only too ready to help share their techniques. Personally, I couldn't have survived without them. Thanks for taking the time to find out a little more about me. Neil Vaughan

Favorite resources on the web:

http://www.3dattack.net http://www.c4dcafe.com http://www.cgtalk.com http://www.mograph.net http://www.renderosity.com Ever since I was a small child I've been fascinated by all forms of animation, art and design so it seemed like a natural progression that I would somehow make my living from it. Maybe also because it was the only thing I seemed to be any good at! My early explorations into 3D came as an extension to my graphic design skills - whether it was a simple extruded logo or piece of typography. I became eager to learn more, and as my knowledge increased my projects became more and more ambitious. The first 3D app I picked up was called Extreme 3D from Macromedia. Looking back it was a horrible program to use, but I became immediately hooked on the possibilities. Next came Form-Z, for a couple of years, with its overly complicated interface and complete lack of animation tools. Then a friend of mine recommended a program called CINEMA 4D. This was way back at version 5.2! But even then, I was amazed at just how comfortable I became with it in such a short space of time. Its interface was logical and easy to use and it was just so user friendly in comparison to the other 3D apps I had so far struggled with. I became addicted to exploring new ways

43

Spotlight on Neil Vaughan


Featured Artist of the month

44

Spotlight on Neil Vaughan


Featured Artist of the month

45

Compositing with LightWave 3D


By Carlo Macchiavello

Compositing What A Passion LightWave 3D LightWave3D has a good render engine, and often users render the final image or animation directly, but if you work a bit in compositing and post production its possible to optimize the quality and the render time. In this tutorial I will explain how to optimize some common situations where you risk having a long render time. This month we will discuss Volumetric light. Often people think compositing is a complex task where they must blend thousands of layers with thousands of different blending modes in a complex way. In reality, compositing can be simple work, with only two or three layers, as you will see in this tutorial. When you work with volumetric effects, using a separate pass can optimize render time, quality and revision of a shot. Lets start with a simple sample that helps you to learn to do just that. Then we will move on to a second sample where we will add shadow and some other details. Ive built a simple scene where light arrives from an external area of light. In Image 1 you can see the original rendering. (30 minutes + un-numbered time to render out the test and refine the volumetric render.) In Image 2 you can see the result of 10 minutes of work. (6 minutes of render time and 4 minutes of post pro setup.) You can render it all in one pass, but render times can be long. Also, if you need to change something, as in reducing the opacity of volumetric light or a simple color of light, you must re-render the entire image once again. If you render in two passes, one for light and one for the rest of the scene, you can modify the light in postproduction. Now lets look at how we set up the scene and how to compose it in any post processing software. In this scene I add a spot out of a box to
46 01

02

project light through the window. The volumetric light option is on and the render time is over 30 minutes. If I render the background without volumetric light, the render time is 58 seconds. Last, but not least, volumetric render with matte option only need 5 minutes to render. This means I must spend over 24 minutes on post pro to get the same time as the full render. I think we can do better in less time. Ok, weve spent too much time without practical work. Lets now start with the real setup of a scene and see how much time we can save with post processing.

Compositing with LightWave 3D


By Carlo Macchiavello

First step is to render a correct material for post processing. This time we see a very useful option called matte object. We prepare the scene like usual. Then, when we are ready for rendering, we disable the volumetric light option, and save the scene like a basic scene which is the background of our compositing. Then we save the scene again as volumetric scene. Now we can change some parameters. To render out only the volumetric light we need some matte objects that cut the volumetric light, but we need to avoid seeing them in the rendering. The best solution is to select all objects of the scene and enable an option called Matte Objects that changes the 3D object to a flat colored object. In this case a flat black will do. This will allow us to avoid influence of the flat color to the volumetric light, and disable the presence of objects in the alpha. To do that we must select objects that will be matte objects, open the property of the objects (hit p button) and go under the render tab, enable Matte object property, and in the alpha channel popup select constant black. (Image 03) With this simple property change your objects will be rendered like a flat black surface, but not change other objects property in the surface

panel. Now you render out the two different images that you can see below. Image 4 shows us the original background without volumetric effects.

04

Image 5 is volumetric only.

05

03

Now everything is ready. We can start to combine and tweak to obtain the final rendering. The application you use to combine the images is not important. I will show you the main process that you can apply in Photoshop, Photo Paint, After Effects, Combustions, Shake, Digital Fusion and others. Load the two images (or image sequence) and start a new composition. Duplicate the back47

Compositing with LightWave 3D


By Carlo Macchiavello

ground and blur it with a Gaussian blur at 10 pixel and use brightness and contrast to change contrast and saturation to this level. Usually 10% contrast is enough. In Image 6 you can see the blurred version of the background that we use to a bit of glowing to the external light.

07

06

08

Now change blending mode to screen mode to blend the luminosity of this image to the other and change the opacity of this layer to 50%. Add a volumetric layer, add a Gaussian filter at 5 pixels, and add a bit of contrast with the brightness and contrast filter, no more than 15% of contrast. In Image 7 you can see the first volumetric layer. This is where you have the main luminosity of volumetric light. Change the blending mode to screen, and opacity of this level to 50%. Add the volumetric layer again, Gaussian filter at 10 pixel and add a bit of contrast with the brightness and contrast filter. This time you can use more contrast to obtain a hard light. This will help the color and saturation of

light. Image 8 shows that the second layer adds color onto the light. Change blending mode to Color Dodge that add more color than luminosity, and reduce opacity of this level to 35%. Now you see the final image in Picture 9. This is the final composite that took less than 10 minutes instead of 30. Hopefully you can now begin to understand the power and advantages of compositing. With a simple workflow I am able to achieve a better image in less time.

48

Compositing with LightWave 3D


By Carlo Macchiavello

09

I can test different versions of volumetric light, different colors, opacity, glowing etc., with few previews in the compositing software instead of rendering many times in the main 3D application. Keep your mind open to all of the tricks that allow you to work faster and better. Carlo

49

Sneaker Tutorial Part 2 - GERMAN VERSION


By Mark Gmehling aka Macling

jektmanager und rechts-klicke im Objektmanager um sie zu Verbinden. Ein neues stripe objekt ist entstanden und ich kann die originalen drei Objekte lschen (Backspace oder Del) . An dieser Stelle ist es eine gute Idee die Szene unter einem neuen Namen zu speichern, um die Original Datei bestehend aus den ganzen Einzelobjekten fr eventuelle sptere Nutzung zu erhalten- z.B. um einfach einen anderen Schuh fr zuknftige Projekte zu erstellen. Hello again attackers, schn Euch im zweiten Teil meines Turnschuh Tutorials zu begren. Ich hoffe Ihr hattet keine Probleme den Modellierungs-Schritten des ersten Teils zu folgen und seid nun neugierig auf das Texturierungstutorial. Bevor ich anfangen kann die Materialien zu erstellen muss ich Ordnung in den Objektmanager bringen und die whrend des Modellierens erstellten Einzelteile in einem Objekt vereinen, um ein Objekt zu haben, das ich in meiner Objektbibliothek ablegen kann und bei Bedarf einfach in eine zuknftige Szene hinzuladen kann. Dann werde ich einige einfache prozedurale Materialien erzeugen und eine Umgebung und Beleuchtung fr das finale Produkt-Rendering herstellen. (Image 01) Wie Ihr in PIC_01 sehen knnt habe eine Menge Einzelobjekte im Objektmanager hinterlassen, die ich nun zu einem Objekt zusammenfassen muss. Also selektiere ich die drei stripe Objekte im ObIch ziehe das neue Stripe Objekt in das bereits vorhandene Symetrie Objekt zu den anderen Objekten und wechsle in den Polygon Modus- selektiere alle (Ctrl/Apple-A) Polygone und erzeugen einen Selektions Tag(Selektion- Selektion einfrieren). Den Selektion-Tag werde ich spter nutzen um bestimmte Materialen bestimmten Polygonselectionen zuweisen zu knnen. Ich benenne den Selektions Tag stripes in seinen Objekt Eigenschaften. (Image 01) Diese Prozedur werde ich nun bei den anderen Objekten wiederholen. Im Objekt-Modus selektiere ich die vier Schnrsenkel(bootlace) Objekte (mit Hochstelltaste)- verbinde sie- lsche die alten original Objekte und ziehe das neue Objekt ins Symetrie Objekt- wechsle in den Polygon Modus selektiere alle Polygone (Ctrl-A)- friere die Selektion ein (Selektion- Selektion einfrieren)- den neuen Selektions tag nenne ich ich seinen Attributen bootlaces. Danach verbinde die Torus Objekte- friere deren Polygone in einem Selektions Tag, den ich torus nenne ein. Die nachsten Einzelobjekte, die ich zusammenfasse sind das shoetip, back, bootlacepart, ankle part- auch hier bekommt das daraus resultierende Teil einen Selektionstag, den ich leather nenne. Die letzten beiden Teile die einen Selektions Tag bekommen mssen sind die Schuh Sohle und(sole) die Grundgeometry (base). Da Grundgeometrie und Sohle bereits ein und dieselbe Geometrie sind selektiere ich die betreffenden Polygone, die die Sohle definieren (Die Loop se50

01

Sneaker Tutorial Part 2 - GERMAN VERSION


By Mark Gmehling aka Macling

lektion (UL) ist hier ein praktischer Helfer, um die ueren Polygone zu selektieren fr den unteren Teil der Sohle benutze ich die Live Selektion. Danach friere ich diese Selektion als ein- und nenne den Selektionstag sole. Danach invertiere ich die Selektion (Slektion- invertieren) und friere diese Selektion ein und nenne den Selektion Tag base. Aufpassen muss man, dass die vorher vergebene Selektion nicht selektiert ist. Wre das der Fall wrde sie berschrieben- ist sie es nicht wird eine zweite hinzugefgt- so wie ich es jetzt beabsichtige. Nun habe ich nur noch sechs Einzelobjekte. Nur noch der Zunge des Schuhs gebe ich einen Selektionstag tongue wie oben beschrieben (Polygone selektieren- Selektion einfrieren) Jetzt steht der Vereinigung der Einzelteile zu einem Schuhobjekt nichts mehr im Wege- alle Teile die spter ihre eigenen Shadereigenschaften haben sollen sind mit Selektionstags versehen. In Objekt Modus selektiere ich alle Einzelteile und verbinde sie (rechte Maustaste- verbinden). Das neues Objekt, dass ich Shoe nenne enthlt alle vorher vergebene Selektions Tags. Ich lsche (Backspace o. Del) jetzt die Einzelobjekte, die jetzt nicht mehr gebraucht werden. Als letztes mache ich das Symetrie Objekt editierbar (C)- jetzt ist mein Schuh ein einzelnes Objekt und ich kann durch die vergebenen Selektionstags einfach verschiedenste Materialen an bestimmte Geometriebereiche adressieren, indem ich spter das Selektionstagfeld der verschieden Materialien nutze. Also werde ich jetzt die verschiedenen Materialen definieren. (Image 02). Ich doppelklicke im Material Manager, um ein neues Material zu erzeugen- nenne es BLUEsetze die Helligkeit im Farbkanal auf 100% und lade einen Fresnel Shader ins Texturfeld- Die Farben des Fresnelfarbverlauf passe ich an wie man in Image 03 sehen kann. Den Glanzlichkanal deaktiviere ich. Den Reliefkanal aktiviere ich mit 15% und lade eine einfache
51 02

Noise in den Texturbereich. Die Noise Details kann man Image 03 entnehmen. Danach ziehe ich da Material entweder auf die Shoe Objektgeometrie im Editorfenster oder auf das Schuhobjekt im Objekt Manager. Ich klicke auf den hinzugefgten Textur Tag und ziehe den Leather Selektionstag ins Selektionsfeld des Texturtags, somit ist der Shader auf die Polygone begrenzt, die ich im Leather Selektionstag eingefroren habe. Um ein dem Blue Material sehr hnliche Material zu erzeugen ziehe ich das Blue Material mit gedrckter Ctrl-Taste im Materialmanager, um eine Kopie zu erhalten. Diese nenne ich WHITE und ndere einzig und allein die Farben des Fresnel Farbverlaufs im Farbkanal zu weiss und hellgrau (PIC_03) Das neue Material weise ich ebenfalls dem Shoe zu und ziehe in dessen Selektionsfeld den Bootlaces Selektionstag (Image 03)

03

Weil ich dem Schuh goldene Streife hinzufgen mchte erstelle ich ein weiteres Material, dass ich

Sneaker Tutorial Part 2 - GERMAN VERSION


By Mark Gmehling aka Macling

GOLD nenne. Die Einstellungen des Materials knnt ihr PIC_04 entnehmen. Nachdem ich es dem Schuh zugewiesen habe ziehe ich den STRIPE Selektionstag in das Selektionsfeld des GOLD Materials. Da ich die Sohle auch golden einfrben mchte weise ich das Material ein zweites Mal zu und ziehe den SOLE Selektionstag ins Selektionsfeld des zweiten GOLD Materials (Image 04).

05

lade, welches fr schne Reflektionen im Metall sorgt. Nachdem dieses Material dem Schuh zugeordnet ist ziehe ich die TORUS Selektion ins Selektionfeld des METAL Materials. (Image 06).

04

06

Das dritte Material dass ich erstelle ist fr das Grundmaterial des Schuhs. Ich nenne das neue Material BASE und whle im Farbkanal einen Blauton mit 100% Helligkeit. Ich aktiviere den Reflektionskanal und whle 15% Helligkeit. Die weiteren Eigenschaften des Shaders knnt ihr PIC_05 entnehmen. Nachdem ich es dem Shoe zugeordnet habe ziehe ich den BASE Selektiontag ins Selektionsfeld des BASE Materials. Auch dieses Material weise ich ein zweites Mal zu, um es auch der Zunge des Schuhs zuzuweisen (Tongue Selektionstag ins Selektionsfeld des zweiten Base Materials ziehen) (Image 05) Das nchste Material benutze ich fr die Metallringe die die Schnrbnder halten. Ich fge ein neues Material hinzu nenne es METAL und passe die Einstellungen an meine Bedrfnisse an. In Image 06 knnt Ihr Euch die Details ansehen. Das besondere an diesem Material ist, dass ich hier den Umgebungskanal benutze, in den ich ein sehr kontrastreiches Innenraum-Panorama Foto
52

Um meinen Schuh noch etwas aufzumbeln entschliee ich mich noch ein kleines Detail dazu zu modellieren. Ich starte mit einer 4x3 segmentierten Plane, die ich editierbar mache (C) und mit dem Bewegen(E), Skalieren (T) und Rotieren(R) Werkzeug in Position bringe. Im Punkte Modus manipuliere ich die Flche um daraus ein glaubwrdiges Label zu modellieren, wie Ihr es in PIC_06A sehen knnt. Um ein Logo auf dem Label auf der Schuhzunge zu platzieren erstelle ich einen weiteren Shader, den ich Label nenne und lade eine in Photoshop gemalte Bitmap Datei in den Alphakanal des Materials- zu beachten ist das der Schwarz und Weiss Wert jeweils bei 100% liegt, damit die Transparenzen auch bei 100% liegen. Im Farbka-

Sneaker Tutorial Part 2 - GERMAN VERSION


By Mark Gmehling aka Macling

6a

08

Jetzt ist mein Schuh bereit gerendert zu werden, allerdings fehlt noch ein Umgebungs Setup. Dazu fge ich meiner Szene ein Hintergrund Objekt, ein Himmel Objekt, ein Licht und eine Flche, die als Boden genutzt wird hinzu. Auerdem erstelle ich einige simple Materialien: Ich starte mit dem Material mit dem ich meine Szene ausleuchten werde. Ich nenne das neue Material SKY und deaktiviere alles auer dem Leuchten Kanal- hier lade ich ein jpg.- man kann auch eine helle Farbe nutzen- die Details sind Image 09 zu entnehmen.

07

nal wird die Farbversion meines gemalten Logos abgelegt. Auerdem aktiviere ich den Reliefkanalalle Details sind in Image 07 zu sehen. Dieses Label Material ist das einzige bei dem ich die Projektion nach Zuweisung zum eben dazumodellierten LABEL noch anpassen muss. Ich ndere den Projektions Modus auf Flche Mapping und deaktiviere die Kachelungs Option. Im Texturmodus (schachbrettknopf auf der linken Seite) passe ich die Projektionsgre mit den Bewegen (E), Skalieren (T) und Rotieren (R) Werkzeugen an mein Label an. (Image 08)

09

Ich weise das Material dem Himmel Objekt zu. Damit das Bild nicht in der Szene zu sehen ist fge ich dem Himmel Objekt eine Render Tag hinzu(rechte Maustaste- C4D Tags- Render Tag) in dem ich Sichtbar fr Kamera deaktiviere. In den Rendereigenschaften aktiviere ich jetzt Global Illumination (in frheren C4D Versionen Radiosity genannt). Auerdem deaktiviere ich Auto Lighting in den Optionen der Rendereigenschaften. Das nchste Material ist ein sehr ein53

Sneaker Tutorial Part 2 - GERMAN VERSION


By Mark Gmehling aka Macling

faches, dass ich fr Boden und Hintergrund nutze: Nur der Farbkanal mit 100% weiss ist hier aktiv. Ich weise es dem Hintergrundobjekt und der Flche zu. In Bild 9 kann man sehen, dass ich dem Flche Objekt auch einen RenderTag zugewiesen habe, in dem ich Hintergrund Compositing aktiviert habe, was dafr sorgt das Boden und Hintergrund ineinanderbergehen ohne dass ein strender Horizont sichbar wird. Als letztes platziere ich das Licht. Das Licht soll in meiner Szene nur einen Schlagschatten werfen und diese nicht beleuchten, deswegen aktiviere ich die ShadowCaster Option in den Datails der Lichtattribute. Auerdem passe ich die Deckkraft des Schattens auf 30% an. Ich hoffe Ihr hattet Spass bei meinem SNEAKER TutorialWenn ihr irgendwo Probleme oder Fragen habt posted Eure Fragen einfach in der WIP Sektion auf dem 3dattack forum. Ich bin sicher das Eure Fragen schnell beantwortet werden. Wir sehen uns an Bord! Keep attacking!

09

54

Best of CINEMA 4D - Gallery


Selected Art by 3D ATTACK

Image Name: Perpettum Mobile Artist Name: Axel Ritter Date Created: October 2006 County: Germany Software Used: CINEMA 4D XL 9.6

Best of CINEMA 4D - Gallery


Selected Art by 3D ATTACK

Image Name: Rocket Man Artist Name: John Shakespeare Country: Australia Software Used: CINEMA 4D 9.5, Photoshop Date Created: 10-25-06 Website: johnshakspeare.com.au

Best of CINEMA 4D - Gallery


Selected Art by 3D ATTACK

Image name: Little Mona Artist Name: Strippo Country: Germany Date Created: October 15 2006 Software Used: CINEMA 4D V9.1, Photoshop CS Website: www.strippo.de

Best of CINEMA 4D - Gallery


Selected Art by 3D ATTACK

Image name: Journey Begin v2 Artist Name: Nicolas Pillard Country: France Date Created: May 2006 Software Used: CINEMA 4D / Photoshop Website:www.aerografik.fr

The 3D ATTACK Team

Need to contact us? Got questions?

Thomas Pasieka, CEO 3dattack@3dattack.net Tavy Ann, VEO tavy@3dattack.net Chris Montesano, Site Admin/Developer chris@3dattack.net Lennart Oberscheidt , Site Admin /Writer lenno@3dattack.net Rui Batista, Moderator/Writer Rui_mac@ruimac.com Mark Gmehling, Moderator/Writer macling@braincorps.de Bram van Gerwen, Moderator/Writer killbots@mac.com Jamie Hamel Smith, Moderator/Writer Jamie@eyescreamanimation.com Mathias Bober, Moderator/Writer bobtronic@gmx.de Michael Mlynek, Moderator/Writer MichaelMlynek@gmx.de

3D Attack the CINEMA 4D Magazine and all material contained therein are copyright protected. You may not disassemble or distribute any part of this publication without prior written consent from 3D Attack directly. any attempts to do so will be prosecuted to the fullest extent of the law as it applies in Michigan, USA. This applies for both 3D Attack material as well as any named artists material contained in 3D Attack publications. Although we read through all the tutorials and proofread them for errors, we cannot guarantee that they are 100% error free and therefore cannot issue refunds based on those errors. Copyright by 3D ATTACK 2004-2006 3D ATTACK is a registered trademark

3D Attack 150 S. Saginaw St. Chesaning, Michigan - USA 48616

Website: http://www.3dattack.net Plugin Page: http://3dattack.net/shop/index.php?page=10

59

You might also like