Jump to content

Is it possible to swap the material of multiple static objects at once to a custom material?


Recommended Posts

Hello all! I'm working on a mod that will essentially have several sets of letters in different colours and styles for the Workshop. However, the most tedious and lengthy part of this project has probably been copying the previous set of letters to reassign the materials of each individual character to the new material colour and renaming them one by one. Is there a way to speed up this process at all? I know in the reference window you can select multiple items and use shift + alt + scroll to swap which basegame material it uses, but that doesn't seem to work for my custom materials and I think it only changes the objects placed in the world rather than the actual static forms.

Thanks very much for any help and advice!

Link to comment
Share on other sites

Renaming multiple copies in the CK is fast and easy. For instance, if you have a complete set of letters named something like "MyMod_LetterA_Blue, MyMod_LetterB_Blue...etc", and copies of the entire set with the names "MyMod_LetterA_BlueCOPY0000, MyMod_LetterB_BlueCOPY0000,,,", select all the copies, right click and select Rename. In the Rename Form(s) pop-up box, under Search enter BlueCOPY0000, then under Replace enter  Red. All your copies will then be named "MyMod_LetterA_Red, MyMod_LetterB_Red...". Then its just a matter of applying your material swaps.  Since the copies have all been renamed, you will not have to deal with the pop-ups asking if you want to create a new form and whatnot when you go to edit them.

As far as quickly applying material swaps, you're better off doing that in FO4Edit. Any kind of mass editing which in the CK would require selecting each object one at a time, waiting for them to open, navigating to which value you want to change...etc, FO4Edit is much, much quicker to use.  This is how I would do it. With my full set of copied and renamed letters (and yes, I have made letter sets as well) in the CK, I would apply a material swap to one of them, save my plugin, and exit the CK. Then I'd open my plugin in FO4Edit. Expand the category my letters are saved as in the left hand panel, most likely under "static" and find the form I applied the mat swap to in the CK. Select the mat swapped letter and in the right hand panel all the various properties and values appear for that form.  Expand the Model tab, and within that expanded list, second to last, there's the record "MODS - Material Swap". Since I rarely go to the trouble of making actual Mat Swap forms in the CK and just apply custom material swaps, the value to right of the "MODS - Material Swap" record might look something like "CustomMaterialSwap0700DCCA [MSWP:0200DCCC]". Right clicking that value with give me to option apply an edit. Select edit, and a pop-up appears with that info highlighted. Copy the value. You actually do not have to copy the entire string, just the "[MSWP:0200DCCC]" part, but copying the entire string works as well. 

Now, since the rest of your copied letters do not have a material swap applied, when you expand the Model tab on each form, the "MODS - Material Swap" record will be greyed out. Right click the empty space to the right of the greyed "MODS - Material Swap" and select Add "Material Swap". The "MODS - Material Swap" record now appears in  bold text, as well as a value of "NULL - Null Reference [00000000]", also in bold text. Any time you edit a form in FO4Edit, the info in the left hand panel will display bold text as well as any edits in the right hand panel for that form. Nice feature to let you know what you've edited. Right click the "NULL - Null Reference [00000000]", select edit, and paste the value you copied from you previously mat swapped letter. If you'd only copied the "[MSWP:0200DCCC]" part, you do not have to select only the "[00000000]" part of the Null value. Just paste it into the window and once you hit enter, FO4Edit will populate the value with the entire "CustomMaterialSwap0700DCCA [MSWP:0200DCCC]" string. Rinse and repeat.

There are even faster ways to do this in FO4Edit by utilizing scripts, but if you're unfamiliar with the application, you might want to stick with the method I've just described.  However, if you're interested in going the script route, this is a great tutorial for learning to use the Automation Tools scripts for FO4Edit. AT scripts allow you to export a .csv file (spread sheet) containing the record info you intend to edit for several forms all at once. You can then edit that info in your favorite spread sheet app, save it, then Import that .csv back into FO4Edit to apply your edits to all your forms at once. You still have to do the Add "Material Swap" thing to each form first, but in the end, this method can shave another 30 minutes or more off the entire process.

Even going with the one-at-a-time method is a lot faster than trudging through the same process in the CK. 

Hope this helps.

Link to comment
Share on other sites

You are an absolute SAINT, thank you so much! 😄

I think the naming convention I've gone with might have been a mistake -  the mod I want to make is called 'This Is Your Sign', so I've been going with for example 'TIYSFont1WoodBlackPaintA' when it seems like for this method I should have been going 'TIYSFont1_A_Wood_BlackPaint' so I can then swap with the search and replace to Red, or down the line maybe even Metal_Red or such, while keeping the letter or number intact. Do you think there's a way to correct my current naming convention similarly using the search and replace? If not I think I'll still go back and do so manually which would be a bit of a pain, but I think well worth it for making future sets much easier. I'll also try implementing the material edits that way in F04edit which sounds like much less hassle, and take a peek at the video. Thank you again so, so much for your help!

This is what I have done so far. (Just an example, all the colours have the full character set for that particular font in wood now.) I'm hoping to do three different font styles in the full array of colours here, ideally in wooden, metal and painted textures, but I'll have to see how far I can stick with it. Your advice should help immensely!

(Also, I apologize if any of this is a bit sloppily written or if I'm asking a dumb question about fixing my mistakes, I've got a bad flu right now which is great for letting me stay home and mod, not so great for the brainpower sometimes. P: )

image.png?ex=674019b2&is=673ec832&hm=c5bd9d85c28496570f6f5f1af6d9d7a8130aae1478400b01496ec6c194da2c02&=

Edited by QuillweaveMods
Added information
Link to comment
Share on other sites

I'm glad to help. The naming convention thing can sometimes come back to bite you in the backside, yes. You can swap out any bits of the name(s) with search and replace, in case you want to revamp an entire set of forms. It just takes a few more steps. I've never done it in FO4Edit, but my guess is it's just as easy as with the material swap example.  I've just made a habit of naming things I know I'll be making copies of so that I only have to search/replace the bit at the end. That's probably the one thing the CK can do faster that FO4Edit. A lot of times, If I'm making  several sets of something, I won't even give the original set a specifically replaceable suffix. 

Using another letter set as an example. I'll name the original set "MyMod_BigLetterA, MyMod_BigLetterB...". Then, when I copy that set, all I do is search/replace "COPY0000" with something like "_Green". Just remember that the original is the one without the suffix. Another tip when naming...underscore is your friend. Really makes it easy to recognize and differentiate forms at a glance, and makes renaming a bit easier.

Also, if you're search/replacing something in the middle of your name, and are still left with the "COPY0000" at the end, if you search/replace a second time, search "COPY0000" and leave replace blank. That will eliminate the part you don't want.

BTW, those letters look fantastic.

 

Edit: I'm just gonna throw this out there. If you run into a situation OUTSIDE of the CK, outside of anything to do with modding, where you need to rename a bunch of files as quickly as renaming forms in the CK, I found a FANTASTIC app called Bulk Rename Utility, that really, really puts the search/replace thing to shame. I do a lot of animation that involves creating hundreds of image files and sometimes I'll need to rename 500-600 (or more) as quickly as possible. This app has saved me SO much time and has so many more options than just a simple search and replace.

Link to comment
Share on other sites

Sorry it took me so long to reply, but I wanted to show just how much faster I've been able to work with your help! I've now got all the wood painted set for the second font loaded in, and your advice was absolutely invaluable. 😄 Thank you, thank you, THANK you! I feel so much more confident now about being able to see this through the way I pictured. Would it be okay if when I hopefully release the mod I thanked you in the description for your help? If you'd rather not of course I totally understand, I'm just so grateful and excited to be able to keep moving now that this has sped up so much. Thank you again!

image.thumb.png.00196df090ec022547bfce6bd64356c9.png

Link to comment
Share on other sites

A little tip for moving the color to the end of the editor ID: in FO4Edit you can press ctrl+D for the option to search and replace, add a prefix, or add a suffix. That can be applied to name and editor ID (and other things that escape me at the moment). Super useful.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...