How to make Clutter / Static objects for Oblivion with Blender

  • Content



1. Introduction


This Tutorial describes how to make Clutter and Static objects for Oblivion. The main difference between these two is that clutter can be dragged and picked up in gameplay while Static objects stay where they have been placed in the ConstructionSet. Regarding the object itself - either you create a new mesh from scratch or you download a ready-made mesh from the internet. Since there exist other 3D-programs you will find resources in various formats (.obj, .3ds, etc.). Blender doesn't support all file-formats for import, for instance the .max file-format that belongs to the proprietary software 3DMax-Studio. If you want to know which file-formats Blender supports take a look into the programm and choose "Import". For some additional formats (eg: .pz2) you will have to get an appropriate Blender-Import-Script from the Internet.

Here are some links where you can get ready-made meshes:


Making Clutter and Static objects involve generally these steps:


You can download this tutorial which includes ..



2. Requirements






3. Creating the Meshwork


3.a) .. a new mesh from scratch:

Open Blender. The is a pink (selected) cube from start in the 3D-View. Hit Del to delete it. In the 3D-view hit Space + AddMesh - Cube (or any geometry that suits you best).

Grafik

For a better working hit Shift + Space with the mouse-cursor in the 3D-view.
Tip: You can toggle any window with the shortcut Shift + Space to fullscreen and the same back.

Now go to EditMode via Key TAB (and the same to go to ObjectMode back again). In this mode you can edit the objects single vertices. If you have chosen a certain object (a cube in this example) and you need more vertices you can select the specific vertices in which you want more of them

  • either via Rightclicking them while holding key Shift
  • or via hitting key B twice and Leftclicking with the circle, or clicking the mousewheel to deselect them
and hit key W and choose Subdivide. In this example I have selected all verticese with key A (notice that the color gets pink). You can subdivide what you want and as often as you like.

For deforming the mesh I suggest hitting keys Strg + Space - choose Combo; now you can Drag, Scale and Rotate the vertices you have selected.
Tip: It's sometimes necessary to swap the view to exact back-view, exact side-view or top-view. To do so use the numbers 1, 3 and 7 on the numpad (the number-block at the right side on your keyboard ;-).

When your mesh is ready you have to transform the faces (quads) to triangles. You could do this also before adapting. In EditMode select all (key A) and click "Mesh" in the menubar below. Choose: Faces - Convert Quads to Triangles.

Grafik

3.b) .. importing a ready-made mesh:

After downloading a mesh import it in Blender. Hit Files - Import ("the necessary format") and leave the default settings. Now delete the default start-cube in the 3D-View by Rightclicking it (must turn pink) and hitting the Delet-key. Now we got the imported object with or without a texture. (Don't worry if your mesh doesn't look like colored as mine in this example!) If we have a texture we have to make it nif-compatible.

To keep it simple in this tutorial we merge all objects, if the imported consists of more than one. Hit key A as often as you see the whole object with a pink border - now all is selected in ObjectMode.
(You can toggle between Object- and EditMode by hitting key TAB. In EditMode you see the single vertices in ObjectMode not!)
Then hit Strg + J and choose "Join selected Meshes". Finally let's set the object to smooth.

Leaving the object selected in the 3D-View go to the Buttons-Window into the Editing-Panel (F9) and further to the subpanel Links and Materials and click to "Set smooth".
Tip: You can change the Button-Window's size. By Rightclicking into the window and choosing "Horizontal" the content will align to the window size.

Grafik



4. Texturing


A new Material:

After arranging the mesh we have to delete an existing Material(s). In the Buttons-Window in the Editing-Panel (F9) under Links And Materials click Delete as often as there does not "0 Mat 0" appear. Afterwards click "New".

Grafik

A new Texture (1/2):

Let's change to the panel "Shading (F5)" and "Material Buttons" and the subpanel Texture. There say "Add new"

Grafik

A new Texture (2/2):

In the next appearing subpanel "Map Input" click "UV" and write the exact phrase "UVTex" (pay attention to the case-sensitivity!).

Grafik

The Texture-file:

If we don't have a texture-file (a .dds file) yet we must create one. How to do take a look into the tutorial "Working with Textures". But in the most simple case you open any image (.jpg or another format) with Gimp and save it as .dds file. Eventually you should resize it before to standard dimensions like 512 x 512 pixel or 1024 x 1024 pixel.

Now switch to panel Shading (F5) and to the subpanel Texture Buttons (F6). Under Texture click "Add new". Set the "Texture type" to Image. Click Load in the "Image panel. Then browse to your .dds texture-file and say "Select Image".

Grafik


UV-Mapping (1/6)
- how the texture lies onto the object:

.. is not necessary if either the Mesh is already UV-mapped (in case you have imported a ready-made mesh that has been already UV-mapped with an included texture file) or you use a simple flat texture (eg: all black). After exporting the mesh you will know if you have to do an UV-Mapping or not. So maybe you will come back to this point later.

If the Texture is not placed onto the mesh in the right way we have to make an UV-Mapping. Select the base mesh in ObjectMode. Change the Buttons-Window to UV/Image-Editor.

Grafik

UV-Mapping (2/6) - Loading a .dds Image:

From the menubar in the UV/Image-Editor choose: Image - Open - and browse to your .dds file and say "Open image". Now you should see the image. Now you should see the your .dds image. To avoid that the image disapears when we change to EditMode we have to click the button that looks like a pin and that says "Keeps this view .. ".

Grafik

UV-Mapping (3/6) - Current Mapping? :

Change to EditMode in the 3D-View. When selecting all vertices you see how the texture is mapped to the mesh at the moment.

Grafik

UV-Mapping (4/6) - Simple Projection and Positioning:

The most simple way to do an UV-Mapping is by looking at the object frontally in 3D-View having selected all visible vertices (deselecting all vertices on the objects backside) and hitting key U and saying "Project from View". After positioning the vertices in the UV/Image Editor go back into 3D-View and cklick in the menubar at the bottom "Select" - "Inverse" plus in the 3D-View hit "Strg + ( + on the mumpad)" to extend the selection once. Now we have exact the remaining vertices selected. Look at the object from behind and again hit U and "Project from View".

Positioning vertices in the UV/Image Editor is similar to the 3D-View. Select all or certain vertices and:

  • .. grab them with key G
  • .. scale them with key S
    (and key X or Y for horizontal or vertical scaling)
  • .. rotate them with key R
  • .. notice that the Proportional Edit Falloff from the 3D-View also here takes effect!

Grafik

UV-Mapping (5/6) - Advanced Projection:

You can project the mesh also from the side view. Or you make separate mappings for certain bodyparts. I recommend to get familiar with working with seams. In 3D-View you can select path of vertices (or edges) which you can Mark as seam in the menubar under Mesh - Edges. Having that done correctly the unwrapping (key U - Unwrap) will provide that no face gets a stretched textured look.

Grafik

After the UV-Mapping there is nothing special to do except saving the whole work. In the image next to you can see in how many parts (with Mark Seam) I have divided the surface of the teddy to UV-Map.
You find this Blender working-file as an example in this tutorial as download included.

Grafik

UV-Mapping (6/6) - 2D Work:

Meanwhile, as you can see in the image, I have changed the texture as the texture from before didn't meet my expectations.

Very helpfull for the 2D work (in eg. Gimp) is the otpion in the UV/Image Editor's menubar: UVs - Scripts - Save UV Face Layout (as .tga). This will capture you an image of the UV-Map and how the vertices lie on the mesh. You can copy this into Gimp with the .dds texture file in separate layers. When changing the texture you know due to the UV-image dump where you have to make the changes.
You find my Gimp working-file as an example in this tutorial as download included.

In the image next to you can see in how many parts (with Mark Seam) I have divided the surface of the teddy for mapping. After the UV-Mapping there is nothing special to do except saving the whole work.

Grafik



5. Collision object


The first steps are the same for Clutter and for Static objects.

Now we need another mesh that wraps the basic mesh. Theoretically we could duplicate the basic mesh (via the shortcut Shift + D ) but in case the mesh has many vertices such a complex collision object would slow down the game. Since the collision object doesn't have to be very exact we add a simple object like a cube, cylinder, ball or etc. and adjust it. Hit key Space and choose: Add - Mesh - Cube (in this example).

Rename this new object in the Buttons-Window under Object (F7) in the Object and Links panel in OB: to "poly0".

Change into EditMode (with key TAB) and subdivide via key W and click "Subdivide Multi" with a value of x (in this example 5) "Number of Cuts". Now we should have a cube in EditMode as the picture shows.

Next we have to adapt the cubes form. This procedure is quite like creating a new mesh from scratch.

Grafik

You should merge as much vertices as possible to achieve a leight collision box. To merge vertices select them an hit Alt + M and declare the position where to merge.

When you have changed the new meshes form it should look like the picture next to.

Finally you must convert all quads to triangles via selecting all and clicking to "Mesh" in the menubar below. Choose Faces - Convert Quads to Triangles.

Grafik

Positioning both objects:

Finally it's advicable to position the base mesh and the collision mesh onto the survace (the grid). Go to ObjectMode (key TAB) and hit key A so that both objects are selected. Then lift them up onto the surface.

As we now edited the meshes in ObjectMode we have to go into the CameraView (hit 0 at the numpad - the number-block at the right side of your keyboard ;-) and hit Strg + A and say "Scale and Rotation to ObjData".

Grafik

Defining the object to a collision object:

Select the object in ObjectMode (you should see it's name in the lowerleft corner of the 3D-View - "poly0"). Go into the Buttons-Window under Object (F7) and Object buttons into the Draw panel. Click Bounds choose Polyheder and Wire.

The next step is different between Clutter and Static objects.

Grafik

5.a) .. the Logic-Panel for static objects:

We have selected the collision object named "poly0" or "poly1" in this example in the 3 D-View in ObjectMode and we change to the Buttons-Window to the panel Logic (F4). There you should make the entries shown in the image next to.

Having done this all we can finally export the work.

If you need more than one collision box for your object you can proceed as here described, but for every single collision object. You will have to do some workarounds before exporting. You find the explanation under Additional Tips.

Grafik

5.b) .. the Logic-Panel for clutter:

Selected the collision object in the 3D-View in ObjectMode we change to the Buttons-Window to the panel Logic (F4). There you should make the entries shown in the image next to.

Regarding the "HavokMaterial" you can take a look into the nif.xml file in the directory "Programme/Blender Foundation/Blender/.blender/scripts/bpymodules/pyffi/formats/nif/nifxml/nif.xml" which materials exist and which one suits you best.

Grafik

Then change from No collision to Dynamic. There enable Bounds and choose Convex Hull from the dropdown menu. Afterwards change Dynamic back to No collision.

If you go to the panel Object (F7) - Object buttons the entry Polyheder should have disappeared - what means that nothing should show up in the input field under Draw extra saying "Selects the boundary display type"!

Tip: If you only need a cube as collision object, you can also choose Box instead of Polyheder (F7). Then there is no need to make the settings to Convex Hull (F4). Consequently you don't have to make such a complex collision object as in this example - a cube surrounding the teddy (3D-View) would do. But eg. you want to create a ball or an egg then the above procedure is required.

Having done this all we can finally export the work.

Grafik



6. Blender-Export


6.a) Exporting Static objects:

Go into the 3D-View and hit key A twice to select all. After saving the work choose in the above menusbar: File - Export - NetImmerse/Gamebryo (.nif, .kf & .egm). Browse to a destination folder and name the exporting output-file and say Export NIF/KF.

Choose the entries due to the image next to. It is very important to click the button "Static"!

Grafik

6.b) Exporting Clutter:

Go into the 3D-View and hit key A twice to select all. After saving the work choose in the above menusbar: File - Export - NetImmerse/Gamebryo (.nif, .kf & .egm). Browse to a destination folder and name the exporting output-file and say Export NIF/KF.

Choose the entries due to the image next to. It is very important to click the button "Clutter"!

Grafik



7. Additional Tips


Workarounds for more than one collision object regarding Static objects:

Working with nifs I have already noticed that there are often more ways to achieve a certain goal. Hence the following procedure is "a" way to handle multiple collision objects.

Join all meshes (assuming that there are more than one - not the collision objects!) :
Select the objects (by rightclicking and holding key Shift) and hit Strg + J and say "Join Objects".

Then do the following for every collision object:

  • Parent a collision object to the (joined) base object :
    Select a collision object in the 3D-View and by holding Shift select the (joined) base object
    Hit Strg + P and choose "Make parent" - "Name Groups".
  • Then go in the Buttons-Window to Object (F7) - Object Buttons. There uncheck "Wire".

That's it.

By downloading this tutorial you find included:
  • This tutorial as html file with images
  • The Blender working-file from this teddy-example
  • The UV-Image dump from Blender as .tga file (image from the UV-Mapping)
  • The Gimp working-file from this teddy-example
  • The ready-made teddy.nif with according .dds texture files
  • Two basic Blender working-files for Static objects and Clutter



8. Credits and Legals


Credits:

  • Bethesda for a very modular and moddable game including the TESConstructionSet
  • Developer(s) of Nifscripts - for Blender imports/exports
  • Developer(s) of Nifskope - a powerful Nif-Editor
  • Blender
  • Gimp
  • .. and of course all the kind people that share their knowledge!

Legals: