The enclosed .ase; .dds and .bmp files in the .zip file are static meshes made for use in UT2004
--------------
Hi, hope you have fun with my static meshes and they work for your map or wherever you use them. This file eventually explains how to import .ase mesh files and their textures.

IMPORTANT: The meshes and textures enclosed are "AS IS"  They are YOUR responsibility if you choose to use them and things CAN go wrong. Before you begin importing anything BACK UP your work because a rogue static mesh can ruin your entire map level.  All the enclosed meshes have been tested in my levels with no problems but hey, you never know, better to be safe -- back up, back up!

----------------
----------------
The meshes are provided Free for distribution but if you want to charge for them or whatever, let me know and we'll talk.  My email address is at the end of this text file.

Otherwise all, if you use my meshes I expect to be mentioned in your readme file.  Modify the textures / meshes -- build on them, do what you want, but again I expect a mention in your readme.
----------------
----------------
The meshes were made for the Unreal Mod, "Killing Floor" and I used most of them in my map "Happy Hour" ; a zombie infested English pub, hence kegs, keg gauges, pump handles and other stuff you may find in a pub inn and surrounds.
----------
If you want the meshes for a Doom map I hope they will be ok. http://www.doom3world.org/ and they should help you out with importing. Also try http://www.katsbits.com/ he had some great tutorials last time I looked. I tried to use some of his .ase meshes in Unreal2004 Killing Floor but I couldn't get them to work, so maybe these won't work for Doom.  I'm not sure, I was a novice at the time I tried Kat's .ase meshes.  Kat did say meshes can be unpredictable. We can only try.

I made the meshes in Blender http://www.blender.org/  My main source of textures was http://www.cgtextures.com/ and as this is non-commercial aimed at supporting map makers in the free Unreal mod "Killing Floor" CG are happy.  If that changes, I'll let them know, ok??
----------------
-------------
IMPORTANT NOTE: KF meshes have a door3 and so do mine, so watch for conflicts.  If necessary, rename imports -- both textures and meshes.

I've cut off pieces of the hidden parts of the meshes, sorry if this is a pain for you, but in my maps I try hard to max the Frame Rate.  Sky_b.ase doesn't have a texture with it.  The reason is I used the stock kf londonskyFB texture.  The kf mesh for the sky was 600 triangles and my sky mesh is 99 triangles and gives the same look so I opted for my mesh.  "Tankard.ase" doesn't have a texture and I can't give you one for it because it's an internal shader and the base texture is total rubbish, you'd hate it, (truly, it is crap), so if you want the tankard you'll have to make a texture or hunt the Unreal texture files for one -- 2k4trophyTex.utx has a shiny gold texture ^^ but there must be silver around somewhere.  Wire_n_plug and wire_n_clips both use the same texture.  Applying 1 texture to several meshes isn't a problem.

-------------
Most of the mesh textures are compressed .dds and they're simple enough to import into Unrealed or even Doom too, I hope. The compression for the .dds textures is already done (dxt1 and dxt5) and they have mips as well, so DON'T check mips when you import the .dds textures.  No tick in the mips box!  I'll remind you again later.

The .bmp textures are slightly different.  The .bmp s are for the masked meshes, eg, lampshade_striped: which is both "masked" and "double sided."  Not all the masked textures are doublesided -- the fan for the aircon unit is just "masked."  In Unrealed you can compress (right click on .bmp textures and choose dxt3 or dxt5 -- NOT dxt1, or they won't mask.)  Add mips to .bmps too if you want. If you make a mistake just reimport.
-------------
In Unrealed Right click on a texture in the texture browser and goto surface > masked > True or double sided > true as required (that won't work with the .dds textures).
-----------------
If you want rid of a mesh and / or texture, then don't use the texture / mesh in the map, save the map as usual; exit Unrealed completely then reload it and the texture / mesh will be gone.   Don't go saving packages, which unrealed will ask when you quit to desktop.
---------------------

COMPLICATED INSTRUCTIONS FOR TEXTURE MESH IMPORTING INTO Unrealed:

You need to let Unrealed know which texture goes with what mesh.  Use the same names for mesh and texture.

(First, before importing a mesh, import the texture for the mesh.  So, import the textures of the meshes first before importing the mesh.)

(still complex import texture instructions)
In Unrealed open the texture browser.  In textures click file > import. Choose the texture you want and next "import texture" box will pop up.  (Package is VERY important; group and name are slightly important.) For Package, type in: mylevel (mylevel means your texture will be imported and and saved into your map -- it doesn't matter what your map's named.  Mylevel is a generic name for your level recognized by Unreal. Entering a name other than mylevel may mean you save the import to an external package name -- just means you'll need to upload that package with your map and explain to the player where to put the package.

Nearly fatal when importing is saving over an Unreal or KF texture or mesh package.  If you do you'll probably need to reinstall if you want to play online).  So use mylevel as a Package.

The Group name is also slightly important when importing static meshes, because the Group name tells Unrealed where to find the mesh texture, as I've said, and that's slighly important if you have a few textures for one mesh, eg, aircon has the fan and aircon_metal textures.  So texture Group: should be the same as the texture name. (Slightly important because if a mesh turns up with the standard Unrealed bubble texture it can always be rectified in Unrealed -- I'll explain later how that's done).  So static mesh name and main texture name should be the same. If Unrealed doesn't find the mesh texture and you've screwed up the names, like I said, I'll explain soon how to rectify that).

If you forget to tick Mask for a .bmp during import it can be Masked later in Unrealed.  (Again, in the texture browser choose texture, right click and bring up properties, click on Surface > bmasked > True)

For .dds texture imports use no Mips: that is: UNCHECK mips (especially for .dds spec (specular) imports because checking mips seems to screw up the alpha channel -- alpha is explained later.)  For the .bmp s, mips or no mips whatever you want.  I usually uncheck mips for .bmp s and it seems to make no difference visually, but it probably does...  Killing Floor is often so dark and gloomy you can't see a lot of mips anyway.  

-----------------

Unrealed (mylevel static meshes and mylevel textures = 2 very separate areas within your map.)

----------------

TEXTURES simple import instructions:

In texture browers, click: File > Import, choose Package: mylevel; Group: texture name.  Name: texture name.

Where it's a mesh with multiple textures eg with aircon, then aircon is the Group name I chose.  Fan went in the aircon group along with the shader (aircon_metal) and the aircon_spec; aircon_fan and the RexRotator: aircon_fan_move.  When I imported the aircon static mesh, the aircon textures were all placed nearly correctly on the mesh. (I had to manually connect the aircon shader -- explained below)

------------------------

STATIC MESHES, simple import instructions:

Open static mesh browser (similar import procedure to textures) IE: File > import (choose the .ase file) Enter Package: mylevel  Group: (you can choose a group name and keep all your imported meshes in the same group if you want or have different groups -- doesn't seem to matter which with meshes)  Mesh Name: (name of .ase mesh)

-------------

As above, again, right clicking on a texture will bring up properties.  In Surface for the .bmp lampshade mesh eg, you will need to change it to bTwoSided: True.  To have bTwoSided true, you also need to have bMasked True as well.  I haven't found a way of making the .dds to mask or twoside that's why I use the .bmps for mask and twoside. 

Hope I haven't missed anything and you aren't cursing me Xd, but I'll go over things that can go wrong on import.  Texture Shaders and Texrotators for the meshes will be explained later. Anyway, import texture first before the mesh, ok?  Click on texture and then goto mesh browser and import the mesh... ok?

Your mesh has default bubble green texture?  Usually that's no problem.  To give the mesh a texture, open texture browser and click on required mesh texture.  Next goto your mesh browser, goto your mylevel and click on the mesh that has default bubble. In the chosen static mesh box, bottom of, you'll see materials +enable collision=true etc and material=none. Open that up and where it says CLEAR, USE, click USE.  The selected material / texture should appear on the mesh replacing NONE, (after you've moved the mesh around in the mesh browser so it changes to textured that is.)
  If you haven't followed the texture import instructions and it's a mesh that has 2 materials, even 3 materials, you will eventually apply the correct textures to the right part of the mesh by trial and error. :)

Hope that went well for you.

----------

Shaders.  You them yourself in Unrealed, but you don't need to use a shader if you don't want the hassle / cpu strain ingame.  The standard texture / material for the mesh will work ok without a shader.  In which case ignore most of the bumph below.

If you do want a shader, I'll explain how below.  Meanwhile you may have noticed some of the .dds imports come up as DXT5, this usually means they have an alpha channel. IE: over and above the standard Red Green Blue primary colour channels, the DXT5 .dds have an extra called the alpha channel.  Alphas are just black, white, greys.  The white alpha tells the Unrealed shader to make it shiny -- the black part of the alpha no shine. Greys are middle of the road.  Greys are complex variables, meaning you can have a dark broody shine or a light shine, according to the alpha's shades of grey, and that's the basis.  Sadly you may not be able to edit my .dds files because they are compressed.  You can edit the .bmps.  If you edit the .bmp s (in an external texture editor of course), save them as 256 colour and they will import into unrealed as rgb. Then compress them to dxt5, even 3, NOT dxt1 or you'll lose the mask.

How to make an Unreal shader:  In the texture browser click File > New and you'll get the New box popup.  Unique shader name IS important. Next ignore "class: new material:" all we want here is properties; --materialclass | class'engine.shader' and that's the default of New shader.  Click New in the box popup and a blank shader should appear. (Very Important: Make sure that the shader is not selected for use in your shader as a texture or Unrealed will crash immediately.)

Shader Properties: Diffuse must have an entry.  You can use the .dds _spec material. (goto required mesh texture, click on it and then in the shader diffuse click Use). In Specularity Mask you can use the same texture .dds _spec as diffuse.  (The specularity mask _spec file has the alpha channel).  The Specular entry gives the shine, and in aircon in my KF map "Happy Hour" I used: texEnvMap'X_cp_Evil3.Shaders.TexEnvMap19'  (You can copy and paste that entry into the Specular of your Unrealed shader, if you wish, or choose another 'shiner.' In x_cp_evil3.shaders in the Unrealed texture files there are several different types of 'shiners.'  KF shaders usually use texenvmap10, that's their choice, I chose 19).

--------

TexRotator.

For a rotating fan you'll need to make a TexRotator in Unrealed, but as with the shader, you don't need a TexRotator on your mesh if you don't want it.

In textures you can check if the fan import is bMasked: right click on the fan texture > properties > surface > bmasked > TRUE.  Making a TexRotator is similar to making a Shader.  (Again, make sure you don't have the texrotator selected for Use texture in the TexRotator or you'll get an instant Unrealed crash.

For a TexRotator, in the texture browser click New.  Choose a unique name for your fan TexRotator.  Next properties of New; (choose): --materialclass: (scroll down the list of options to TexRotator) then click New.  A blank TexRotator should appear.  Next goto the texture of the masked fan and click on it, so it's selected.  Next in the properties of the TexRotator goto materials and click Use.  The fan should appear as the TexRotator box picture.

To make the fan in the TexRotator spin as it should, in the properties of the TexRotator > TexRotationType > (choose): TR_ConstantlyRotating.  Next, Rotation > Yaw=65000 (you can choose slower or faster than 65000) Next Uoffset: 64.00000 and VOffset: 64.00000.  (U and V centre the fan -- well roughly because yes, my fan wobbles, which is in keeping with KF's dirty, wobbly, used style.  Notice that the U V 64.0000 are half the size of the fan texture which is 128x128.  So if the fan texture was 256x256 I would use U Voffset 128.000000 to centre the fan).

Hope the meshes and tutorial are useful to you.  There are other other tutorials on the net giving details on making shaders and texrotators.

I look forward to playing your map!

ASnipe : thesnipe34 at gmail placedothere com