3DAttack 2006-11

59

Transcript of 3DAttack 2006-11

Page 1: 3DAttack 2006-11
Page 2: 3DAttack 2006-11

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

Table of ContentsNovember 2006

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

Page 3: 3DAttack 2006-11

Hi Attackers,

I just wanted to remind you that we have some really fun challenges taking place on our discus-sion forum at www.3dattack.net. Bram van Ger-wen hosts some fantastic speed modeling chal-lenges. 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 tuto-rials 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 [email protected].

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 [email protected].

Thanks and KEEP ON ATTACKING!

The 3D Attack Team

GOODIES

All of your goodies for this and previousissues of 3D Attack - The CINEMA4D Magazine can be foundhere: www.3dattack.net/goodies/

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. [email protected]

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 At-tack line of plug-ins for CINEMA 4D, feel free to contact Thomas Pasieka at: [email protected]

Contact Information3D Attack158 S. Saginaw St.Chesaning, Michigan 48616 - USAE-mail: [email protected]

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 in-terested in writing tutorials and/or articles for 3D Attack, feel free to drop us an e-mail at 3dat-tack@ 3dattack.net net for more information.

DON’T BE A PIRATE! STEALING THIS MAGAZINE LEADS TO HIGHER PRICES OR IN THE WORST CASE TO DEATH OF THIS MAGAZINE! THIS MAGAZINE AND ALL IT’S CON-TENT IS COPYRIGHT PROTECTED. “3D ATTACK” IS A REGISTERED TRADEMARK.

Editor Notes!Please Read

3

Page 4: 3DAttack 2006-11
Page 5: 3DAttack 2006-11
Page 6: 3DAttack 2006-11

Tavy: Hi Dennis. First, it’s a real treat to inter-view you. I’ve 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; it’s a real treat for me too. Some Words about me:

I grew up near Frankfurt (Germany), later I fin-ished my study of digital media design at Mac-romedia Academy in Munich. Since then I’m work-ing 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 – “that’s it!” Huh, I still remember the “whole-night-long” ‘Marathon’ battles.

The first 3D software I worked with was Electri-cImage and Strata StudioPro on a 66MHz Mac followed by MAXON’s CINEMA 4D.

Tavy: What other software applications do you use to create your stunning images?

Dennis: The primary applications I use are CIN-EMA 4D, BodyPaint and Photoshop/AfterEffects

Tavy: CARS CARS CARS! So many aspiring 3D artists want to model cars, and you’re a master at

Interview with Dennis FrickBy Tavy Ann Pasieka

6

Page 7: 3DAttack 2006-11

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 creat-ing 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 seek-ing 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 fa-miliar with your car modeling, but you also hap-pen 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 inspira-tions. Sometimes a film, perhaps the news on TV…

All of life can be an inspiration to become crea-tive. 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, every-one 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 tal-ent. Would you mind telling us about your in-volvement with 3D Arena and the recent changes it has gone through?

Interview with Dennis FrickBy Tavy Ann Pasieka

7

Page 8: 3DAttack 2006-11

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 “3D-people”. 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 I’m working on some World War II models. For example a German “Torpedo-Boot” and a “Focke Wulf” Warbird. I’m not sure what’s 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 an-ticipation for your next great work! Do you have any thoughts or words of advice you would like to leave our readers with? I’ll give you the last word.

Interview with Dennis FrickBy Tavy Ann Pasieka

8

Page 9: 3DAttack 2006-11

9

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

Happy RenderingBest Regards

Dennis

Interview with Dennis FrickBy Tavy Ann Pasieka

Page 10: 3DAttack 2006-11

10

Interview with Dennis FrickBy Tavy Ann Pasieka

Page 11: 3DAttack 2006-11

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 you’re curious now to follow the texturing part.

Before I can begin texturing, I need to optimize the object manager’s content to simplify the entire bunch of objects I created while modeling the shoe. This enables me to save it in my object li-brary for merging to future scenes if needed. Then I’ll create some simple procedural shaders. After that I’ll 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 de-lete (Backspace or Del) the three origin stripe ob-jects.

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 an-other usage. Maybe for creating another style of shoe for future projects easily.

I drag the new stripe object in the symmetry ob-ject 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

name the added selection tag “stripes” in its at-tributes (Image 01).

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 them-delete 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 re-peating 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 connect-ing the shoetip/back object, the bootlace part ob-ject and the ankle part object into one. I name its selection tag “Leather”.

The last two parts that need to get their own se-lection 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 atten-tion 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 switch-ing to polymode- selecting all its polygons- set a

Sneaker Tutorial Part 2 By Mark Gmehling aka Macling

11

01

Page 12: 3DAttack 2006-11

selection named “tongue” to be able to assign certain materials to the selections. Now I’m 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 edit-able by selecting it in the object manager and us-ing the C-key.

The shoe is now a single object and I’m able to assign different shaders easily by using the selec-tion field in the materials attributes. Let’s move on to creating some simple shaders (Image 02).

In the material manager I double click or go to File- new material name it “BLUE”and 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 dis-able 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” mate-rial in the material manager to get a copy. Re-name it white, and only change the fresnel colors in its color tab to white and light grey. Take a look

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).

Because I have some golden stripes in mind I create a new material –name it “GOLD” and ad-just its attributes as seen in Image 04. After as-signing 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).

The third material is made for the shoe base ge-ometry. 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 de-tails. After assigning this material to the shoe, I restrict it to the shoes base by dragging the “base” selection tag into the “base” materials se-lection field.

Sneaker Tutorial Part 2 By Mark Gmehling aka Macling

12

02

03

04

Page 13: 3DAttack 2006-11

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

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 ma-terial 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 ad-just the shape as seen in (Image 6A)

To add my logo onto this, I create a new material- name it “label” and load a bitmap I painted in Pho-toshop 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 information’s 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

bump. Take a look to Image 07 for the shader de-tails.

Sneaker Tutorial Part 2 By Mark Gmehling aka Macling

13

05

06

6a

07

Page 14: 3DAttack 2006-11

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 assign-ing it. Furthermore, I disable tiling. I switch to tex-ture mode (the little checkerboard button on the left side) and use the move (E), scale (T) and ro-tate (R) tools to bring my projection plane into place (Image 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 compo-siting tags attributes I disable “seen by camera”.

Now I enable Global Illumination (or radiosity in older C4D ver-sions)- take a look to Image 09 for the details. Another important thing before rendering is disabling the auto light option in the render set-tings options.

The next material is a simple one for the background and plane (floor) objects. Only

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 you’ll realize an-other 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

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. I’m sure the community will be glad to help you. So

cya onboard and keep attacking.

Mark

Sneaker Tutorial Part 2 By Mark Gmehling aka Macling

14

08

09

Page 15: 3DAttack 2006-11

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 tuto-rial, you will find the robotic arm’s components modeled in the file provided; this will be your start-ing 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 com-plete 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 View-port 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 it’s 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 down-wards 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

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:

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 inter-face. We don’t 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

has been completed. (Often this frustrates people without them even knowing why their rig is ‘freak-ing 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 ArmBy Jamie Hamel - Smith

15

01

02

Page 16: 3DAttack 2006-11

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 Func-tion.

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 View-port 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 func-tion, but this time we will check the ‘Enable Rota-tion’ 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 Ob-ject] downwards a little: about 40 units (along the Z-Axis) so that it’s between the blue and pink ob-jects. (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. Let’s 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 re-lease the mouse button when the pointer icon changes to an arrow pointing downwards. Your hierarchy should now look like this: (Image 04)

Make a copy of the Chain End Object; copy it by Ctrl-dragging it to the top of the Object Manager’s 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 Vec-tor” 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

IK - XPresso Robotic ArmBy Jamie Hamel - Smith

16

03

04

Page 17: 3DAttack 2006-11

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)

I know you’re 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 ex-act 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 Vec-tor 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)

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 be-fore we finish stabilizing it.) On that note, now is a good time to save your work so that you can re-turn 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 mov-ing 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 don’t 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 ArmBy Jamie Hamel - Smith

17

05

06

Page 18: 3DAttack 2006-11

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 ‘Rotat-ing 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 don’t 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 Ob-ject 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 Rotat-ing Base. Create another Target Tag, but this time you will create it on the object called ‘Move-

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 an-other 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 la-beled ‘Goal’. Let’s start with the IK tag on ‘Tool Arm’. Select it and drag the object called ‘Tool

IK - XPresso Robotic ArmBy Jamie Hamel - Smith

18

07

08

Page 19: 3DAttack 2006-11

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)

The Pole Vector Goal will be setup a bit differ-ently. 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-to-side.

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

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 haven’t 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’ ob-ject.

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.]

IK - XPresso Robotic ArmBy Jamie Hamel - Smith

19

09

Page 20: 3DAttack 2006-11

We will control the rotation of the tool on 3 sepa-rate axes, just as it’s 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)

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 you’ve 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 Cin-

ema 4D know what we want these 3 sliders to control. This is where Xpresso comes into the picture. Gladly, we don’t even have to open the Xpresso Editor for this simple connection.

Right Click the first slider and choose [Anima-tion>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 rota-tion 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 relation-ship is stored. (Image 11)

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

IK - XPresso Robotic ArmBy Jamie Hamel - Smith

20

10

11

Page 21: 3DAttack 2006-11

21

Rotation (R. B) of the object named ‘Tool Head-ing.’ 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 don’t 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, com-ments and questions.

You can contact me on the 3D Attack Forum,My user name is: Jamie

IK - XPresso Robotic ArmBy Jamie Hamel - Smith

Page 22: 3DAttack 2006-11

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 "profes-sional" 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 modifica-tions.

Now let's have a look at what "ScoobyCamTools" looks like when you first open it. As you can see,

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, "Way-points".

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 creat-ing 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 ReviewBy Thomas Pasieka

22

Page 23: 3DAttack 2006-11

figure out how it works and makes for a nice ex-perience.

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 sec-onds of animation)

ScoobyCamTools - Plugin ReviewBy Thomas Pasieka

23

Page 24: 3DAttack 2006-11

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 docu-mentation. I hope you already have the documen-tation in a place where it is easily accessible be-cause, 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 describ-ing that particular item. On each page that de-scribes 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 ob-jects? 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 : BaseObjectThis means that the class named PointObject de-rives from the class BaseObject. If you click the BaseObject name (it’s in blue, so it is a link like on a regular Internet page) you are

directed to the page describing the BaseObject. In it you can see that its definition starts with some-thing 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 parent’s links all the way up until there are no parents left. This is an easy way for you to under-stand 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 inher-ent 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 classesInside 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.

ObjectsWith the functions and commands inside this topic you can manipulate the objects inside your docu-ment. You can get or set their position, scale or rotation, their name, their semaphore mode, etc. You can also access to some more specific char-acteristics 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

24

Page 25: 3DAttack 2006-11

TagsIn here reside the functions and commands that allow us to create new tags and read and write data into them.

AnimationLots of functions and commands dealing with the timeline. Unfortunately, it is still impossible to cre-ate new tracks or keys in C.O.F.F.E.E., but we can manipulate the ones already there.

MaterialsWant to create new materials or manipulate the ones that already exist? This is the place to find all you need to do it.

PluginsIf 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.

ShadersShaders 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.

GUIThis is where all the commands for creating dia-logs - the interface elements that appear in win-dows - are explained.

ResourcesThe 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 independ-ent 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 it’s easier. Also, translating the text to different languages is straightforward.

UtilitiesSundry commands and functions related to differ-ent subjects. They deal with bitmaps, movies, time, containers (more about containers in the

next lesson) selections of points and/or polygons, render parameters, etc.

FunctionsA 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 ob-ject just changed or was deleted), etc. It also contains functions that return useful infor-mation, 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 docu-ments, execution of external application, opening of external files, etc.

FilesIf 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.

MathThis 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, round-ing, generation of random numbers, conversions between degrees and radians, conversions be-tween color models, etc.

CastsWith these functions you can convert an integer number into a floating point number and vice versa. You can also change numbers into charac-ters, for example.

TypesLike I said in previous lessons, variables can be of many types. They can be floating point num-bers, 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.

MemoryComputers 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

25

Page 26: 3DAttack 2006-11

how. With the functions inside this session you can manipulate chunks of data, using a memory management metaphor.

StringA 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.

VectorJust 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 FunctionsHalf a dozen commands/functions that do miscel-laneous 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.

ClassLike I said before, objects are called, in program-ming terms, classes. So, objects and classes can be considered the same. Access to classes is dealt with these functions.

Program StructureHere 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.

DeclarationWhen you need to create new variables, con-stants, data structures or objects (known as classes as you know now), these are the com-mands to use.

Exception HandlingThe commands in this topic are mostly useful when debugging - debugging is the process of hunting down programming errors and fix them. It

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, every-thing 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 ex-ample, 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 lan-guage, 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 inter-actions you need to perform, the best choice is a for loop.

How does it work? Well, the for sentence (it’s not a command, nor a function... its simply a sen-tence) has the following syntax:

for(initialization; verification; update) code_to_ex-ecute;

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

26

Page 27: 3DAttack 2006-11

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:

0123456789

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. Fi-nally, the variable has to be updated somehow;

otherwise the verification of the end of the cycle will never become false. So, in this case, we in-crease the value inside the a variable by one (us-ing 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

27

Page 28: 3DAttack 2006-11

28

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 Com-mand+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 ar-bitrary 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:

Cup of COFFEE - Part 5 By Mark Gmehling aka Macling

Page 29: 3DAttack 2006-11

29

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 docu-ment. 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 af-ter 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 docu-ment 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 docu-ment (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.

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 con-tact me at [email protected] 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

Cup of COFFEE - Part 5 By Mark Gmehling aka Macling

Page 30: 3DAttack 2006-11

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 dis-cover new frontiers and see what the world out there has to offer.

SILO is not all that new on the market but pro-gressing fast and it's userbase is growing rapidly. Now what exactly is SILO you may ask? To ex-plain SILO with the developers own words:

"Silo is a next generation production quality 3D modeling program, employing advanced polygo-nal modeling tools and completely integrated subdivision surfaces. From other wordly character models to modernist building designs, Silo is be-ing used now in work in video games, architec-tural 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 ob-ject like a tin can for example. We will model the object completely with Silo and apply some tex-tures 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 li-cense of Silo then you can simply get an evalua-tion 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 re-strictions.

The second version the so called "Learning Edi-tion" 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" op-tions. 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

showing up. Change the "Width Sections - Height Sections and Depth Sections to 2" and click "cre-ate". 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.

First steps into SILO - A Basic Modeling TutorialBy Thomas Pasieka

30

01

Page 31: 3DAttack 2006-11

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.

You can adjust the height of the box/cube by se-lecting 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 satis-fied 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.

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).

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 de-pending 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 appear-ance. It now has round handles. Create the bevel by clicking in the middle of the gizmo. Hold down

First steps into SILO - A Basic Modeling TutorialBy Thomas Pasieka

31

02

03

04

Page 32: 3DAttack 2006-11

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)

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.

The image above (7) shows the "subdivided" ver-sion 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.

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).

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.

You should have something similar looking to Pic-ture (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.

First steps into SILO - A Basic Modeling TutorialBy Thomas Pasieka

32

06

07

08

09

Page 33: 3DAttack 2006-11

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

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.

First steps into SILO - A Basic Modeling TutorialBy Thomas Pasieka

33

10

11

12

13

14

Page 34: 3DAttack 2006-11

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 Nor-mal" in this case.

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).

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).

After you completed this task you should select the bottom faces of your lid and delete those as they are not necessary anymore.

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).

First steps into SILO - A Basic Modeling TutorialBy Thomas Pasieka

34

15

16

17

18

19

Page 35: 3DAttack 2006-11

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).

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

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).

If you have done everything like explained you should have something similar looking to the Im-ages 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!

First steps into SILO - A Basic Modeling TutorialBy Thomas Pasieka

20

35

21

22

23

24

Page 36: 3DAttack 2006-11

36

First steps into SILO - A Basic Modeling TutorialBy Thomas Pasieka

Final Model in SiloImported into CINEMA 4D

Final Rendering

Page 37: 3DAttack 2006-11

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 Pho-toshop, 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, sim-ple, 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 reflec-tion, specularity, and (depending on your graphics card) a new feature called "Phong" or "Rim Light-ing."

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 Micro-soft .NET Framework Version 1.1 is required to run vtfedit; http://microsoft.com/downloads/details.aspx?FamilyId=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,

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 the ValveTextureFiles w/VTFEdit v1.2.1

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).

Picture 01 is where we ended last month: a com-parison 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 ex-posed 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

37

01

Page 38: 3DAttack 2006-11

der in C4D of the textured model, color map & normal map. (See Image 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 set-tings and final "clean" texture base are shown in (Image 03).

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 Sys-tem" window on the left side to browse to your file.

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

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

38

02

03

04

05

Page 39: 3DAttack 2006-11

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

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 environ-ment map reflections and specularity... well, at least until you add an alpha channel.

With BodyPaint simply export your flattened tex-ture 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 us-ing, "VertexLitGeneric" and an open & close car-rot. 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

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"}

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"

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 tex-ture 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

39

06

07

Page 40: 3DAttack 2006-11

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 sim-ply 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 ma-terial. 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.

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 environ-ment 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

40

08

09

Page 41: 3DAttack 2006-11

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 re-fresh. (Image 13)

I really hope your moving the light around every-time we make a change, it makes all the differ-ence 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.

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 docu-mented or simply hard to understand. For exam-ple, I have not been able to isolate a clear exam-ple 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

41

10

11

12

13

Page 42: 3DAttack 2006-11

"$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).

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 nor-mal in relation to the position of the light illuminat-ing the model... just like the Fresnel Channel

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 ([email protected]) or private messaging me in 3D Attack :D

Keep on Attacking (and please DEFEND THE ENTRANCES!)

Darrin aka Nirrad

Material and Shaders (C4D Game Tutorial)By Darrin Frankovitz

42

14

15

16

Oildrums in game

Page 43: 3DAttack 2006-11

Name: Neil Vaughan

Age: 38

Occupation: Cur-rently applying for Graphic Design Work

Location: Birmingham, UK

Software: CINEMA 4D 9.6, Photoshop, After-Effects

Favorite resources on the web:

http://www.3dattack.nethttp://www.c4dcafe.comhttp://www.cgtalk.comhttp://www.mograph.nethttp://www.renderosity.com

Ever since I was a small child I've been fasci-nated 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 ex-tension to my graphic design skills - whether it was a simple extruded logo or piece of typog-raphy. 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 Ex-treme 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 com-fortable 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 compari-son to the other 3D apps I had so far struggled with. I became addicted to exploring new ways

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 walk-throughs.

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.

It’s 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 sur-vived without them.

Thanks for taking the time to find out a little more about me.

Neil Vaughan

Spotlight on Neil VaughanFeatured Artist of the month

43

Page 44: 3DAttack 2006-11

Spotlight on Neil VaughanFeatured Artist of the month

44

Page 45: 3DAttack 2006-11

Spotlight on Neil VaughanFeatured Artist of the month

45

Page 46: 3DAttack 2006-11

Compositing – What A Passion – LightWave 3D

LightWave3D has a good render engine, and of-ten users render the final image or animation di-rectly, but if you work a bit in compositing and post production it’s 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 Volumet-ric light.

Often people think compositing is a complex task where they must blend thousands of layers with thousands of different blending modes in a com-plex 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 ren-der time, quality and revision of a shot.

Let’s 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.

I’ve 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 some-thing, 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 let’s look at how we set up the scene and how to compose it in any post processing soft-ware. In this scene I add a spot out of a box to

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, we’ve spent too much time without practical work. Let’s now start with the real setup of a scene and see how much time we can save with post processing.

Compositing with LightWave 3DBy Carlo Macchiavello

46

01

02

Page 47: 3DAttack 2006-11

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 composit-ing.

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 render-ing.

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 ob-ject. 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 pres-ence 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, en-able Matte object property, and in the alpha chan-nel 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 im-ages that you can see below. Image 4 shows us the original background without volumetric effects.

Image 5 is volumetric only.

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 back-

Compositing with LightWave 3DBy Carlo Macchiavello

47

03

04

05

Page 48: 3DAttack 2006-11

ground and blur it with a Gaussian blur at 10 pixel and use brightness and contrast to change con-trast 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.

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 bright-ness and contrast filter, no more than 15% of con-trast.

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 bright-ness 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 im-age in less time.

Compositing with LightWave 3DBy Carlo Macchiavello

48

06

07

08

Page 49: 3DAttack 2006-11

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

Compositing with LightWave 3DBy Carlo Macchiavello

49

09

Page 50: 3DAttack 2006-11

Hello again attackers, schön Euch im zweiten Teil meines Turnschuh Tutorials zu begrüßen. Ich hoffe Ihr hattet keine Probleme den Modellierungs-Schritten des ersten Teils zu folgen und seid nun neugierig auf das Texturierungstuto-rial.

Bevor ich anfangen kann die Materialien zu er-stellen muss ich Ordnung in den Objektmanager bringen und die während des Modellierens erstell-ten Einzelteile in einem Objekt vereinen, um ein Objekt zu haben, das ich in meiner Objektbiblio-thek ablegen kann und bei Bedarf einfach in eine zukünftige Szene hinzuladen kann.

Dann werde ich einige einfache prozedurale Ma-terialien erzeugen und eine Umgebung und Be-leuchtung für das finale Produkt-Rendering her-stellen. (Image 01)

Wie Ihr in PIC_01 sehen könnt habe eine Menge Einzelobjekte im Objektmanager hinterlassen, die ich nun zu einem Objekt zusammenfassen muss. Also selektiere ich die drei stripe Objekte im Ob-

jektmanager und rechts-klicke im Objektmanager um sie zu „Verbinden“. Ein neues stripe objekt ist entstanden und ich kann die originalen drei Ob-jekte löschen (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 Einze-lobjekten für eventuelle spätere Nutzung zu erhal-ten- z.B. um einfach einen anderen Schuh für zukünftige Projekte zu erstellen.

Ich ziehe das neue Stripe Objekt in das bereits vorhandene Symetrie Objekt zu den anderen Ob-jekten und wechsle in den Polygon Modus- selek-tiere alle (Ctrl/Apple-A) Polygone und erzeugen einen Selektions Tag(Selektion- Selektion einfri-eren).

Den Selektion-Tag werde ich später nutzen um bestimmte Materialen bestimmten Polygonselec-tionen zuweisen zu können. Ich benenne den Se-lektions Tag „stripes“ in seinen Objekt Eigen-schaften. (Image 01)

Diese Prozedur werde ich nun bei den anderen Objekten wiederholen. Im Objekt-Modus selek-tiere ich die vier Schnürsenkel(bootlace) Objekte (mit Hochstelltaste)- verbinde sie- lösche die alten original Objekte und ziehe das neue Objekt ins Symetrie Objekt- wechsle in den Polygon Modus selektiere alle Polygone (Ctrl-A)- friere die Selek-tion ein (Selektion- Selektion einfrieren)- den neuen Selektions tag nenne ich ich seinen Attribu-ten „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, boot-lacepart, ankle part- auch hier bekommt das da-raus resultierende Teil einen Selektionstag, den ich „leather“ nenne.

Die letzten beiden Teile die einen Selektions Tag bekommen müssen sind die Schuh Sohle und(sole) die Grundgeometry (base). Da Grundg-eometrie und Sohle bereits ein und dieselbe Geometrie sind selektiere ich die betreffenden Polygone, die die Sohle definieren (Die Loop se-

Sneaker Tutorial Part 2 - GERMAN VERSIONBy Mark Gmehling aka Macling

50

01

Page 51: 3DAttack 2006-11

lektion (UL) ist hier ein praktischer Helfer, um die äußeren Polygone zu selektieren für 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- in-vertieren) und friere diese Selektion ein und nenne den Selektion Tag „base“. Aufpassen muss man, dass die vorher vergebene Selektion nicht selektiert ist. Wäre das der Fall würde sie über-schrieben- ist sie es nicht wird eine zweite hinzugefügt- so wie ich es jetzt beabsichtige.

Nun habe ich nur noch sechs Einzelobjekte. Nur noch der Zunge des Schuhs gebe ich einen Se-lektionstag „tongue“ wie oben beschrieben (Poly-gone selektieren- Selektion einfrieren)

Jetzt steht der Vereinigung der Einzelteile zu einem Schuhobjekt nichts mehr im Wege- alle Teile die später ihre eigenen Shadereigenschaf-ten haben sollen sind mit Selektionstags verse-hen.

In Objekt Modus selektiere ich alle Einzelteile und verbinde sie (rechte Maustaste- verbinden). Das neues Objekt, dass ich „Shoe“ nenne enthält alle vorher vergebene Selektions Tags.

Ich lösche (Backspace o. Del) jetzt die Einzelob-jekte, 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 später das Selektionstagfeld der verschieden Materialien nutze. Also werde ich jetzt die verschiedenen Ma-terialen definieren. (Image 02).

Ich doppelklicke im Material Manager, um ein neues Material zu erzeugen- nenne es “BLUE”- setze 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 Reliefka-nal aktiviere ich mit 15% und lade eine einfache

Noise in den Texturbereich. Die Noise Details kann man Image 03 entnehmen. Danach ziehe ich da Material entweder auf die „Shoe“ Ob-jektgeometrie im Editorfenster oder auf das Schuhobjekt im Objekt Manager.

Ich klicke auf den hinzugefügten Textur Tag und ziehe den „Leather“ Selektionstag ins Selektions-feld des Texturtags, somit ist der Shader auf die Polygone begrenzt, die ich im „Leather“ Selek-tionstag eingefroren habe.

Um ein dem „Blue“ Material sehr ähnliche Mate-rial zu erzeugen ziehe ich das „Blue“ Material mit gedrückter 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 „Boot-laces“ Selektionstag (Image 03)

Weil ich dem Schuh goldene Streife hinzufügen möchte erstelle ich ein weiteres Material, dass ich

Sneaker Tutorial Part 2 - GERMAN VERSIONBy Mark Gmehling aka Macling

51

02

03

Page 52: 3DAttack 2006-11

„GOLD“ nenne. Die Einstellungen des Materials könnt 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 einfärben möchte weise ich das Material ein zweites Mal zu und ziehe den „SOLE“ Selektionstag ins Selektions-feld des zweiten „GOLD“ Materials (Image 04).

Das dritte Material dass ich erstelle ist für das Grundmaterial des Schuhs. Ich nenne das neue Material „BASE“ und wähle im Farbkanal einen Blauton mit 100% Helligkeit.

Ich aktiviere den Reflektionskanal und wähle 15% Helligkeit. Die weiteren Eigenschaften des Shad-ers könnt 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 zie-hen) (Image 05)

Das nächste Material benutze ich für die Metall-ringe die die Schnürbänder halten. Ich füge ein neues Material hinzu nenne es „METAL“ und passe die Einstellungen an meine Bedürfnisse an.

In Image 06 könnt 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

lade, welches für schöne Reflektionen im Metall sorgt. Nachdem dieses Material dem Schuh zugeordnet ist ziehe ich die „TORUS“ Selektion ins Selektionfeld des „METAL“ Materials. (Image 06).

Um meinen Schuh noch etwas “aufzumöbeln” entschließe ich mich noch ein kleines Detail dazu zu modellieren. Ich starte mit einer 4x3 segmen-tierten 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 Fläche um daraus ein glaubwürdiges Label zu modellieren, wie Ihr es in PIC_06A sehen könnt.

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 Ma-terials- 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 VERSIONBy Mark Gmehling aka Macling

52

05

0604

Page 53: 3DAttack 2006-11

nal wird die Farbversion meines gemalten Logos abgelegt. Außerdem aktiviere ich den Reliefkanal- alle Details sind in Image 07 zu sehen.Dieses Label Material ist das einzige bei dem ich die Projektion nach Zuweisung zum eben dazu-modellierten LABEL noch anpassen muss. Ich ändere den Projektions Modus auf Fläche Map-ping und deaktiviere die Kachelungs Option.

Im Texturmodus (schachbrettknopf auf der linken Seite) passe ich die Projektionsgröße mit den Bewegen (E), Skalieren (T) und Rotieren (R) Werkzeugen an mein Label an. (Image 08)

Jetzt ist mein Schuh bereit gerendert zu werden, allerdings fehlt noch ein Umgebungs Setup. Dazu füge ich meiner Szene ein Hintergrund Objekt, ein Himmel Objekt, ein Licht und eine Fläche, die als Boden genutzt wird hinzu. Außerdem 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 außer dem Leuchten Kanal- hier lade ich ein jpg.- man kann auch eine helle Farbe nutzen- die Details sind Image 09 zu entnehmen.

Ich weise das Material dem Himmel Objekt zu. Damit das Bild nicht in der Szene zu sehen ist füge ich dem Himmel Objekt eine Render Tag hinzu(rechte Maustaste- C4D Tags- Render Tag) in dem ich Sichtbar für Kamera deaktiviere.

In den Rendereigenschaften aktiviere ich jetzt Global Illumination (in früheren C4D Versionen Radiosity genannt). Außerdem deaktiviere ich Auto Lighting in den Optionen der Rendereigen-schaften. Das nächste Material ist ein sehr ein-

Sneaker Tutorial Part 2 - GERMAN VERSIONBy Mark Gmehling aka Macling

53

6a

09

07

08

Page 54: 3DAttack 2006-11

faches, dass ich für Boden und Hintergrund nutze: Nur der Farbkanal mit 100% weiss ist hier aktiv. Ich weise es dem Hintergrundobjekt und der Fläche zu.

In Bild 9 kann man sehen, dass ich dem Fläche Objekt auch einen RenderTag zugewiesen habe, in dem ich Hintergrund Compositing aktiviert habe, was dafür sorgt das Boden und Hintergrund ineinanderübergehen ohne dass ein störender 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. Außerdem passe ich die Deckkraft des Schattens auf 30% an.

Ich hoffe Ihr hattet Spass bei meinem SNEAKER Tutorial- Wenn ihr irgendwo Probleme oder Fragen habt posted Eure Fragen einfach in der WIP Sektion auf dem 3dattack fo-rum.

Ich bin sicher das Eure Fra-gen schnell beantwortet werden. Wir sehen uns an Bord! Keep attacking!

Sneaker Tutorial Part 2 - GERMAN VERSIONBy Mark Gmehling aka Macling

54

09

Page 55: 3DAttack 2006-11

Best of CINEMA 4D - GallerySelected Art by 3D ATTACK

Image Name: Perpettum MobileArtist Name: Axel Ritter

Date Created: October 2006County: Germany

Software Used: CINEMA 4D XL 9.6

Page 56: 3DAttack 2006-11

Best of CINEMA 4D - GallerySelected Art by 3D ATTACK

Image Name: Rocket ManArtist Name: John Shakespeare

Country: AustraliaSoftware Used: CINEMA 4D 9.5, Photoshop

Date Created: 10-25-06Website: johnshakspeare.com.au

Page 57: 3DAttack 2006-11

Best of CINEMA 4D - GallerySelected Art by 3D ATTACK

Image name: Little MonaArtist Name: StrippoCountry: Germany

Date Created: October 15 2006Software Used: CINEMA 4D V9.1, Photoshop CS

Website: www.strippo.de

Page 58: 3DAttack 2006-11

Best of CINEMA 4D - GallerySelected Art by 3D ATTACK

Image name: Journey Begin v2Artist Name: Nicolas Pillard

Country: FranceDate Created: May 2006

Software Used: CINEMA 4D / PhotoshopWebsite:www.aerografik.fr

Page 59: 3DAttack 2006-11

Thomas Pasieka, [email protected]

Tavy Ann, [email protected]

Chris Montesano, Site Admin/[email protected]

Lennart Oberscheidt , Site Admin /[email protected]

Rui Batista, Moderator/[email protected]

Mark Gmehling, Moderator/[email protected]

Bram van Gerwen, Moderator/[email protected]

Jamie Hamel – Smith, Moderator/[email protected]

Mathias Bober, Moderator/[email protected]

Michael Mlynek, Moderator/[email protected]

Website:

http://www.3dattack.net

Plugin Page:

http://3dattack.net/shop/index.php?page=10

3D Attack the CINEMA 4D Magazine and all ma-terial 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. Al-though we read through all the tutorials and proof-read 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 Attack150 S. Saginaw St.Chesaning, Michigan - USA48616

The 3D ATTACK TeamNeed to contact us? Got questions?

59