1. Yes, but it goes for every resource (every texture, mesh, tuning, etc, not just a package). The developer once mentioned that the package identifier appears in multiple places, so changing it manually is not reasonable.
You can use a hash generator when adding new resources, but it’s best to let s4s handle it in any other situation
3. We have
a very detailed tutorial series on this subject, but the author uses an old version of blender. I looked at some videos on youtube and they either use old blender as well or/and do things incorrectly
This is pretty easy, here's an example with some commands you should know:
- find a similar object, clone it, export lod0, open;
- there will be a shadow plane and an object itself. They have different cut numbers. Your final blend must be structured the same: two meshgroups with corresponding cuts;
- select and hide the shadow plane;
- change shading to Solid and color to Material;
- you can go ahead and create a plane in Object mode, but it is more practical to do it in Edit mode. This way its transforms will stay at 0 values and it will inherit a vertex group and a uv map name ( so that you wont have to create and rename them). So select a maxis painting and switch to Edit mode;
- Add - Mesh - Plane;
- S to scale, G to move, R to rotate. Following these commands with axes modifies the mesh horizontally ( X ), vertically ( Z ) or in depth ( Y ). Following them with a number modifies the mesh by that number. For example, you can rotate the plane by 90 degrees along X axis when you create it, or you can create it and then press R X 90 to rotate it. You can move it by 1 vertically with G Z 1. You can shrink it with S X 0.7;
- once done, Select - Invert, Delete - Faces to remove the original painting;
- switch to orthographic ( NUM5) front (NUM1) view;
- select your plane again, Faces - Inset, type in 0.1 ( you dont have to type in 0, just .1 will do. You can also see Inset in the side panel). This will add an even frame;
- switch to the side view ( NUM3);
- invert the selection again, Faces - Extrude faces, type in 0.05;
- Alt-click on the border edge loop at the back and press F to close this hole ( Faces - Fill ). You'll notice that now the front of the painting clips into the back. With the back selected, G Y 0.04;
- To make the mesh look less angular, you can bevel sharp edges at the front. Select one with Alt, hold Shift, select the second one. Edges - Bevel, type in 0.01. Add 3 segments;
- once done with modelling, its time to mark seams and unwrap. This is something that you should always do manually, not with Smart unwrapping, for it will give you much better results;
- start with the front and the back. Select both and UV - Mark seam;
- select everything with A and UV - Unwrap. You can delete a pic from the background before doing it;
- Okay, so it is not bad, but it could be better. Bigger uvs = better texture quality. Right now you have a lot of free space that is being wasted on nothing. You could utilize it more efficiently by splitting the frame in more uv islands. Alt-click on one side, Select - Select loops - Select rings to select others, mark them, then select everything and unwrap again;
- now lets use logic. Does it make sense for one side of the frame to be of better quality than other 3? No, so we leave them of even size. Does it make sense for the side that is facing the wall to be of good quality? No, so we can make it smaller. The painting, on the other hand, is a priority, it should be of the best quality possible, so you can make it extra big. Notice that i added some space between every uv island and the border of the uv space to prevent textures from bleeding into each other;
- select everything with A and Faces - Shade smooth. Dark shadows will appear. This is how your mesh will look like in-game unless you split those edges where shadows are. You can do it manually ( by selecting and Mesh - Split - Faces by edges), but since this object is angular, it can be done faster with the modifier. Add Edge split, change angle to 85, apply;
- as for adaption, since we started from an existing meshgroup, we already have transformBone. You just need to assign your object to it, so select it with A and click on Assign;
- uv_1 needs to match uv_0. Select uv_1, delete with -, then click on +, rename the second to uv_1;
- since you started from an existing object, your painting already has a correct cut;
- unhide the shadow plane and change shading back to Material preview. Select the shadow plane and switch to Edit mode;
- enable X-ray, press B, select vertices at the top, press G Z and move them to match the frame
- save the file and import it back into the package
Baking a diffuse texture:
- select the painting;
- expand the timeline, switch it to Shader editor;
- remove the existing material and create a new one;
- click on Add, then type in Image texture in the search bar, add this node, but do not plug it anywhere;
- click on New and create a new image;
- keep this node selected;
- switch to Render tab, choose Cycles, choose GPU if available ( if not, leave as it );
- set samples under Render to 500, Light paths to 1;
- Expand bake, choose Ambient occlusion, bake;
- Image - Save as, import in s4s;
Other map: its not a big deal if your object does not have proper specular or normal maps, just make sure to replace them with blank ones. If you want to make proper ones, look up ts4 specific videos on youtube on this matter
LODs:
- open your blend, you can select and Delete - dissolve those edge loops you created with Bevel. In more complex situations, you can use Decimate modifier. So just do that and save the blend under a different name, then replace lod1 and others with it;
Shadow maps:
- open your LOD0 blend, delete a shadow plane, change the painting's cut to 0;
- delete uv_0;
- save under a new name, replace the original ones