Home Technical Talk

Vertex Normal Toolkit for 3ds max

scgstudio
polycounter lvl 5
Offline / Send Message
scgstudio polycounter lvl 5
Hello :)
I would like to show you a script which allows to generate, manipulate and align vertex normals.
Everything is based on layer system.
It has 3 different generation algorithms:1. topology based2. using projection gizmo3. projection normals from other mesh ( transfer normals )Every mesh can be divided into up to 7 layers and each 'normal' layer can be calculated independently.




under this link is short description video about this script:
https://www.youtube.com/watch?v=Sy47E5cWTDA
under this link there is a tutorial how it works and how to use it:
https://youtu.be/o31PbWjFcs8
Probably it is too long but I wanted to show whole setup process.
Link to store:
https://gumroad.com/l/VertexNormalToolkit
Adam

Replies

  • Naxos
    Offline / Send Message
    Naxos polycounter lvl 3
    What a great tool !! Congrats !!!
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    Thank you, I'm really glad you like it :smile:
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Looks good! Where can one test it?
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    Well... there is no 'test' or lite version. If you have any doubts about potential result ( which I fully understand ) this is what I would do :
    1. wait for opinions those who bought it already
    2. 'believe' it is working, and believe me... it is :)
    3. send me a mesh ( if it is possible of course :) ) and I will prepare it for you and send back so you will see what result you may expect. If you will, make sure it will be challenging. And that's good in my opinion way of making you sure it is working as expected.
    4. Use other available tools :)
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Well, you haven't even included a link to a store or anything.. ;)
  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    Congrats on the release!
    But like cptSwing said; If you want to sell it you should probably post a link to where it's being sold ;)
    I checked the website listed on your profile but it just shows an "Internal Server Error" message.
  • monster
    Offline / Send Message
    monster polycounter
    I sleuthed the link: https://gumroad.com/l/VertexNormalToolkit

    If you go to the YouTube video page he has all info in there. Including example models.
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    First post updated :)
    My apologies for missing this information but I didn't wanted to throw the 'price in your face' in my first first post here ;)
    Thanks you PolyHertz !
    My website... I didn't established any....... shame on me...
    I will add more models over time to try to convince unconvinced :)
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    It certainly looks useful, I had only skipped through the video before today. I'm not clear on some things.. so it basically does what regular FWN scripts do as well (first example, the box with dimples), it combines this with a Normal-Thief-like function to transfer normals from other meshes, and what does the projection do, how are the sphere/cylinder etc meshes generated? Also, how do you define the layers, in the script or by smoothing group in the input mesh? Can it store the edited normals in the modifier stack (like many of the FWN scripts, using Edit Normals on top of an Edit Mesh etc)?

    Looks good either way!
  • airbrush
    Offline / Send Message
    airbrush polycounter lvl 13
    Hi,

    Purchased your script. Finding it a little difficult to use, i would suggest to have tooltips for all of the buttons, its very unclear what they all do.

    Some kind of quick start/reference guide would be good to have.

    video way too long(even at 1.5 speed), needs to be simplified

    thanks

  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    "so it basically does what regular IFWN scripts do as well (first example, the box with dimples)"
    result is the same, but it is doing it in a completely different way. IFWN always takes mesh as a whole, calculates normals direction based on angle and face size and if face is bigger, it receives whole normal information.
    "the box with dimples"

    left IFWN right VNT. Well... what can I say... Just download examples and compare...
    VNT - take polys from given layer and calculates normals only for this part of the mesh. This way, normals can be calculated not as topology is determining but as user would like to have it. Try to use IFWN on any ball attached to youtube videos. you will see the difference.

    Those balls image above were not calculated using IFWN, just last example was calculated using VNT.




    Left IFWN right VNT.
    I'm sorry if IFWN author will read it, but I do not have any negative intentions. And this post is NOT intended to diminish any value which IFWN definitely has. It is just pure synthetic comparison :)
    I bought IFWN and it was not possible to recreate the same or even similar result like on the right. Sometimes script must be 'smarter' than topology ;) Thin and long triangles are the main killers if it comes to managing normals on the mesh. As I said, topology is not enough in many situations...

    "it combines this with a Normal-Thief-like function to transfer normals from other meshes",
    Again result may be the same, but way of doing it is different: In 'thief' you need a HP  ( or other in general ) mesh, which must ( more or less ) be the same as LP mesh, just to transfer normals correctly. And always takes mesh as a whole ( UPDATE! now it can use polygon selection to determine area where normals will be projected). VNT on the other hand since v1.20 is a standalone 'being'. You do not need a 'valid' HP mesh, it can be generated from cone or plane gizmo. It will give you a very consistent mesh which can be further deformed and then  you can use it as a source of normal direction.
     Or you can use any other mesh.  And you do NOT need them as high density object all the time. Script is tessellating it just for the time of transferring normals and then brings density back to low poly. And you can pass this information to selected layer. Also you do not need HP mesh to every part of LP object, just for the area where you would like to use it.
    Not bad as for a 'clunky' script isn't it ?? ;) 


    Sorry if it sounds rude, but if you can make mesh on the left looking like this, using mesh on the right let me know.
    Because I wasn't able to recreate it using any other way than VNT.
    Both of them are free for download to test and compare here:
    https://drive.google.com/drive/folders/1RWkJ1FPILv-Jl3neu-elZxUGbz8lqPNy?usp=sharing
    There are others too, even more complex.

    "what does the projection do, how are the sphere/cylinder etc meshes generated"
    This is the true power of 3ds max. Linking spinners, making one relative to another ( look at https://www.youtube.com/watch?v=jLwanJo5BSE tutorial on youtube, pure osomness ! ) So I used a regular primitive shapes as a reference to make whole alignment easier and as source of initial data  used for normal generation, and the rest is just math :) So gizmo itself is not needed, you can calculate normals without making it active. AND, you can have more than one gizmo at a time. 5 layers ? 5 gizmos, all of them active, and you can quickly iterate through them to get best result possible. This type of "projection" is completely bypassing mesh topology. So you can align normals in any direction you like. This is super useful when topology is uneven, bad as topology can get:

    or is extremely low poly and still you can achieve perfect result.
    The same with arrows. I needed a custom gizmo which direction is pre calculated so user will see where normals from given layer will be pointing at.
    Edit normals modifier is sloooooooooow. So normals must be calculated in a separate pass, when there is no user interaction.

    "how do you define the layers"
    to figure this out it took me 3 months :D Literally day by day of thinking and trying different ways and technical approaches. 
    And through reading max help pages I have found information about polygon, edge and vertex bits. Every sub object has 32 bits of information like: is it selected, visible, inverted, belong to smoothing group, dead, inactive and so on. But max is using only from 1 to 26 bit. Last 7 is not used at all. NOW it is :D So 7 bits - 7 layers.

    "Can it store the edited normals in the modifier stack"
    Short answer is - no.
    Longer answer : if mesh is calculated as a whole at once, yes, you can store normal information in last used modifier Edit normals.
    But 3ds max has only three ( four ? )  possible places where explicit normals are preserved. Editable poly, editable mesh and edit normals ( edit mesh ). Two of them (edit and editable mesh ) are NOT storing mentioned bit information. Especially those last 7. So I cannot use it because whole layer setup is completely lost.
    So the other two left only. Because whole layer system relies on polygon assignment I need a constant access to this subobject type.
    This is why you can switch between layer setup and regular view at any time. This also makes possible to calculate normals in any order you wish. And with each calculation previous result is preserved. I could keep this result ( probably ) in separate edit normals modifier but I do not see a bigger difference. And it would make more complex script than it is needed. Why you would need 7 edit normals modifiers ?
    So yeah. Main idea with layers disables possibility to keep whole modifier stack intact.
    And some prons:
    - setup whole object takes more time than just select and press one button.
    - even simple object to look really good require some setup, some polygons assigned to layer 

    This script is NOT meant to be efficient while dealing with simple meshes. It is written to provide AAA shading quality to any mesh you can model. If you will find an example where this script cannot give you the result you require, let me know.
    This is why I was asking for challenging object, where 'there is no hope' for good result ;)

    P.S. 1
    If you wan't more it is a good idea to watch 'looooong' video. All I have written here is explained there while presenting ways of using this script and methods it gives.
    P.S. 2
    In case you need some 'unbiased' opinions, under the long video there are few comments from people which bought it. Ask them :)

    "Looks good either way!"
    Thank you very very much :)
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    airbrush said:
    Hi,

    Purchased your script. Finding it a little difficult to use, i would suggest to have tooltips for all of the buttons, its very unclear what they all do.

    Some kind of quick start/reference guide would be good to have.

    video way too long(even at 1.5 speed), needs to be simplified

    thanks

    Hi airbrush.
    I have added tooltips at some point and they flooded whole UI. So I removed them :)
    I will add an option to turn them on/off in settings. But not during next few days, sorry.
    There is much shorter one:
    https://www.youtube.com/watch?v=Sy47E5cWTDA
    but it does not explain anything. Just pure 'before after'.
    Script has a lot of options so I thought it will be best if I will describe them in one ( even long ) tutorial.
    But you are right, some sort of pdf guide ( just guessing ) would be appropriate.
    If you will have any problems using it please let me know. I will help with everything I can :)
    Thanks again for your purchase, much appreciated :)
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    While I only understand half of it, it sounds like an impressive technical feat - even though it is very unfortunate that models need to be collapsed with no way out of it technically. I don't have suggestions here since you seem to have thought of everything, except for maybe creating some form of MCG to dump data in? No clue though, my experience with dabbling in MCG has been messy.
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    cptSwing said:
     you seem to have thought of everything, except for maybe creating some form of MCG to dump data in? 
    This time I didn't understood :) 
  • Eric Chadwick
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    ekhm... I know what MCG is ;)
    but how I could use it... rewrite ~4000 lines of maxscript into nodes ?? :D

    as I wrote above, VNT is written in max 2012 because I have a license for this version only.
    And in my case buying ( renting ) a new max version just for MCG is pointless.

  • Eric Chadwick
    I think the ask is to make it more procedural, less permanent. Maybe as a modifier, maybe as a MCG control. But I think that might not really be possible, since normals are so difficult to control (and keep intact!) in 3ds Max's mesh structure.
  • Cathodeus
    Offline / Send Message
    Cathodeus polycounter lvl 15
    Haha that Mcg photo made me laugh to death 😀 I recognize it haha.
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Pretty great work on this. The results are fantastic. I'm going to purchase this just to support your hard work. I agree, though, this tool would greatly benefit from a non-destructive/procedural/modifier approach. I'm going to post this on the Max beta forums as there are a few people on there with a great interest in this particular subject in Max.
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    I think the ask is to make it more procedural, less permanent. Maybe as a modifier, maybe as a MCG control. But I think that might not really be possible, since normals are so difficult to control (and keep intact!) in 3ds Max's mesh structure.
    This is the most retarded part of whole process. Calculated normals are destroyed when any vertex / poly / edge indexing related modifier is applied: edit_poly, face_extrude, chamfer, shell, slice just to name a few. Every deformation based modifier is ok as it is not changing any indexes: bend, all ffds, polyselect and so on...
    Pretty great work on this. The results are fantastic. I'm going to purchase this just to support your hard work. I agree, though, this tool would greatly benefit from a non-destructive/procedural/modifier approach. I'm going to post this on the Max beta forums as there are a few people on there with a great interest in this particular subject in Max.
    Thank you !
    If you do not need this tool, I do not see any reason to buy it, but if you will, thx x 1000 :smile:  
    It is not like I have abandoned procedural / modifier solution completely. Current state is a bunch of trade offs to make it as easy as possible
    ( to do too ;) ) with flexibility not available anywhere else. And to be honest I have a few ideas how to make it non destructive.
    Time and tests will tell.
    If it is possible, could you share a link to this forum? I wonder how it can develop further :)
  • Noors
    Offline / Send Message
    Noors greentooth
    I certainly didn't want to start an ego fight. The more tools, the better. Besides i'm not earning any money. But for the sake of it here's the result with my script :
    It's the same, because, beeing curious, i bought your script before my statement, and we're doing the same thing with basically the same algo. So i can only compete with this functionnality.
    As i said, you had good ideas, you do a lot more than me, automatism, combining with face weigthed normals, creating primitives, layers... so on. But i keep my statement on intuitivity. Destructive workflow will be a no for a lot of users. But the workaround is certainly not easy.
    I keep stacks and work with any type of objects but it's certainly not great for managing a lot of projections.
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    Noors said:
    I certainly didn't want to start an ego fight. The more tools, the better. (...)
    hahaha :) allright... the LAST thing I want is to have any 'fight' which solution is better andwhatnot ! :)
    Indeed... very similar result. I'm aiming to a situation where whole object has only single smoothing group. That's the whole point of mid poly modeling. And if there is no other way to get the desired result using some hard edges.. to support them whenever it is possible.
    And as I wrote, the longer I think the more I need to figure something out to preserve modifier stack intact. somehow...
    And thank you for your support, much appreciated :)
  • monster
    Offline / Send Message
    monster polycounter
    Instead of 7 layers, why not use existing smoothing groups?  Then you can have functionally unlimited amount “layers”. 
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    If you have more than single smoothing group, every next is making hard edges. And having to deal with every split normals on every border between smoothing groups sounds like a bigger task.

    In this case every edge where two or more colors meet I will end up with hard edge.
    There is a way to have smooth groups and at the same time single vertex normals per vertex, but how it is read by engines importers ? What will happen when user will use some hard edges and merging normals will not be possible ? 
    Max bit masks are 100% agnostic in this regard. They exist in max scene only.
    But now, I have single smooth group:

    And the order of calculating normals is like : 

    Calculating normals with single chamfer is easy :
    1. non calculated object, like max wants ;) 2. first is grey layer, 3. then yellow, notice like grey layer is loosing normal information ( green layer looks terrible but it is not time for his layer to calculate, yet ), which is correct. Now yellow takes all. 4. and finally green is overtaking normals only from the edge between yellow and green.
    If yellow layer would be not calculated grey and green layer normals would point in more or less the same direction making whole object look flat.
    So the whole idea is to pass part of the normals from layer to layer in ascending order of importance.
    And the result before and after:

    No hard edge is used.
    And if you have single chamfer is it super easy to recreate normals direction.
    Real fun starts when artist will make chamfer with 3 or more steps... then without proper vertex weighting it is barely possible to make it look good.
    You may wonder why I'm trying to avoid hard edges as possible.
    Every hard edge is a 3d software 'cheat'. Every game engine is splitting vertices for every hard edge. The more smoothing groups you have, the more vertices you will have in the game. So the whole point is to maintain vertex count relatively low while achieving the best light reflections on surfaces like in this example.
    The more curvy shape is, the more details on it like chamfered edges, the harder is to achieve AAA result.
    And this script does exactly that :)
  • monster
    Offline / Send Message
    monster polycounter
    scgstudio said:
    Please let someone correct me if I'm wrong, but every next smoothing group is making hard edges. And having to deal with every split normals on every border between smoothing groups.
    I'm not saying to use the hard edges the smoothing groups create. Just use the bits set per face by the smoothing groups as your layers. Then you have 32 readily available layers (even more if you are just reading the bits set when multiple smoothing groups are set at once). While Explicit Normals are constantly destroyed by Max, smoothing groups are always kept. 

    There may be other reasons smoothing groups won't work. I'm just brainstorming since you mentioned you had a seven layer limit. But honestly 7 is plenty. Even with smoothing groups I'm not sure I've ever used more than 3 or 4.
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    Monster, I have edited my post right after yours, sorry :)
    I'm afraid, using SM to something other than smoothing groups of polygons will lead me into problems I'm not aware of completely ;) Also SM setup will have to go hand in hand with layer system and this is not guaranteed at all. Now you can have single layer with 32 smoothing groups and all 'clicks' without any problems. User can setup an object how he wants, and at the same time it is possible to divide and object to any layers layout he needs. All is independent.
  • DShepard
    Offline / Send Message
    DShepard polycounter lvl 10
    Bought the script and have been using it for a couple of days now. Really impressive results.

    I did have to watch about 40 mins of your video to figure out how to use it, but it's very easy to use once you know how it works.
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    scgstudio said:

    If it is possible, could you share a link to this forum? I wonder how it can develop further :)
    The forum is Max's closed beta group. You'll have to contact the Max devs and become a beta user to access the forums.
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    DShepard said:
    Bought the script and have been using it for a couple of days now. Really impressive results.

    I did have to watch about 40 mins of your video to figure out how to use it, but it's very easy to use once you know how it works.
    You do not even know how much it means to me !! Reading such comments has WAY more value than anything else !
    Thank you very much :)
    Actually this loong video everyone is complaining about is for those who obtained a script ;)
    I'm glad you like it and managed to achieve some satisfying results. OHO ! :D
    scgstudio said:

    If it is possible, could you share a link to this forum? I wonder how it can develop further :)
    The forum is Max's closed beta group. You'll have to contact the Max devs and become a beta user to access the forums.
    Ok then. If I will be able to get into this forum will be osom. If not, I'm waiting for the news you may have. Thanks anyway :)
  • airbrush
    Offline / Send Message
    airbrush polycounter lvl 13
    you don't necessarily need to do a fly out type of tooltip....i think a status bar at the bottom the displayed relevant information would work well and not obscure any UI
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    Thanks for the suggestion. I will add it during upcoming days. Maybe whole week.
    Sorry for the delay, but I'm making this script in my free time only.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    I've not grabbed the script yet (I will) but a couple of thoughts occur.. .

    Vertex normal information is quite fragile,  perhaps you could store the resultant normals in a vertex colour or UVW channel as a backup? - I'm envisaging issues with combining and chopping up meshes. 

    It should be possible to make this a single, live modifier from max 2016 upwards - it'll need some rework  in terms of mesh manipulation 
  • Noors
    Offline / Send Message
    Noors greentooth
    You can combine geometry with the collapse utility (to single mesh) and detach with making a copy of the mesh and deleting unwanted faces. Both will preserve normals. But sure you can also read/write a backup into whatever channel.

  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    @poopipe couldn't this info be stored in the Data Channel modifier?
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    poopipe said:
    Vertex normal information is quite fragile,  perhaps you could store the resultant normals in a vertex colour or UVW channel as a backup? - I'm envisaging issues with combining and chopping up meshes. 
    Yep, it is. Adding any reindexing related modifier will remove explicit normals. The 'great' improvement since Max ver. 6 or 8 edit and editable mesh can also store this information intact. In case you want / need export object as mesh.

    I'm trying to make it as neutral as possible in therms of data usage. This is why I'm using unused polygon bits only.
    This information is '3ds Max only' so it will not affect / exclude any other object data.
    Vertex colors / UVW channels may be in already in use by someone, so those data should not collide.
    poopipe said:
    It should be possible to make this a single, live modifier from max 2016 upwards - it'll need some rework  in terms of mesh manipulation 
    I'm not a big fan of renting software. This is why I bought (few years ago ) granddaddy 2012 and still it serves its purpose.
    Of course this is a big factor for possible ways of doing tools.
    But as long as Autodesk will not change the way vertex normals are preserved or even calculated I do not
    know if any 'external' tool can replace this unwanted result.
    That was the main reason why Editable Poly is always as a base 'state' for normals calculation - to keep them between layers calculation.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    @poopipe couldn't this info be stored in the Data Channel modifier?
    quite possibly - I've not looked into the datachannel modifier much as I barely get a chance to work with max anymore.
    one benefit of storing it in a channel would be portability to other apps.  the explicit normal stuff is a bit fragile / unsupported

    scgstudio : the big change at 2016 was the ability to commit mesh edits in a scripted modifier in the same way you could previously with a c++ one.  I moved a few of my mesh editing scripts into modifiers a while ago and it wasn't a massive job to port them unless you were adding/removing geometry. 
    I agree on the forced update thing as a rule but to me that change is a pretty significant upgrade so it might be worth considering
  • monster
    Offline / Send Message
    monster polycounter
    poopipe said:
    @poopipe couldn't this info be stored in the Data Channel modifier?
    scgstudio : the big change at 2016 was the ability to commit mesh edits in a scripted modifier... ...might be worth considering
    Data Channel, MCG, and SimpleMeshMod (scripted mesh modifier) don't support setting explicit normals. Maybe they will in the future.

    Here is an example of a FWN modifier, but it doesn't work. If you remove the modifier definition code it works just fine on an editable mesh.

    BTW, In Max 2015 and newer you can set explicit normals with the SetNormal on an Editable Mesh. It's so much faster than using Edit Normal mod. Most people prefer the flexibility of a modifier though.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    they always find a way to piss on your fire don't they...  :(
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    The good news is that explicit and weighted normals and Max's extremely outdated/sensitive/limited normal editing tools are on the devs' radar. It has been noted.
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    The good news is that explicit and weighted normals and Max's extremely outdated/sensitive/limited normal editing tools are on the devs' radar. It has been noted.
    \o/

    poopipe said:
    scgstudio : the big change at 2016 was the ability to commit mesh edits in a scripted modifier in the same way you could previously with a c++ one.  I moved a few of my mesh editing scripts into modifiers a while ago and it wasn't a massive job to port them unless you were adding/removing geometry. 
    I agree on the forced update thing as a rule but to me that change is a pretty significant upgrade so it might be worth considering
    Thanks for this info. Now I'm closer than ever to consider an update to 2016.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    I'd see what everyone else says on which version.  2016 was a bit flaky and 2018 had some issues - 2019 seems OK but as I said above I rarely work on max these days  so can't vouch for stability of any of them.  
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    2012 - rock solid :D
    2018.4 - super stable, I use it at work everyday and sometimes I'm truly impressed regarding what scene holds
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    The good news is that explicit and weighted normals and Max's extremely outdated/sensitive/limited normal editing tools are on the devs' radar. It has been noted.
    My goodness. That only took what, 10 years of bickering? But there's always hope, I guess!

    And yeah, using 2018.4 here as well and am reasonably happy.
  • Arnage
    Offline / Send Message
    Arnage polycounter lvl 10
    Just bought this script and I must say that my first impressions are really good. I do have a question about the best workflow when working with objects with large modifier stacks though: Collapsing them is often not an option, so I'm currently making a copy and collapsing that copy to use with this script. However, this means that after making an edit anywhere in the stack I have to make a new copy and lose the layer information. What would the recommended workflow be to preserve both the stack and this script's layers?

    And secondly I have the following smaller suggestions:
    - I really miss tooltips on most buttons. (Especially for those that function differently when right-clicked, which makes sense, but is very hidden from a UX perspective)
    - Please also make a written manual available that simply lists the various features and button functions as a reference.
    These two issues together make it that if you're not sure how to do a certain action, your only option is to scroll through your tutorial video and hope to find the relevant moment, which is a less than ideal workflow.
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    Arnage said:
    Just bought this script and I must say that my first impressions are really good.
    Osom, I'm glad you like it and thanks for your support, much appreciated ! :)
    Arnage said:
    I do have a question about the best workflow when working with objects with large modifier stacks though: Collapsing them is often not an option, so I'm currently making a copy and collapsing that copy to use with this script. However, this means that after making an edit anywhere in the stack I have to make a new copy and lose the layer information. What would the recommended workflow be to preserve both the stack and this script's layers?
    Well... I'm still thinking about this limitation. I have a few ideas but it is hard to judge which will be the most appropriate from user stand point.
    One is to add edit poly on top and from this point start to manage layer setup. As normal generation result use edit normals modifier as top most modifier. This way nothing below will be lost. This has some possible issues:
    What will happen when you object is scaled or rotated ? Some algorithms are heavily based on 'sane' state of picked object.
    I could add Xform modifier first, before edit poly but when you want to remove it some really weird things may happen.
    So yeah, this is some sort of solution, preserving the whole stack, but this time no scaling rotating would be allowed.
    So some limitations will be still present.
    Other method is to make a 'hidden' instance, make whole setup on it and then transfer all normals to original object.
    Either way I will figure something out for sure. It just takes time :)
     Arnage said:
    And secondly I have the following smaller suggestions:
    - I really miss tooltips on most buttons. (Especially for those that function differently when right-clicked, which makes sense, but is very hidden from a UX perspective)
    - Please also make a written manual available that simply lists the various features and button functions as a reference.
    These two issues together make it that if you're not sure how to do a certain action, your only option is to scroll through your tutorial video and hope to find the relevant moment, which is a less than ideal workflow.
    Yep, I'm currently writing a whole help system embedded in script.
    Every button clicked with ctrl pressed will display all in depth information in separate window what it does and why.
    When I will finish this, I will have all information needed to make a pdf file.
    I'm thinking ( thinking ) about a 'presentation' version also. It will show every possible combination of settings and clicking on every button will display all needed information.

  • just2see
    Hello, may I purchase this script tool to authorize you to provide tickets or receipts?
  • scgstudio
    Offline / Send Message
    scgstudio polycounter lvl 5
    just2see said:
    Hello, may I purchase this script tool to authorize you to provide tickets or receipts?
    Sales are done by Gumroad, they cover all paper work.
    I saw you wrote on Itch.io... they cover it too.
  • just2see
    scgstudio said:
    just2see said:
    Hello, may I purchase this script tool to authorize you to provide tickets or receipts?
    Sales are done by Gumroad, they cover all paper work.
    I saw you wrote on Itch.io... they cover it too.
    ok, thank you.
Sign In or Register to comment.