Extinction Editor Skin Creation

From Primal Carnage: Extinction Developer Wiki
Jump to: navigation, search
Flesh on the Bones: from wireframe to fully lit & textured mesh

This page details the process of creating a new skin using the Materials system. Before tackling skin creation, make sure you understand the concepts of Materials and Material Instances (MICs) as outlined in the Extinction Materials Guide

Texture Creation

To make the actual skin textures you will need an image editing program that supports multiple layers (MS Paint won't cut it). There are a bunch of options out there, from the industry standard Adobe Photoshop to the free GIMP editor. Prior experience using image editing tools is recommended before attempting skin creation.

For the purpose of this article, it is assumed the user will be working with Adobe Photoshop, although the core concepts should work in any layers-based paint program.

WARNING: If you intend to upload your dinosaur skins to workshop, you MUST use the overlay system. All dinosaur overlay's must be a resolution of 512x512. The exception is the Acro, which should be 1024x512.

Dinosaur Skin Design

The preferred process of dino skin making is to create a flat colour map that is overlaid on top of a blank base texture. While there are other methods, such as the Camo or Pattern systems, these are outdated and should not be used. Skins made with the pattern/camo system are more computationally expensive and the results often look worse than using an overlay texture. For that reason, the below guide details how to create your own Diffuse Overlay texture for a custom skin...

"Blank bases" for all dinosaurs can be downloaded as part of the character asset resource pack

A grey "blank base" texture for the Oviraptor
Painting on top of blank base using Photoshop's multiply mode
Final diffuse colour overlay for Oviraptor skin

Import the base texture into your image program, then create a new layer above it to paint on. You can put this layer at a low opacity or set the blend mode to Multiply to get a rough idea of how the end result will look in-game as you paint. Keep in mind that using Multiply mode will make the skin look a little darker while you're working than how it will appear in-game. You can alternatively try the Overlay blend mode but this will have the opposite effect of brightening the base.

When you are finished, switch the paint layer's mode back to Normal and save the texture as a .TGA file, making sure it is 24bit.

It is important that your colour texture is flat and does not contain the base details.

Material Explained

A Material is what Unreal calls a shader. A shader defines what something looks like. For example, you might have a concrete shader. Or a skin shader. In our shaders, we have several values that can be tweaked such as the texture, brightness, things like that. Rather than create a new shader for every slightly different looking thing in the game, we create an instance of the shader. These material instances are what we apply to the models, and it's what you'll be using to set up your skin for the game.

Creating your Material Instance

WARNING: Do not save any files you create inside existing packages. If we ever update these packages, it will overwrite your changes and you will lose your work. Create a new package with the "New" button on the bottom left of the content browser. We recommend regularly backing up this package outside of the Editor folder just in case it gets deleted somehow.

First, start up the Extinction Editor and open up the Content Browser. On the left side, search for the character you would like to make a skin for. In this tutorial we're going to look at the Raptor, so search for Raptor. The package we're looking for is called CH_Raptor_MI. We're going to find the default Raptor and make a copy of it. The reason we're making a copy of the default raptor is all the defaults are set up with a lot of specific values that you'll want to keep. For example, the tile size for micro-detail and burn overlay.

CopyRaptor.jpg

When you click create a copy, it will ask where you want to save your MIC (Material Instance Constant) and what to call it. We use the prefix "MI_" for our MICs, so call it something like MI_Raptor_MyCoolDesign. Make sure you save it to your own package. Once you've made your copy, it should look like this:

CopyRaptorMIC.jpg

Dinosaur Material Properties

On the left side we have all the values that define what our skin will look like.

DiffuseColor is a parameter that defines brightness and overall color of our skin.

Texture Parameters define the different textures that are combined together to get our result. DiffuseColorMap is where our Texture Base will go. DiffuseOverlayColorTexture is where our Overlay will go.

Static Switch Parameters are options you can turn on and off that will give you some extra features at the cost of extra shader instructions. For example, you can enable HSV Shift to shift the overall hue or your skin or modify the eye color specifically.

To enable a static switch, the checkbox on both the left and right side must be checked.

Scalar Parameters are single values that can change a variety of things. For example, increasing Specular Amount from a 1 to a 2 will make the skin twice as shiny.

Adding your overlay to the base

Once you have an overlay texture you're happy with, you can import it into the editor (Into your own package) and plug it in to the MIC you created earlier.


CopyRaptorMICHighlighted.jpg

And that's it!

Viewing your skin inside the Material Instance editor

If you want to easily view the results, you can view the mesh of the dinosaur/human you're making a skin for directly in the MIC editor. First, select the mesh you want. In this example, it'll be the Raptor Default Mesh in CH_Raptor_MESH:

CopyRaptorMesh.jpg

Next, with the Raptor Mesh selected open up your MIC and press the green arrow at the top left of the window:

CopyRaptorMeshButton.jpg

Success! You can view your raptor while you work on it. With your mouse in the preview window, hold L to rotate the light around the mesh.

CopyRaptorMeshPreview.jpg