SteamRoller

14 votes
Version: 
v1.72
Date Updated: 
10/05/2018

Steamroller unwraps every objects in a selection using Max's built-in flatten function based on the specified parameters. Steamroller is mainly intended as a quick and dirty method of quickly unwrapping lightmap UVs on large sets of objects, similar to the automatic unwrap in Render to Texture.

To install, run the macroscript (.mcr) or drag the file into the viewport, then go to Customize > Customize User Interface. On the toolbars tab, select "# SmallpolyScripts" from the category and drag Steamroller onto a toolbar to create a button. 

Rollout Screenshot

Upcoming features:
- Ability to repack UVs using the Non-Convex packing method
- UV channel swapping
- Updating real world scale after editing geometry

Additional Info: 

/*
Author: Michael Vladimir Nicolayeff (SmallPoly)
Email: SmallPolyArtist @ gmail.com
Social Media: http://tiny.cc/SmallPoly_SocialMedia

Change Log:
v1.72 - 2018.10.05
- Reflatten overlaps is now off by default.
v1.71 - 2018.09.18
- Added installation instructions back onto Scriptspot page.
- Added an installation instruction popup to the script that runs when the .MCR is first ran/dragged onto the viewport.
v1.7 - 2018.06.18
- Reflatten Overlaps option is now implemented. When active, this option detects overlapped faces, unwraps with an angle of 0.001, and repacks using the parameters supplied for the unwrap.
- Minor text fixes
v1.6 - 2018.06.15
- Settings are now saved when closing and loaded when opening for the duration of the Max session.
- Beta UV Tools now pops up to the right of SteamRoller instead of directly on top.
- Fixed a bug that was preventing unwrap when the face selection was being carried over
- Switched UV tools to a check button to allow obvious toggling
- UV tools now closes with steamroller
- UV tools now moves with steamroller (currently, as a fixed position)
- Added UV channel suffixes to allow unwrapping to multiple channels.
v1.5 - 2018.05.11
- Chaning spacing default to 0.001 to match Max defaults
- Adding Normalize clusters, rotate clusters, and fill holes. Thanks to Teriander for the suggestion.
- Added tools to quickly view the first several UV channels, among other things
v1.3 - 2018.02.19
- Hunting down a bug that is causing unwraps to fail when "by selection" is disabled.
v1.3 - 2018.02.07
- Bugfix for a case where some of the geometry wouldn't be unwrapped.
v1.2 - 2018.02.06
- Fixed the instance problem by using a custom unwrapper name and checking for it.
- The applied modifier is now called "SteamRoller_UVW"
- The modifier has also opened up an easy way to clear the unwrappers and check for them before flattening.
v1.1 - 2018.02.02 - Working on instance fix. Making script category consistent. May be doing some fixes soon.
v1.0 - 2014.06.27 - Initial Version

Unsolved Issues:
- Render UVWs has some really weird quirks. Something also keeps it from closing.
*/

Version Requirement: 
3ds Max 2017+
AttachmentSize
sp_steamroller_v1.7.jpg175.34 KB
sp_steamroller_v1.72.mcr18.85 KB

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
GTARandom's picture

Unwrapping still partially broken...

Hi Smallpoly,

do you still have the first released version of this script, if you do, can you please send it? If you do not, i would at least like you to send the most recent one but with unwrapper fixes.

Reason i am saying this is that the currently available version here is not functioning fully correct as it applied unwrapping only to some models in the scene instead of all, i tried selecting all with the option enabled in SR and it didn't help anything...

Please send it as soon as you can because i can't find the old version i had as i didn't foresee there would this issue that i am facing now.

Thanks for you time and effort,
-Filip

Woggy Design portfolio: https://www.woggydesign.com

Smallpoly's picture

1.3 - Whoops. Unwrap bug is fixed now.

Hey guys. I added some new features in version 1.2, and fixed the long-standing instancing bug where modifiers would be duplicated on instanced objects, but in the process also managed to introduce a bug that could prevent models from unwrapping at all. Kind of bad for a tool that does just one thing.

It's fixed now, so I'm glad that's taken care of. I hope you all find this script as convenient to use as I do when working on my models.

- Smallpoly

Smallpoly's picture

New Update! 2018-02-02

Just a minor update to this one - I've been switching my scripts back to a single category, in this case "# SmallpolyScripts", and have been adding update checker links to most of the things with UIs so it'll be easy to quickly check whether there's a new version. I don't have a way of pushing update notices automatically, but this should at least be slightly more convenient than a google search.

As usual I have a ton of both paid and personal projects going on at any given time, so I try not to make promises about any kind of regular release schedule. However, I do have the instance bug on my mind, so that'll be the next thing tackled here.

Take care!

Smallpoly's picture

File to Download

You should see a list of files on this page below the description. The one you want is "sp_steamroller.mcr". If it seems to open up as text, then right click and use "Save As".

Gloy's picture

how to download?

Cant seem to download the file?

Smallpoly's picture

Hi bugmenot. The script uses

Hi bugmenot. The script uses max's built in unwrap under the hood so it should work for anything that the standard one works for.

The main things to watch out for are:
1. Very high poly objects (e.g. 100,000 +), which always take a long time, and can appear to not be responding. You can usually tell if it's actually stuck or not by going into the windows task manager and seeing if the CPU is still active on Max. If it is, then it's not really stuck and should finished eventually.
2. Instanced objects, as Steamroller does not currently account for instancing when unwrapping. This means that they'll end up unwrapping again for each instance and you'll end up with a stack of several unwraps on your model.

If both situations are combined, i.e. you have a lot of instanced high poly objects in your scene, then that would be a case where an unwrap could take a very long time to finish. The solution would be to reduce polygons beforehand and use the "by selection" feature to do only one object per set of instanced objects.

bugmenot's picture

Get's stuck and not respoding.

When I am using this script,it get stuck at 52% and I am getting not responding message.

deyaah's picture

thanks

thanks

Smallpoly's picture

Not sure why

Sorry, but it's tough for me to say. I primarily work in a different engine so I don't know what requirements Unreal has for it's UVs to come through.

This works the same way as Max's standard unwrap UVW modifier, so if it shows up on the object it should also show up in an export anytime doing it manually would.

You may be able to to get some more info on why UVs wouldn't come through by asking on an unreal-specific forum about what could cause that issue.

As for models not showing up, it should work on any geometry that has editable poly, mesh or patch as its base type, regardless of the modifiers on top of it.

There's a known issue where doesn't check for instances, but that just results in duplication of the modifier rather than not showing up at all.

aegstuff's picture

SteamRoller Unwraps Some, But Some Not...

First of all, thanks for putting together the SteamRoller script as it is both a life AND time saver! I am having some issues with some meshes that I run the script on though. Some meshes are just fine and I see the flattened and unrapped lightmap information in UE4.12.5 just fine. On the problem meshes, I see no flattened and uwrapped channel info even though I see this info in 3ds Max. In Max, diffuse maps/materials are on channel 1 (0 in UE4). When I use the SteamRoller script, flattened and uwrapped information is on channel 3 (2 in UE4) in the Max dialog. This works just fine for some 3d models without a hitch. On the problem meshes, there is no flattened and unwrapped information on channel 2 (3 in Max/SteamRoller) or any UV information whatsoever. Why does this work on some meshes and not on others? Some of the 3d models are not "dumbed down" - saved as meshes or editable polys in Max. Does this affect what the script is doing? I thought exporting to FBX removes any information that is in the modifier stack on models still being modified. Your help and the help of others is greatly appreciated in advance. THX

AttachmentSize
2016_0819_uvs-1.jpg 369.09 KB
2016_0819_uvs-2.jpg 461.14 KB
2016_0819_uvs-3.jpg 32.51 KB

Art Garcia
Seattle

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.