Hi, ah new file for you it’s got considerable amount of tools form weapon skins to weapon models them self and character models multi-player game objects, Vehicle skins and meshes. To edit the game meshes you must use 3d max modelling program Also for editing the textures you require a .DSS editor program, the files-network site EFFiles has a pretty dam good .dss editors I personally am fond of version 1.2 of the editor here’s the link: Dss Editor But if you would like the more up to date version of the DSS converter here’s the link: Dss Editor Up to date
Guide to Creating Art for Tribes Vengeance GUIDE TO CREATING ART FOR TRIBES VENGEANCE 1 CREATING STATIC MESH 2 EXPORTING STATIC MESHES FROM 3DSMAX 2 IMPORTING STATIC MESHES INTO TVED 3 STATIC MESHES COLLISION SETTINGS 3 ASSIGNING TEXTURES TO A STATIC MESH 4 CREATING TEXTURES 6 EXPORTING TEXTURES FROM PHOTOSHOP 6 IMPORTING TEXTURES INTO TVED 7 TEXTURE LODDING AND MATERIAL TYPE 7 CREATING SHADERS IN TVED 9 OVERVIEW 9 TEXTURE MASK SETUP 10 GLOW SETUP 10 PREVIEWING NORMAL MAPPING 10 BUMP MAPPING LIMITATIONS 11 GENERAL 11 GLOW EFFECT 14 CREATING ANIMATED MESHES / CHARACTERS 15 EXPORTING MESHES FROM 3DSMAX5 15 IMPORTING A NEW CHARACTER MESH INTO TVED 16 ASSIGNING TEXTURES 17 LINKING ANIMATION 17 COPYING SOCKETS 17 CHARACTER LODDING 17 CUSTOM IMPOSTERS 17 RE-IMPORTING THE MESH INTO TVED 18 SETTING UP CUSTOM SKINS 19 CREATE A CUSTOM CHARACTER SKIN. 19 CREATING A LEVEL WITH A NEW VEHICLE 20 DUPLICATE THE VEHICLE CLASS 20 CREATING THE MESH 20 SETTING UP YOUR VEHICLE 20 SPAWNING YOUR VEHICLE 20 CREATING A NEW ARMOUR CLASS 20 CREATING A NEW COMBATROLE 21 PLACING A CUSTOM SPAWN IN A LEVEL 21 OverView This guide assumes basic knowledge of 3D modelling packages and basic knowledge of the TvEd. It is only intended to be a general guide to the process of creating Art for the Tribes Vengeance Engine. Creating Static Mesh Exporting Static Meshes from 3DSMax - Create your Static Mesh in your preferred 3D application. (I will explain the process in terms of using 3DSMax5.1 ) - The Static mesh should be 1 solid object (no groups) and preferably I continuous mesh. ie, no internal or double faces. - UVW Map the mesh (I recommend only using 1 texture per mesh, however Multi-sub object materials are supported) - Create a low-res “CONVEX” hull mesh to be used as a collision stand-in for the object in-game. To be “Convex” you must be able to draw a line from any vert to any other vert without the line going outside the mesh. You can use multiple Convex hulls as collision for a single s-mesh (eg. 2 boxes for a L shape object) It’s important to remember that these hulls will be used for Player, Havok and Projectile collision in the game, so make them match fairly closely to the mesh. - Name these Convex collision hulls with the prefix MCDCX (eg MCDCX_chair01 and MCDCX_chair02) for a smash called “chair” - Now select the mesh and it’s collision hulls and “Export Selected” from the file menu. Save the mesh as a .ASE file - be sure to ONLY check the appropriate boxes as shown above Importing Static Meshes into TvEd - Open the Static Mesh browser window in Tved. (green teapot icon) - Select the “Import..” from the File menu - Browse to the folder containing your exported .ASE file and select it. (you can import multiple Static Meshes at once if you want) - In the popup window type in a new Package name - The Static Mesh will have the same name in TVEd as the .ASE file you exported unless you rename it here when you import it. - Select OK (or OK to all if you are importing multiple S- Meshes) - Select OK to the following popups, asking if you would like to use the MCDCX hulls you created as collision for the mesh. Static Meshes Collision Settings Select “show properties” from the View menu (you will only have to do this once) The Collision settings relate specifically to Havok physics system. - Select “show collision” from the View menu, to check that the collision hulls were imported properly. - AutoHull is a automatically generated havok collision, this is the most efficient form of collision and should be used on most Dynamic Collision. - ProxyConvex uses the MCDCX convex hulls imported from MAX for HAVOK collision, it is recommended that this is used for most meshes for Static Collision Assigning Textures to a Static Mesh - select “show properties” from the View menu (you will only have to do this once) - the properties of a selected Static Mesh will appear below the mesh render preview. - Under “Render” expand that “Materials” slots - Each material ID will have a separate slot here that textures or shaders can be assigned. - Open the texture tab on the asset browser (or click on the crosshatch icon) - Select the texture or shader you want to apply to the Static Mesh - Go back to the Static Mesh browser. To the far right of the MATERIAL slot is a small arrow – click the arrow and select “use” – you will see the material name appear in the slot, and it will also be applied to the mesh in the preview window. Creating Textures Exporting Textures from Photoshop - First goto the following site, download and install Nvidia’s Photoshop Plug-in http://developer.nvidia.com/object/...ture_tools.html - Textures need to be formatted to a power of 2. ie 1024x1024, 512x512, 256x256 etc - Create your texture and “save as” - Choose the “.dds” file format - Use DXT1 for images with no opacity or masks - Use DXT3 for images with specular or luminosity masks in the Alpha channel - Use DXT5 form images with Opacity ( HUD, GUI, SFX etc) Use 24 or 32 bit TGA for Normal Maps then compress them to DXT5N inside the editor by right clicking on the texture and choosing this compression. Importing Textures into TvEd - Open the texture Browser (checker button) - Open and Select the package you want to import the texture into (in you are making anew package this is not necessary) - I recommend importing textures assigned to models into the same package as the Static Mesh you’re going to apply it to. (packages can be loaded from the Texture, animation or Static Mesh browser, and all objects in that package will be loaded) - Select Import from the file menu - Browse to you image and select it (multiple images can be imported at once) - Type in a new package name or the currently selected package will appear here. Select OK. (Generate MipMaps only needs to be checked when importing TGA files. This setting has no effect on .DDS images that already contain mipmaps.) - Your texture should appear in the texture browser. Texture Lodding and Material Type - Textures can belong to a number of LOD sets (Level of Detail) - Most textures belong to the WORLD set, and are displayed at different resolutions controlled in the games options menu. - The other LOD sets for character, weapons, vehicles, are self explanatory All Materials and Shaders need to have their “MaterialType” set so the appropriate visual and sounds FX play in-game. Eg metal sparks will come off a surface tagged as METAL when shot by a Chaingun. Dusty footstep sounds will play on material tagged as dirt. Creating Shaders in TvEd Overview Shaders are complex materials that use more than one texture pass to create advanced surfaces in Tribes Vengeance. An example of a shader would be a normal mapped object, with diffuse color, specular mask, self illumination mask, self illumination color and glow effect. - Open the package that contains your textures. - Select New from the File menu - Type a name for your new shader. I recommend using the name of the diffuse texture with the word “SHADER” appended to it. Eg. “GeneratorShader” uses the diffuse texture “Generator.dds” and the Normal map “GeneratorNorm.TGA” - The new shader’s properties will appear. - While keeping the properties window open select the diffuse(color) texture from the browser, then click on the arrow to the right of the “diffuse” slot and choose “use” – the diffuse texture appears in the shader preview - Repeat the process to assign various other textures to the shader. Texture Mask Setup - As a general rule a SpecularMask should be stored in the Alpha channel of the Diffuse texture. - SelfIlluminationMask should be stored in the Alpha channel of the SelIllumination texture. - Both of these would need to be saved as DXT3 to work properly. A more comprehensive explanation of the limitation/combinations of textures that can be used in a shader, are listed in Bump Mapping Limitations section below. Glow Setup Glow works automatically on any material with self illumination, to turn it off set the GlowBrightness to 0. (Note Glow only works on Video Cards that support this feature and only then when glow settings are turned up in the options menu ingame) Previewing Normal Mapping Normal Mapping does not preview in the Shader Browser, you have to apply the Shader to a Static Mesh or Mesh to see the results. Bump Mapping Limitations General Overview Bump (Normal) mapping is supported on static meshes (including karma actors) and skeletal meshes. It is enabled on an object by placing a normal map in the NormalMap slot of the objects shader material, and generating bumpmap data for that object. Bumpmap data is generated as follows: - static mesh browser menu->Render Tools->Regenerate Bump Data - animations browser menu->Mesh->Redigset LOD Bump mapping is fairly expensive as it uses many more passes than normal lighting: Pass count = 2 + (number of non approximated lights on object) + (1 extra pass if using per pixel reflection map) Bump map lights and bump map approximation As an optimisation, some light sources do not require an extra pass over certain objects. Instead, multiple light sources are approximated into a single bump mapped pass. For the moment this approximation only applies to static meshes, where by default all static lights affecting them will be approximated into a single pass. It is possible in the future however that this approximation will be applied to static and dynamic lights on all object types. If the approximation does not look correct for certain light sources, the light sources can have the bDoNotApproximateBumpmap flag set on them. This will cause them to be taken out of the approximation, and instead be calculated correctly at the cost of an extra pass over the object. The following table summarises which light sources will require their own pass to bumpmap an object: Dynamic Objects, Skeletal Meshes, Karma Objects - All Dynamic lights- All Static lights Static Meshes - All Dynamic lights- Static lights with the bCastsVolumetricShadows flag- Static lights with the bDoNotApproximateBumpmap flag Shader settings As well as a new slot for the normal map, the following bump map related settings have been added to the shader properties: PerPixelReflection This must be a cube map material, and will be per pixel reflected off the object using the normal map, ie it allows bumpy reflective effects PerPixelReflectionMask Alpha mask applied to the PerPixelReflection effect PerPixelSpecular (None, Low, Medium, High)This determines the specularity (shininess) of the material. This specular is a true per light source specular, ie highlights on an object will be relative to the light sources around it. When using bump mapping, the normal shader Specular slot has no effect, however the SpecularityMask is still used to mask the per pixel specular hilights. PerPixelSpecularType (AlgorithmicNH, AlgorithmicRV)- AlgorithmicNH specular is the most realistic of the 2 methods, and is true per pixel specular. However depending on the objects normal map, proximity of light sources, and the specular mask, it may suffer from heavy banding artefacts on mid range video cards.- AlgorithmicRV specular is a non real world approximation of NH specular that creates perfect round specular highlights. For some materials (reflective, shiny or plastic objects) it may actually create a better look than NH specular. It also has less banding artefacts compared to NH specular. (NOTE: Halo2 uses AlgorithmicRV for all specular lighting) PerPixelSpecularBrightness This scales the brightness of the specular highlight on objects. If a specular mask is used, it will be applied before the specular highlight then gets scaled by this brightness factor. Texture Modifiers For the moment, texture modifiers are only supported on the emissive and emissive mask slots of the shader when bump mapping is used. (Lemme know if modifier support is needed for other texture slots) Mask limitations Bump mapped objects have a few limitations on what textures can be used for the various shader masks and opacity maps: Opacity Must be alpha channel of Diffuse PerPixelReflectionMask Must be alpha channel of NormalMap SpecularMask Must be either alpha channel of Diffuse or alpha Channel of NormalMap SelfIlluminationMask Can be any texture With these limitations, there is only 1 shader combination which is not possible: - OpacityMap + PerPixelSpecular + SpecularMask + PerPixelReflection + PerPixelReflectionMask Ie it is not possible to have a bumpy, transparent , specular, reflective object with both a specular mask and a reflection mask. Generating Bumpmap data As well as a normal map, bump mapped objects need to have some extra data generated on the actual mesh itself. This data amounts to ~24 bytes per vertex, so it should only be generated for objects that are actually using bump mapping. Static meshes and skeletal meshes each handle this process slightly differently. Static Meshes static mesh browser menu->Render Tools->Regenerate Bump Data. If the static mesh does not have a bump mapped material associated with it, then no data will be generated. By default, all static meshes are imported without bumpmap data. To remove bump map data from a mesh that no longer has a normal map, just regenerate bump data on it, and the data will be reset to 0 size. NOTE: If a bump mapped material is shared between multiple static meshes, then all the static meshes must have bump map data generated for the bump mapping to show up in game (due to static mesh batching). Skeletal Meshes animations browser menu->Mesh->Redigset LOD. By default all skeletal meshes have bumpmap data generated for them on import, regardless of whether they have a bumpmap material attached or not. Normalmap Compression Due to the fact that normal maps do not represent actual color data, they can not be compressed with standard DXT compression. Instead a specific type of compression must be used, DXT5N, which is a completely loss free 4:1 compression. This format is available as a compression option in the texture import dialog of unrealed, and can also be applied to already imported normal maps through the context compression popup menu. Console Commands These can be typed into the ingame console, and also into the unrealed command window: DISABLEBUMP Disable the bump mapping pipeline Glow Effect The glow effect is a 2d image space bloom effect that is applied to certain static and skeletal meshes. The glow gets applied to any materials that are a shader with a selfillumination map, and only appears on the self illuminated areas (ie also obeys the selfilluminationmask). You can control how bright the glow appears for a given material by tweaking the new GlowBrightness shader parameter. Setting this to 0 will completely disable the glow effect for that material, and remove it from the glow pipeline... so if you don't want a material to glow, make sure you set this all the way down to 0 so that it doesn’t waste time rendering at say, brightness 1. There are also 2 new material slots, GlowMapOverride, and GlowMaskOverride. If these are set in a shader, they will be used for the glow effect instead of the selfilluminationmap/mask. The GlowMapOverride supports things like ConstantColor materials, so its possible for example, to make a non selfilluminated object have a pulsing red glow by putting a sinusoidal FadeColor material in its GlowMapOverride slot. Also you should strip coronas out of levels where they are no longer needed. note that the glow effect will not neccesarily replace all coronas... you may still need a corona for doing very bright point Creating Animated Meshes / Characters Exporting Meshes from 3DSMax5 First copy the following files into your 3DSMAX5/plugins Directory. ActorX.dlu this file can be found….************ I recommend starting by using one of the existing TRIBES VENGEANCE character Skeletons, so your new mesh will be able to use the existing animation in the game right away. - Open the LightArmourSkeleton.max file, and merge your mesh in - Attach your mesh to the skeleton, using either MAX Skin or Physique. The model does not need to be a continuous mesh, but it should be attached together as 1 piece for each material. We usually use 1 material for the head and 1 for the body. - Do Not to add or remove any bones to the skeleton .Do Not rename any part of the skeleton, if you do the animation will not work in-game. - Once the skinning is complete select the mesh objects, and open the ACTOR X from the Utilities Panel in MAX. - Make sure to check the following settings outlined in RED in the image below.
There are no comments yet. Be the first!