Posted on June 5, 2022, 2:09 a.m. by Poisenbery • Last updated on July 17, 2022, 2:41 p.m.
Things you'll need:
The general process can be defined as follows:
1.) Open the map you want to export in SB3 utility. This can be done by using File-> Open, or dragging and dropping the .unity3d file directly into the SB3 Utility GUI. Maps for Illusion games are usually found in the /abdata/map/scene folder.
2.) Open the materials package in SB3 Utility. This can be done the same way as in step 1. The material packages is usually found in the /abdata/map/materials folder. If you do not do this, there is a chance that the SB3 Utility will not be able to find all of the required textures on export.
3.) In SB3 Utility, go to the "Quick Access" panel [upper left] and click on the map that you opened up. In the pane below, there should be 2 tabs: one with your loaded map, and one with the loaded material package. Make sure the map tab is active, and double click on "1:Map"
4.) The middle pane should now be populated with some information. Go to the "Mesh" tab. Select the first object in the list, and then go to the bottom of the list. Shift+Click the last item. This will select all mesh items in the list.
5.) Wait a minute for SB3 Utility to load the map objects. The right hand pane will update with a viewport of all the objects in the map.
6.) Click "Export" and wait for SB3 Utility to export everything. [I keep the format as FBX 2020.1 because I have no idea what it even means].
7.) A folder will be generated in the map directory with the same name as the map you exported. So if you exported "forest.unity3d" the folder will be named "Forest." Upon confirming the export was successful, [FBX file and textures in the folder], SB3 Utility can be closed.
8.) Import the FBX file into Blender with File-> Import -> FBX
9.) If you have done everything correctly so far, the viewport should be absolutely F*****. This is due to all of the materials having an alpha blending mode of "BLEND." There are a couple of ways to fix this:
Change all material alpha blending modes individually [very time consuming].
Change all material alpha blending at once with a script [very easy].
import bpy
for material in bpy.data.materials:
material.blend_method = 'OPAQUE'
I like to set everything to "Opaque" because I'm not sure what I am doing. If any objects require alpha blending [baskets, trees, bushes, etc] then these can be changed indivudually to "Alpha clip" or "Alpha hashed" depending on your preference. [trees and bushes often use the same material, so this method takes a very short amount of time because you usually only have to change the blend mode on one object and it will affect everything with the same material.]
10.) Some of the materials have emission set to a non-zero value in the Principled BSDF Shader. Set these to 0, or whatever value you want, if you want emission on that object. Be aware that sometimes, things like wood and doors have emission values, which makes no sense. You can find these pretty easily by changing render mode to "Cycles" and looking for anything that is brightly lit in the scene.
11.) Everything should be looking pretty nice now, except for scale. The maps are about 1:100 scale size, so select the armature, press S for scale, and then type 100, and press enter. It might be closer to 75 because I'm unsure of the height of Japanese doors. American ones are just shy of 7 feet tall, and scale 100 seems to put the doors right about at that height.
12.) add scene lights and whatever else you want and have fun
DM Me on discord if you run into issues or need help. I'm not an expert at this by any means, but I might be able to share insights if it's a problem I've also had in the past: poisenbery#1492