-
Notifications
You must be signed in to change notification settings - Fork 2
Unity‐chan Textures Tutorial
This tutorial covers how the multimaps provided in the Unity-chan costume tutorial were made.
It's recommended that you do the costume tutorial first before starting this tutorial.
- Substance Painter. Currently, the tutorial only contains instructions for Substance Painter, which is a paid program.
-
Original
Unity-chan Sunny Side Up!textures. Note that these are different from the textures in the costume tutorial - they are not processed yet and come straight from the original Sunny Side Up! project. - Engage skin textures. These are the same as what are in the Unity project, but in a split into a form usable by Substance Painter. We used this tool by BadAtGames26 to create these.
- The Unity-chan costume fitted over the Engage base body:
- If you're coming from the Costume tutorial, there is nothing to download. You should use the Unity-chan FBX you made yourself for this tutorial.
- If you're starting fresh from this tutorial, you can use this.
At the end of this tutorial, you will have something that looks like this in your Substance Painter project:
Download Moonling's Substance Painter shaders from here.
Press the green Code button, then choose Download ZIP.
Then follow the instructions here to get them setup.
Start Substance Painter, then go to File -> New Project..., then pick the FE-Engage-V2 Template.
The window should now look like this:
Notice that for 3D mesh, right now it says No file selected.
Click the Select... button and choose the Unity-chan FBX that is in your Unity project. (In the tutorial, we put the FBX into Unity on this step.
Now the window should look like this:
Click the Create button to continue.
You should see something like this now:
The left is a 3D viewport which shows the model, and the right is a 2D viewport showing the texture for the currently selected Texture Set.
Choose File -> Import resources...
A window like this will show up:
In your operating system, go to the folder where you downloaded the textures for this tutorial, and drag-and-drag all of the textures into this window.
With all the textures in, it should look like this:
Click the first texture's name, then holding the shift key, click on the last texture.
They should turn dark from being selected.
Then, on the first texture, click on the box that says undefined, and choose Texture.
All entries should now say Texture.
Click Import at the bottom of the window to continue.
You should see a bunch of textures show up now in the Assets window.
If you don't see the Assets Window, use Window -> Reset UI.
Find the TEXTURE SET LIST in the upper right corner (if you don't see it, use Window -> Reset UI), and put your mouse right between the two panels.
Click and drag down until you can see all the names in this list.
Where do these names come from? These are the material names.
Click on Skin in the list.
Then, find UCSSU_Body_Base from the Assets Panel.
Drag-and-drop it into the LAYERS tab.
From the options, choose Base color
Notice how we now see this texture on the 3D model on the left, and also see it as a flat texture on the right.
However, things look a little washed out right now.
Click on the paint bucket icon.
This will create and select Fill Layer 1. The clothing color will disappear as well, as it is being covered by this layer. We will fix this.
Scroll down in the PROPERTIES - FILL window until the MATERIAL section is visible.
Notice how color is selected, but nothing else is.
Toggle color off, and everything will return to how it was before. Now, the UCSSU_Body_Base is providing the color again.
Now, toggle metal, rough, nrm, and ao on. Things should looks a lot better!
Now, the UCSSU_Body_Base is providing the color, and this fill layer is providing the rest. With the needed components, the render preview looks better.
You can save the project any time with File -> Save.
Name your project something suitable.
Put your mouse over the 3D view, and use the scroll wheel to zoom in and out.
Press alt and left click the mouse to orbit the camera.
Press alt and click the middle mouse button to pan.
Press the F key to fit the model in view.
These same controls work in the 2D texture view as well!
Repeat what we did above with the Boots and Hoodie.
Note that we included some variation textures, file names ending in _Base, _1st, and _2nd. In the costume tutorial, we used the _Base textures. While this tutorial will continue using the _Base textures, you are feel to use the variation you like.
You should have something that looks like this now:
Notice how there is a UCSSU_Hoodie_NRM texture. Sometimes, models will come with a normal map, but not always. Notice how even for Unity-chan, not every texture has a corresponding normal map file.
Since we have it, let's use this as the normal map.
Drag-and-drag UCSSU_Hoodie_NRM into the layer panel.
To better see the effect of the normal map we just applied, zoom into the hoodie a bit, click on the Eye next to the UCSSU_Hoodie_NRM layer.
Notice how there are increased details and shadowing when the normal map is on. Normal maps help add some virtual detail to a model.
Hold shift and right click and drag, in either the 2D or 3D view to move the light.
For HoodieZip, let's use the same UCSSU_Hoodie_Base as the Base color and UCSSU_Hoodie_NRM as the Normal map.
Also make a fill layer for the HoodieZip, and enable metal, rough, nrm (even though we are providing a normal map, we will be using it for the demonstration), and ao.
You should see something like this now:
Hide and show the normal map to see the difference it makes for the zipper's 3d effect.
Now, while the zipper responds to light pretty well now, it lacks a bit of a metallic glint that a real zipper would have.
With HoodieZip selected in the Texture Set List, choose the fill layer we made again.
Scroll down until the Metallic and Roughness gradient sliders are visible. If you don't see their sliders, make sure metal and rough are enabled above.
Crank Metallic to max white (1).
Notice how in the preview, it looks more metallic.
Rotate the light a bit with Shift and right mouse drag to examine the reflective effect.
Now, with an eye on the preview, change the roughness. Notice how the metal becomes rather flat looking if the roughness is up at 1.
Try experimenting with different combinations of roughness and metallic values to get different types of metallic effects!
Unity-chan doesn't have any regular textures for the shirt. We can make a simple black shirt for her.
Select Shirt in the Texture Set List, and create a fill layer, but instead of choosing our usual options, click Material mode instead.
This panel will then show up:
Search for the Jersey fabric, and select it. (If you don't have this material, you can try another fabric or cloth material!)
Once it's applied, you'll see something like this.
Turn off height and turn on normal.
Scroll down until you can see the Fabric Color and choose a dark black, something like this.
Zoom in and you should see some detail on the shirt! You can play with the other Parameters and see what you can get.
Now, import the MtSkin textures if you haven't already. Remember to set their type from undefined to texture.
Notice how instead of one file for the multi, we have multiple files. These are the multimap separated into different color channels. To learn more about the multimap, see here.
Here we'll go over another way to set textures instead of having a layer for each.
Start by clicking MtSkin, and clicking on Main shader.
Change it to Skin shader.
You should see something like this now. Notice how the skin color changed.

Then, make a new Fill layer.
Scroll down to the material section if it isn't showing currently.
Click on Base color, search for MtSkin, and choose the Albedo.
Now, turn on metal, and, then click Metallic.
Search for MtSkin_Multi_Green and set that.
Repeat these steps for
-
rough, assigningMtSkin_Multi_Red -
nrm, assigningMtSkin_Normal -
ao, assigningMtSkin_Multi_Blue -
op, assigningMtSkin_Multi_Alpha
You will end up with something like this:

Note that not every assignment changed the look of the skin. That means that they are unused, but we assigned them as an exercise to match what the vanilla game has.
To see the effect of each, you can unassign the texture with the x button and control-Z to undo it.
Now, try toggling the Ambient occlusion.
Notice how there is subtle shadowing on the legs when the Ambient occlusion texture is applied, vs when it's just a flat color without the texture.

We are to create this same effect for the rest of the costume.
Save your project if you haven't in a while.
In the upper right corner, there is a button that looks like a (baked) Croissant. Click it to switch to Baking mode.
Baking mode lets us create new textures of various types based on the model. However, we don't need to bake all of the maps right now.
With MtSkin selected in the sidepanel, go down to the Mesh Map Bakers section.
Uncheck everything except Ambient occlusion. You can left click and drag your mouse to uncheck multiple checkboxes at the same time.
Then, in this menu, choose Apply checked to all Texture Sets.
Now, the bake button should say Bake (6) on it. Click it.
This make take a moment...
but when it's done, you will see a Unity-chan with some shadowing effects on it.
We are done with Baking mode for now. Click on the Brush icon in the upper right corner to return to the previous view.
Back in painting mode, let's use the maps we just baked.
With MtSkin selected, replace the Ambient occlusion texture with the one we just baked. The baked texture will have the name ambient occlusion MtSkin.
Notice how the before (left) and after (right) here look different, with the costume now also casting some shadow on the legs.
Now, going through the rest of your Texture sets, apply the baked Ambient occlusion map to each of them. You can reuse the Fill Layers we created earlier in them. Be careful not to confuse Skin (which is Unity-chan's material) and MtSkin (which is Engage's actual skin.)
As an example, here is what I did with the Boots.
(For the Shirt, you will need to create a new Fill layer, as we have the fabric material applied already.)

Instead of searching in the popup window for the texture you want, you can also pick them from the Assets panel.
Choose Project from this dropdown,
And clear your filters if you have any by choosing Show all
Now you can drag-and-drop the textures into the Ambient occlusion box.
With everything applied, you should have something that looks like this now:
In my interpretation, the X parts on the boots should have a bit of a metallic glean to them.
However, if we turn up the Metallic value for Boots like we did for HoodieZipper, the entire boot becomes metal-looking.
Are we out luck since there isn't a convenient texture set like HoodieZip?
Not quite!
Masks allow us to limit the effect of a layer to specific parts.
First, make sure you have the Boots texture set selected, and make a new Fill Layer. Double click on its name to name it Metal Parts.
Down in Material, enable metal and rough.
Now, with Metal Parts still highlighted, click the Add Mask button and choose Add black mask
Nothing will change in the viewport, but in next to Metal Parts, you'll see a little mask icon surrounded in blue.
Notice that the properties window has changed as well,
If you click the black next to the mask icon, you'll select the layer again with our familiar material.
Bump up Metallic to a high value.
Notice that even as we do this, the boot is not becoming all metallic like last time. This is because the effect of this layer is being "masked" by the mask we just made.
Reselect the mask by clicking on it.
In the top corner of the 2D view, click the dropdown that says "Material" and scroll down to "Mask".
Notice how the viewport changes, and we indeed see a black blob over the boots.
Now for our first painting - make sure that Paint is selected in the upper left corner. You can also press 1 on your keyboard to select this tool.
And try to click on one of the Xs on the boot to paint it.
You might end up with something like this:
Notice how even though you were painting only one part of the boot, a bunch of other parts of the boot got painted too. This is because these parts of the boot share the same UV mapping.
Now, to see what this masking did, use the same dropdown you used to switch to Mask, and go back to Material mode.
Now if you go back to the layer's fill properties and try cycling the metal value, you'll see only the parts where we painted white, respond to that change. So, black is blocking, and white is letting the effect of the layer through.
However, going back Map mode to check what we did, while the mask worked, it was quite imprecise.
Luckily, there's a better tool for this kind of task.
Right click on mask, and choose Clear mask.
It should now reset to all black.
In the left panel, click on the Polygon Fill option. You can also select it with 4 on your keyboard.
Notic that a red grid appears over the model and the texture.
Right click anywhere in the viewports, and choose the 4th option, called UV Chunk Fill.
Now, find the X shape in the 2D panel, and click anywhere in it.
You should see the areas of white light up in both the 2D and 3D panel.
Switch back to Material view.
Now click on the black rectangle next to the Metal Parts mask.
Notice that the red grid is now gone.
Go back to the material options, and slide the Metallic slider around a bit. You can also change the roughness.
Notice that now, only the Xs on the boot change visually.
Now let's make these dots also metallic.
Selecting the mask again, and going back to the mask view option, since there isn't an easy thing to find in 2D view, this time try selecting the area directly in the 3D viewport using Polygon Fill.
Notice that no matter how carefully you click, you will end up selecting quite a bit more than you intended.
This happens because in the 3D viewport, the Polygon select tool selects through the model, hitting things in the back. This is a known limitation of the tool.
First, let's make sure to color all of the dots white.
Now, let's restore the unwanted parts to be black.
In the topbar, click the Invert grayscale button to change the Polygon fill tool deselect mode. You can also do this switch quickly with the X key.
Make sure the color in the rectangle is black.
Then, in the 2D panel, click on the parts that we didn't intend to color white.
You should end up with something like this.
By the way, those four dots where actually here right next to the X.
When possible, we should try to do Polygon selections in the 2D window.
Let's also make this fastener masked white.
Returning to Material view mode, you can check your our work now by tweaking the metallic settings to your liking.
When you are happy, save your project.
To export these textures for use in Unity, go to File -> Export Textures
A window should pop up.
Now, click on the dropdown next to Output template.
Scroll down until you find Engage, and select it.
For output directory, you can set it to be directly inside your Unity project, under the Textures folder we made previously. Whenever you export textures from Substance Painter, Unity will automatically update them. You don't need to update your Unity prefab or materials for textures you have already applied. If you don't have a Unity project yet, feel free to export anywhere else.
Go to the List of Exports tab to double check what we're outputting. This tutorial doesn't make use of the Emission map, but it's fine to also output it (they will fail harmlessly).
Now, click Export, and wait a moment.
And the materials are ready for use!
This is the end of the tutorial.
This section will be less of a tutorial and just random ideas to try!
Here's changing all the base colors to be the _2nd set.
You can also try making your own color sets in an image editor.
The shirt doesn't have to be a solid black color. Try drawing or importing something fun!
You can try to add a bit more texture to the hoodie.
It can have a bit of a "wet" look to it when in shadow.
Here I added Fabric Wool Herringbone (but you can try any other material!)
And here are the settings I used - just setting the nrm with the material, and increasing the tiling size a bit.
Using a mask, you can target the leg wraps (which are in the Skin material).
And try giving it a bit of a textured look:
If you look at the textures, you might see strange stretching lines like this
Or like this

The reason this happens is because of the padding settings in the Export window.
You can read more about why this setting is used here.
For our purposes, it is harmless.
If you update the Unity-chan model by adding more parts of the costume, or changing existing parts, you can always reimport the mesh to this project. To do so, you can use a couple of options in the Edit menu.
Either Reimport mesh, to reimport the same file,
or in the Project configuration, you can choose a different mesh.
If you're choosing a new mesh, it should be the same scale as your original mesh.
If you change or remove any material names in Blender, it will mess up the known texture set list, and while Substance Painter can help you reassign texture sets, this can be tedious.
Thanks for Bad for being the first to review this guide. Thanks to Redundo to pointing out issues with the instructions.
Lythos, the Engage modding Wiki • Resources • Getting Started • Cobalt Wiki * Discord Server
Getting Started
Modding guides
- Game data
- Models and Unity
- Animations
- Audio
-
Maps
- Dumping Vanilla Maps
- Playable Area
- MapSetting
-
Terrain
- Terrainpaint
- Props
- CameraSet
- Exporting
-
LightSet
- Lightmaps & Environmental Lighting
- PostProcessSet
- Post-Battle Exploration
- HubRoot
- HubCollision
Documentation