3D Remeshing basics: Remeshing an object from scratch tutorial

Alessandro Needs A Server

Well-Known Member
You are now going to learn how to remesh an object for FreeSO / Simitone. Remeshing is pretty easy, and these are the requirements in order to achieve a nice looking object:
Let's begin!
Importing the generated mesh in Blender:
To import the original generated mesh in your Blender scene, you wanna do the following steps:
  • Open up Volcanic: this is the application that the developer made for creating custom content and also for remeshing objects, there are two options to open it: if you have the launcher, just right click the play button, a pop up will appear asking if you wanna open Volcanic, click the open button; if you don't have the launcher, just go in your FreeSO install directory, you'll find Volcanic.exe. An advantage of the launcher over opening manually is that it's easier to set Volcanic to 3D mode, since it shares the same settings as the game in the launcher;
  • Once in Volcanic, look for an object that you want to remesh: first, click on Sandbox mode and choose the lot called "empty_lot_fso":
    unknown.png

    once you've entered the lot, look for something you wanna remesh, in my case, i've been doing all the food.iff items and, for this tutorial, i'm going to remesh the preparation tray. To access the remeshing panel, click on the item you wanna remesh on the list, once highlighted click on edit object on the right:
    unknown.png

    After clicking edit object, an additional window will open up, this is your object window, it will let you access both 2D and 3D editing, but we're only going to focus the 3D aspect since we're remeshing:
    unknown.png

    unknown.png

    That's where the fun begins! So, as highlighted in the picture, choose the ITEM that belongs to this GROUP that you want to remesh, once you've done that, choose the first MODEL that you wanna remesh of said item. To explain this better, i'm gonna choose Food - Regular Meal as ITEM, item that belongs to the FOOD.IFF GROUP and i'm going to remesh the Preparation tray as my MODEL. Let's find it in the list highlighted in the point 2 of the picture above:
    unknown.png

    When you'll click the EXPORT OBJ button, a window will pop up, this is where you save the model. Make sure to give it a name that ends with ".obj" .
  • Now let's import the object to blender: now that you've successfully exported the generated by the game model of the object, it's time to import it in Blender. To do so, you'll first need to open a new Blender file, which can be achieved by simply opening the app:
    unknown.png

    Let's make sure you're in Cycles Render mode already, if not, set it:
    unknown.png

    To import your mesh, click on the FILE button on the top left, select import and finally, OBJ import:
    unknown.png

    Once you're in the selection tab, look for your OBJ file and double click it. When Blender is done importing it, it should look like this:
    unknown.png
  • Let's get 3D modelling: you've successfully made it through the boring part, get ready now for the fun part! It's time to model! If you know from barely to 0 about 3D modelling, i suggest these tutorials: BlenderGuru Beginners Series, LowPoly Modelling Tutorial; Some things you'll notice right off the bat: it looks very crooked (especially on smaller objects) and it's divided in four portions, which represents the four rotations that it has in 2D (some objects might look mirrored on a certain axis, usually Z, so you might wanna look at the 2D look of the object for reference in the "appearance" tab of the object editor window).
    Okay let's actually follow the title and let's get 3D modelling. A few things to help your re-meshing experience:
    - Use the layers Blender has (to navigate through them you can use the number keys above the letter keys), in my case, i always use the layer 1 for generated and layer 2 for the mesh i'm making, by keeping SHIFT pressed and pressing [ 1 ] and then [ 2 ] i can overlap the two and see how i'm doing. Sometimes it's nice to take some creative control ( i did on this one, it's not a 1:1 replacement), all it matters is that you keep the style consistent and that you don't exaggerate with the changes, the core elements have to stay (in this case, milk bottle and aluminum tray). Let's take a look at how i did:
    unknown.png

    Let's address a few tips: this object i've remesh is the perfect example of a successful remesh (wow, braggy much?): it has the least polygons possible but still looks good and gives the idea of what it is, it has a very small texture but still readable enough and it respects the original design core points. Let me show you how i did the texture in the next point;
 
Last edited:
  • Texturing, can be fun, can turn out crazy: Texturing is probably the hardest part of the whole modelling process, in any field and game, not only FreeSO, but it is also very fun to experiment with new tricks that you will actually come up with. This is my workflow:
    - Baking ambient occlusion: baking is very important since the game is not capable of advanced CGI details, ambient occlusion is your starting point to a more realistic looking object giving it some basic shadows (click here for a baking tutorial if you don't know what the heck i'm talking about). Ambient occlusion bake looks like this:

    Ambient_Occlusion.png

    TO USE THIS BAKE, MAKE A NEW LAYER IN PAINT.NET OR PHOTOSHOP AND SET IT TO MULTIPLY;
    - Baking Gloss: to bake gloss i use a simple Glossy Shader and my own enviroment map, harvested from The Sims 4, i've always had the best lookingplasticy and metally looking materials from it, none of the others i've tried give me the same look and feel. Gloss bake looks like this:

    gloss.png

    TO USE THIS BAKE, MAKE A NEW LAYER AND SET IT TO ADDITIVE AND ADJUST OPACITY TO DESIRED VALUE, OR ALPHA MASK A COMPLETELY WHITE LAYER AND USE NORMAL BLENDING;

    - Export your object's UV Map: if you've followed the beginners tutorial or you know what Blender is about already you'll know what a UV map is, export it as image, you'll need it for hand drawn details and your color base:

    unknown.png

    In my case, it looks like this:
    UV.png

    MAKE SURE TO EXPORT IT AS THE SIZE YOU'LL WANT YOUR FINAL TEXTURE TO BE;- Create a new layer and put it at the very bottom of your layer stack, this is gonna be your color base: This is what your arrangement of layers should always look like, wether you use Photoshop or not:
    unknown.png
  • Naming, importing, saving, sharing: Once you're done with the modelling part, it's time to import your mesh in volcanic. To do that, you need to follow a specific naming of both the textures and the model. When in Blender, you'll notice on the top right that there's a list of the stuff inside the Blender file. Locate your object and name it as shown:
    unknown.png

    0_TEX_N: 0 represents that this model is your BASE, if we were making an animation object that contained geometry states, you'd need to separate them and name them accordingly to their order (1_TEX_N, 2_TEX_N, and so on). TEX_N, in my case N=5 because in the FOOD group there's a lot of items, and i've already remeshed 4 of them and applied textures to them, so those slots were occupied. If you're doing an object that has it's unique group, usually your naming would be 0_TEX_1. You should name your texture PNG file TEX_1 or whatever number you've decided (always start with 1!).

    Now you're ready to export this mesh. Before goin on the export tab, select it, simply select the mesh youre about to export (you're doing this so that you avoid exporting the original mesh pieces together with the new one by mistake). It's now time to export:

    unknown.png

    To export the mesh, you need to tick these settings and ONLY THESE:
    unknown.png

    You can save this combination of settings and call it FreeSO for next times. Since you've selected the mesh to export by highlighting it, you also need to tick this:
    unknown.png

    Now that you've exported your mesh, go back to Volcanic and reach back the 3D debug window, click on Use Custom on the bottom left and then select Import OBJ:
    unknown.png

    Select your mesh in the window pop up. If everything was done correctly, the mesh should appear nice and even. There! You've successfully remeshed an object.

    To share it, reach C:\Program Files\Maxis\FreeSO\Content\MeshReplace and look for the files you've just created, which are, in my case:
    unknown.png
 
Last edited:
HOW TO FIX ALPHA ISSUES: THE ULTIMATE PROCESS
In the object remeshed in the tutorial you might have noticed an alpha texture part, the little flour spill:
unknown.png

While this might look for now that our faces are still not triangulated, this is how it looks when we triangulate the faces using the shortcut CTRL + T:
unknown.png

The triangulation ruined the alpha effect with some clipping issues. This would transfer over the game too. So, before exporting your OBJ, you wanna follow this process:
https://streamable.com/k6zcm
What i did in the video:
- i separated the alpha part off the object, i exited edit mode, i deselect everything, i then selected FIRST the alpha flour and as SECOND the tray, and used the shortcut CTRL + J to join them back together and the issue was fixed. This works for every game, especially when the game has backface culling enabled. Since freeso does not have backface culling yet, it will only work best for flat alpha surfaces or generally one side alphas.
 
Guidelines for a Game-Ready mesh;
Introduction: FreeSO is an online game, which means you are supposed to use the least resources possible in order to avoid lag for users with less powerful machines. Remeshes are made up of 2 things, a mesh and a texture, let's see how those should be created in order to make a successful game-ready remesh.
  • Textures: Textures for games should be made following multiples of 2. The industry standard sizings are 128x128, 256x256, 512x512, 1024x1024, 2048x2048 and also combinations of these togerher (rectangular textures are a thing, yes). Generally, you should never go over 512x512 unless it's a bigger object. Example cases in which it's acceptable to go over 512x512: a fridge, which is a big appliance with a lot of clutter inside which can require a bigger texture for acceptable detail, but still not a 2048 texture. Example in which it's acceptable to make a 2048x2048 texture: a building facade, a collection of many objects all together in the same mesh, a painting or interactive object with a map or an image that needs to be showcased in the maximum detail possible. Decorative paintings do not apply to this category since they don't serve an essential function to the game and do not require the art to be ultra HD.
  • if you're baking a texture, don't forget to increase the render samples before baking your final texture!
  • Meshes: It's hard to define how many polygons (or tris) a mesh should have because there are many exception to the rule. Generally, you want to go under the amount of tris the generated mesh by FreeSO had. It's also adviced to remove as many polygons as possible that do not add significant detail, like a very high poly bevel. When it comes to cylinders, for example, it's usually acceptable to have 16 polygons instead of the default 32 for a 1 tile object like a cooking pot or a food processor. So, it's ok to remove as many polygons as possible as long as a mesh still resembles what it's meant to be.
 
Last edited:
Back
Top