FiftyTifty Posted May 28, 2017 Share Posted May 28, 2017 (edited) Now that I've made a properly working .sclp creator, along with Zilav's .sclp import script for FO4Edit, I ought to get this info noted for posterity. What are SCLP Files? SCLP files are simple, plain text files that have XYZ scaling values for certain bones. The bigger the values, the larger the triangles that use them. The smaller the values, the smaller the triangles. If you pay attention when swapping under armour, such as the vault suit and raider leathers, your equipped armor pieces will change in size. This is due to the difference in bone scales. The bones that are used by the engine, to scale armour pieces over underarmour, are denoted with the suffix _skin. Other bones should not be added to the .sclp file. How does the game use SCLP Files? The .sclp files themselves are not used by the game at runtime. Instead, they are added to armor addon records ahead of time. The .sclp file's data gets imported to an .esp/.esm file, through the Creation Kit or FO4Edit. How to create SCLP Files It's actually fairly simple. As I use 3ds Max, I can't guarantee that other 3D packages will export the bone data as text in the same format. Other users would have to see for themselves and report back. Install the nif import plugin for 3ds Max 2015/2016. Note that if your 3ds Max install is in a folder other than C:\Program Files\Autodesk\..., the installer will place the plugin there anyway. Simply cut and paste it to where your actual install is located. The link: https://github.com/figment/max_nif_plugin/releases Load 3ds Max, and the following .nif files in order: - Skeleton.nif - The nif file for the outfit, uncheck importing the skeleton when prompted. - The nif files for a full set of heavy armour, also without importing the skeleton. For example, import these files for a full set of heavy metal armour: FArmL_Heavy_1.nif, FArmR_Heavy_1.nif, FLegL_Heavy_1.nif, FLegR_Heavy_1.nif, & FToroso_Heavy_1.nif Once imported, select the outfit and collapse the skin modifier (modifier list -> right-click Skin -> Collapse to). This avoids the outfit from being scaled. I also recommend freezing the outfit object. Before you modify the scales, be sure to select all of the skeleton bones and export them as an ASCII file (.ase). This gives us the default, un-modified values for the bones. These will later be compared to the modified bones. You only need to export the unmodified skeleton once. Use the following settings when exporting: Remember to often export and import the data into the game, so you can see what will need fine-tuned in 3ds Max. Now use my program to generate a .sclp file, from the source .ase file (the unmodified skeleton), and the modified .ase file (modified skeleton). You need only download the .exe from here: https://github.com/MajinCry/Fallout-4-SCLP-From-ASE Use this Fo4Edit script by Zilav to import the .sclp file to an armor addon record in Fo4Edit. : https://pastebin.com/raw/0SWSbm04 ~Fin~ Bugs and pitfalls 1. The first big caveat, is that the Creation Kit's SCLP importer is broken. Don't use it, it messes up the values for certain bones. 2. The second, is that there are particular scaling bones that armour pieces use, but are ignored by the engine. Certain scales are also ignored for some bones. I'll update the list as I discover them. An asterisk indicates the bone itself is ignored, #0 means the Z scale is ignored, #1 = Y scale, #2 = X scale. Suffixed is where on the body they affect: ==Legs== LLeg_Calf_Low_skin - [#0] - (Low Infl) Middle Of Calf + Shin RLeg_Calf_Low_skin - [#0] - (Low Infl) Middle Of Calf + Shin LLeg_Calf_skin - [#0] - (Low Infl) Top Of Knee + Calf + (Low Infl) Top Of Shin RLeg_Calf_skin - [#0] - (Low Infl) Top Of Knee + Calf + (Low Infl) Top Of Shin LLeg_Thigh_Fat_skin - [#0] - (Low Infl) Bottom Of Thigh + (Med Infl) Top Of Knee + (Low Infl) Middle Of Knee RLeg_Thigh_Fat_skin - [#0] - (Low Infl) Bottom Of Thigh + (Med Infl) Top Of Knee + (Low Infl) Middle Of Knee LLeg_Thigh_Low_skin - [#0] - (Low Infl) Top Of Thigh + (Med Infl) Middle of Thigh + Bottom of Thigh + (Low Infl) Top Of Knee RLeg_Thigh_Low_skin - [#0] - (Low Infl) Top Of Thigh + (Med Infl) Middle of Thigh + Bottom of Thigh + (Low Infl) Top Of Knee LLeg_Thigh_skin - [#0] - (Low Infl) Bottom Of Hip + Thigh + (Low Infl) Bottom Of Thigh RLeg_Thigh_skin - [#0] - (Low Infl) Bottom Of Hip + Thigh + (Low Infl) Bottom Of Thigh ==Torso== RButtFat_skin - [#0] - Butt LButtFat_skin - [#0] - Butt Pelvis_Rear_skin - [#0] - Back Of Groin + Back Of Hips + Buttocks Pelvis_skin - [#0] - Lower Abdomen + Side Of Hips + Groin Belly_skin - [#0] - Bottom Of Ribcage + Side Of Waist + Top Of Groin Spine1_skin - [#0] - Bottom Of Ribcage + Waist + Groin + Top Of Thighs Spine1_Rear_skin - [#0] - Side Of Wasit + Below Ribcage + Middle Of Butt Spine2_skin - [#0] - Middle Of Pecs + Bottom Of Armpits + Ribcage + Middle Of Belly Spine2_Rear_skin - [#0] - Below Shoulder Blades + Bottom Of Armpits + Top Of Butt UpperBelly_skin - [#0] - Bottom Of Pecs + Bottom Of Ribcage Chest_Rear_Skin - [#0] - Shoulder Blades + Back of Armpits Chest_skin - [#0] - Pectorals + Armpit + Front Of Neck LBreast_skin - [#0] (#2 = Z) - Breast + Top Of Shoulder RBreast_skin - [#0] (#2 = Z) - Breast + Top Of Shoulder Chest_Upper_skin - [#0] - Pecs Neck_Low_skin - [#0] - (Low Infl) Side Of Neck + Back Of Neck + Middle Of Shoulder Blades Neck_skin - [#0] - Neck + Scalene Muscles Neck1_skin - [#0] - (Low Infl) Side Of Neck + (Low Infl) Back Of Neck ==Arms== RArm_UpperTwist1_skin - [#0] - Shoulder LArm_UpperTwist1_skin - [#0] - Shoulder RArm_UpperTwist2_skin - [#0] - Whole Bicep LArm_UpperTwist2_skin - [#0] - Whole Bicep RArm_UpperArm_skin - [#0] - Upper Elbow + Lower Bicep LArm_UpperArm_skin - [#0] - Upper Elbow + Lower Bicep RArm_ForeArm1_skin - [#0] - Whole Elbow LArm_ForeArm1_skin - [#0] - Whole Elbow RArm_ForeArm2_skin - [#0] - Lower Elbow LArm_ForeArm2_skin - [#0] - Lower Elbow RArm_ForeArm3_skin - [#0] - Forearm + Wrist LArm_ForeArm3_skin - [#0] - Forearm + Wrist RArm_Collarbone_skin - [#0] (#1 = Y Axis, #2 = Z Axis) - Nipple + Side Of Neck + Shoulder Blade + Back Of Ribcage LArm_Collarbone_skin - [#0] (#1 = Y Axis, #2 = Z Axis) - Nipple + Side Of Neck + Shoulder Blade + Back Of Ribcage RArm_UpperFat_skin - [*] LArm_UpperFat_skin - [*] 3. There is a discrepancy between the bone scaling you see in 3ds Max, and the game itself. Possibly due to the race records containing bone scaling data (as well as rotation & position data) themselves, but that's just a guess. To demonstrate, compare the armour pieces in these two images: As a result, you must often compare the modified scaling data between 3ds Max & Fallout 4, as you go through the _skin bones. 5. Fallout's XYZ axis are different from 3ds Max's. In the bone data for the ARMA record, Value #0 = Z. Value #1 = Y. Value #2 = X. Edited June 1, 2017 by FiftyTifty Link to comment Share on other sites More sharing options...
FiftyTifty Posted May 28, 2017 Author Share Posted May 28, 2017 Update: Went through every _skin bone, in order to determine precisely which parts of the mesh they affect. Main post has the complete list. Link to comment Share on other sites More sharing options...
SenorSliceyHands Posted June 1, 2017 Share Posted June 1, 2017 Dang, nice! Don't suppose you have any plans to release a mod like this for the Vanilla/DLC layered armor sets do you?I may try my hand at resizing a single piece of armor I've always wanted to fit over a particular piece of clothing, but if you've got something in the works already... Link to comment Share on other sites More sharing options...
SQr17 Posted December 10, 2017 Share Posted December 10, 2017 Great work. Unfortunately, I can't seem to get your tool to work. Opening up the .exe in notepad shows only this '../../Visual Studio 2010/Projects/Fallout 4 - SCLP From ASE/Fallout 4 - SCLP From ASE/bin/Release/Fallout 4 - SCLP From ASE.exe'. Link to comment Share on other sites More sharing options...
FiftyTifty Posted December 11, 2017 Author Share Posted December 11, 2017 (edited) Why are you opening the .exe with notepad? Edit: Oh, for some reason, the .exe I provided in the Github is f*#@ed. Eh. If you compile it in Visual Studio, it should work. I'll change that in a wee bit. Edited December 11, 2017 by FiftyTifty Link to comment Share on other sites More sharing options...
Recommended Posts