
I copied the character into Unity by using the shortcut Ctrl + D (Cmd + D on Mac), opened it in Affinity, and replaced all the layers with their normal map (or mask map) counterparts. Importing normal maps and mask maps was even easier. I simply copied it from the base character and tweaked the topology and weights of the sprite meshes to fit the new character’s shape. This saves a huge amount of time if you have many characters.įor other characters, I imported the PSB file as before, but this time I didn’t need to make the skeleton. I could make tweaks to IKs, change sorting layers, add some weapons or attachments, or attach some scripts to the base Prefab, and these changes then applied automatically to the other characters. I carefully placed the mesh points and their weights in these places so the bending of the limbs looks believable.Īfter these steps, I made my character a Prefab so the changes made to it would apply to other characters. I double-checked the places where the joints bend, such as the ankles, knees, and elbows. I optimized the character rig, first by cleaning up the meshes to make them use as few vertices as possible, and then cleaning the bone weights to make sure the character looks good in every pose. I made all the bones, auto-generated meshes for each of the layers, and used the Auto Weights feature to bind the bones. This allowed me to have an editable file in case I wanted to make some tweaks to the character.Īfter importing the PSB file into Unity, I rigged the character in the Skinning Editor. So I had two files for each character sprite: One was a source vector, and the other a rasterized version.

To import a character into Unity, I had to rasterize each layer and export the file as PSD (and change the file extension to PSB).

I designed my characters using vectors, so each layer consisted of a number of paths. To import the characters into Unity, I used the PSD Importer because it allows me to have the same layer structure and positions as in Affinity. Normal Painter Krita’s Tangent brush Sprite Illuminator Laigter Sprite Lamp Choose the technique that will give you the best results for the least effort. You will most likely have to make many assets for your game, so focus on the objects that will be visible most of the time and simplify other parts of the game. For example, when you need a concave spherical shape, you can rotate the sphere 180 degrees to create a hole.Ĭhoose the method of generating normal maps that’s best for you. But this can also be used to your advantage. When you have a cylindrical shape, you can take a part of the sphere, paste and stretch it.īe aware that when you copy and paste parts of normal maps and then rotate them, it breaks the shading.
#Spriteilluminator automated processing how to
Start with simple shapes like boxes or barrels to understand how to do it correctly, and in time you’ll master this technique.Ī couple of shortcuts to note: When there’s a spherical shape, you can paste the normal sphere from your palette. Painting normal maps can be tricky at the beginning because it requires good spatial imagination. If you use an angle color that doesn’t make sense in context, the whole shape will fall apart when lit. However, keep the overall shape of the sprite believable. This caused batch processing to fail.Angle colors don’t need to be 100% accurate a few degrees won’t make a difference. Internal font request error caused crash in some cases. The Start screen PBR Mode automatically packs maps into RMA and RMAD formats. Auto Edge, Brightness, Contrast, Blur, High Pass, Shadow, Highlight and more. Use the Filter Tab to add additional filters to any Map.

Once done, save the map and the it will be brought back into ShaderMap. Load a 3d model into the project grid and render normal maps, AO, curve, color ID, and depth from the model geometry.Įxport any map to your favorite image editor at any time. Transform, scale, paint, and use tools to modify normal vectors. Paint normals and displacement to the SM4 layer system.

Control batch scripting of multiple source files, map rendering, setup lighting and more with the LUA API.
#Spriteilluminator automated processing 32 bit
Maps are rendered using 32 bit floating point pixels and stored in 16 bit memory to ensure both speed and efficient memory usage.Įxport LUA scripts for any project. Select a mode and source type then load the source file - ShaderMap will create a project generating maps from the source. View your maps on custom models and paint normals and displacement pixels in the ShaderMap Normal Editor. ShaderMap instantly generates displacement, normal, and ambient occlusion maps. Start by loading a source file, (texture or 3D Model). Easily tweak settings and preview changes in real-time. ShaderMap creates and converts rendering textures to different formats.
