Inkipedia:3D Models

The 3D Models project's goal is to construct pseudo-3D images of the weapons in Splatoon that can be freely rotated.

Example
'''Note: This is not for the faint of heart. It requires a bit of knowledge on how Blender works and a lot of time and patience since a lot of models will not be centered correctly by default or would require manually editing the textures, thus requiring plenty of tweaking to get them ready for the process.'''

Requirements

 * Blender - 3D Model Viewer
 * Blender add-on: SplatoonImageGenerator

The rendering system works as a Blender add-on, so you will need to install the latest version of Blender.

You will also need the latest version of the add-on itself. Select "Code" and then "Download Zip" from the menu and you should be good to go.

Initial setup
If you have never used Blender before, you will want to play around with it a bit to get used to the basics.

This might be a good video to follow: ABSOLUTE Beginner Basics of Blender

Installation
Once you have got Blender up and running, you will need to install the add-on itself. This is pretty straightforward.

Click Edit → Preferences and select the Add-ons sub-menu. Click on the "Install" button at the top right and then select the zip file you have downloaded.

You should see the SplatoonImageGenerator add-on pop up. Tick the checkbox to the left of the menu to enable the add-on.

Now that you have got the add-on installed, you will need to install the libraries the add-on needs to run. Expand the menu that just appeared with the dropdown arrow and click on "Install Dependencies". This will install the Python library Pillow so that it can be used by Blender.

Once you successfully install the required libraries, you should see a new category in the tools panel (press N on your keyboard to open the tools panel when in the 3D layout).

That's it! You're all set up and ready to start loading in your models.

Getting models
You can get almost all of the Splatoon models from https://www.models-resource.com/nintendo_switch/splatoon2. The add-on has only been tested with a select few weapon models, so don't be too surprised if it does not work out of the box for some of the other types. However, with a bit of tweaking, you should be able to take images of any model of your choice, Splatoon or otherwise!

Importing models
Importing models is quite straightforward, simply go to File → Import → fbx, and select the model you would like to take an image of.

Add-on structure
The main meat of the add-on is its ability to rotate and render 3D models to form the pseudo-3D images you see around the wiki. However, it comes with a few helper functions to make your life easier when rendering the models. The helper functions can be found under "Basic Settings" and help complete commonly used tasks on the model to prepare it for rendering. Their exact functions are as follows:

This is to select the top-level armature object of the model, which will dictate which model is rotated and processed. If something is not working right, check that the correct armature is selected!
 * Base armature

Rotate and Scale does exactly what it says, it rotates the model and scales it up so it is easier to navigate from the default Blender view. It relies on the fact that each model comes with the same starting rotation, though, so take care to check it has done its job correctly.
 * Rotate and Scale

The add-on rotates the 3D model around the 3D cursor when rendering, rather than object origin, since the origin is rarely at the centre of mass of the model. This button places the 3D cursor at an approximate midpoint of the model. Again, it is not infallible, so check that it looks approximately right before rendering.
 * Position Cursor

This button positions the camera to look at the model side-on, with enough margin around the edges to leave some space if the model grows when rotating. Check that the model is centred well and that it fills the camera with a bit of margin.
 * Position Camera

This button is simply there for a check, it rotates the model as it would be rotated during rendering, to see whether it fits within frame and if rotation is being calculated accurately. Just ensure that the model spins around and pivots up and down.
 * Check Object Rotation

For some reason, Splatoon models are imported with backfaces visible. This button simply disables this for all meshes, so that you do not have to do it yourself. You can easily see what it does to an imported model in the Rendered view.
 * Fix Object Material

This just adds a skatepark HDRI to the scene to add some organic lighting.
 * Set HDRI

Some further options are available in Advanced Settings:

Sets the number of rotations in the X-axis displayed on the final image. More leads to a smoother rotation experience, at the cost of higher storage space.
 * X Rotations

These determine the resolution of the image rendered by Blender, NOT the final generated image. There does not appear to be much of a use for this, except to tweak the aspect ratio, but it has been left in anyway.
 * X Resolution and Y Resolution

Does exactly what it says. Choose between PNG (transparent) or JPEG (lower file size)
 * Output Format

Finally, to render, there are the following options:

The folder where the final image will be placed. CAUTION: The add-on uses a folder called 'tmp' within the selected folder to store images, so maybe make a separate folder to store the outputs if you already have a folder called tmp with the important stuff.
 * Output Folder

Renders the final images, generates a weapon.{output format} file and a weaponoffsets.txt file with the description needed to get it to work.
 * Render to Wiki Image

Taking images
The basic steps to take an image are quite straightforward. Import your model, select the armature, go down the list of buttons in Basic settings, select your output folder and render! However, use each of the steps with care, as every Splatoon model is different and the addon may make mistakes. Check each step to see whether it has worked as intended. Checks are as follows:

Check that the model is in the right orientation (muzzle facing left/right, handle facing down, etc.) If this is not the case, you will have to rotate the armature manually to fix it.
 * Rotate and Scale

Also, check that the model rotates as intended (i.e. local axis are lined up). The local Y-axis should pitch the armature up and down as if it were aiming towards higher and lower targets. If this is not the case, you will have to reposition the armature and apply scale as necessary to get this to happen.

This usually works fine, but check that the cursor is at the approximate centre of the model. You can also set Blender's pivot point to a 3D cursor, and check that the model rotates naturally around it. If not, reposition the armature (or 3D cursor) so that it is about right.
 * Position Cursor

Check that the model is fully framed and that when rotated it never leaves the frame. You could, at this point, zoom the camera in to frame the model even closer to get a higher resolution final image, being careful that nothing leaves the frame.
 * Position Camera

Just check that the mesh does not look weird and inside-out after using this. Sometimes you will not have to use this button at all. If the material still looks wrong because of colour issues, shininess, surface detail or missing glow, check Advanced Usage to modify the material.
 * Fix Object Material

Check that the model lights up in rendered view. If you do not want to use the skatepark HDRI, simply select your own and skip this button, which would normally overwrite it.
 * Set HDRI

Setting materials
If your material looks a bit off, the FBX import likely did not use all the textures needed for your model. It is easy enough to fix this, but some experience with Blender's shader editor is useful but not necessary. Here are some common issues and their fixes:

The model is likely missing an emission shader. Add an image texture to the object material and import the texture ending with _emm from the model's images folder. Connect this as the fac value to a MixRGB node and plug this into the emission input of Principled BSDF. Turn up the emission strength, set one colour to black and the other to one of your choosing, and you should be good to go.
 * Missing glow

It is possible that the normal map for the model is not being applied strongly enough. Turn up the strength on the Normal Map node connected to the normal input of the Principled BSDF.
 * Missing surface detail

This might be due to a Team Colour not being applied. Add an image texture to the material and import the image ending with _tcl from the model's images folder. Connect this as Fac to a MixRGB node. Connect the albedo texture that should be already connected to Base Color to one color input. Choose a color for the other input and plug the output of the MixRGB into the Base Color of the Principled BSDF. This hopefully should fix any colour issues with the model.
 * Missing colours or black sections

Possibly due to a missing metallic texture or roughness texture. Check which nodes on the Principled BSDF have nothing connected, out of Metallic and Roughness. Find the image ending with _mtl for Metallic, or _rgh for Roughness in your model's images folder. Add the ones you need as image textures and connect them up to the relevant node on the Principled BSDF block.
 * Not shiny enough

Changing lighting
Feel free to add any other lighting if needed, if you feel it improves the look of the model. For instance, consider area lights to improve surface detail and cast shadows or coloured sunlight to add a tint to the model. You can also change the HDRI to add a different lighting effect. Just remember not to press the "Set HDRI" button as this will overwrite any HDRIs you use.

Uploading your image
Upload your weapon.png image file with Special:Upload. In-case of files larger than 8 MB size, upload the file to an image host website (such as imgur.com, or imgbb.com, or Google Drive), and ask a patroller or admin to upload it to Inkipedia for you.

Copy the text in weaponoffset.txt to the file's page and enter the link address of the file page to the URL parameter between the tags.

Model repositories

 * Splatoon: S1Weapons.zip
 * Splatoon 2: models-resource (Some weapons missing)

Process example
https://www.youtube.com/watch?v=hlNlG8KYp58
 * Inkipedia 3D Models: Extras - Manual & Textures

Weapons
Edit

Help develop the add-on!

 * Needed features
 * Auto import textures: It would be nice to have a system that would automatically import emission maps, team colour textures etc.


 * Known bugs
 * Micro difference in position due to combined floating point errors after rotation.

You can find the Github here: https://github.com/RadiatorSyrup/SplatoonImageGenerator
 * Github

Any contributions are very welcome.

Special thanks

 * Darkid from TF2wiki for the HLMV script.
 * Radiator Syrup from freelancer site for the Blender add-on.
 * Shahar for the implementation to Inkipedia.