@pi3c3 My hero! I'd suggest making it scriptable if at all possible - recent versions of max don't seem to be crashy and shit when applying a modifier to multiple objects so I'd say the key to this thing's success is having a good enough featureset (or the ability to extend it myself ) to make me want to use it over the existing UV editor (being able to dock a sodding toolbar to it would be a good start)
@pi3c3 My hero! I'd suggest making it scriptable if at all possible - recent versions of max don't seem to be crashy and shit when applying a modifier to multiple objects so I'd say the key to this thing's success is having a good enough featureset (or the ability to extend it myself ) to make me want to use it over the existing UV editor (being able to dock a sodding toolbar to it would be a good start)
Thanks!
Actually it is also planned. Not just the current features, but a proper maxscript and c++ API. Similar to the polyop system, but it will be uvrop. The current system let's you dump a lot of data from the UVR and also let you to modify them. The plan is to create a fully scriptable system which is efficient to use. One of the main issues with polyop as well, that it's using BitArrays in most cases as interop objects which are extremely slow due to the massive amount of iterations. But there are a lot more things I'm planning to finish in the future. Currently I'm working on the UV Packer algorithm, which is actually the last and probably the most complicated part of the entire thing. If I finish with that, then I'll start writing the user interface which is a pretty quick and easy thing, compared to the rest of the system.
Updated the script, made it both "editable" as a cube or a sphere and separated segs and sides and added spherical mapping and negative s. Any way enjoy someone may find it useful/
@pi3c3 cool, I think the most requested feature for packing is being able to group UV shells as stacks that stay together and define a group of shells that stays together but doesn't stack. I got the UV shell grouping working in Maya using a hack in my UV tool, but I haven't found a way to group shells into their own containers that pack correctly.
@pi3c3 cool, I think the most requested feature for packing is being able to group UV shells as stacks that stay together and define a group of shells that stays together but doesn't stack. I got the UV shell grouping working in Maya using a hack in my UV tool, but I haven't found a way to group shells into their own containers that pack correctly.
I actually already have all the things to write a similar thing like the one you mentioned. Geo verts just have to reference the same tVerts to stack together similar shells. Also keeping together grouped clusters shoudn't be a problem either. My system is quite flexible to be honest.
One feature I'd like for lightmap UVs, be able to flag low priority UV islands that just fill any empty space left over. Nice for areas that should almost always be hidden.
@ZacD For low priority shells for lightmaps I turn off scaling and then scale those shells down layout so they stay smaller than the rest of the pack, this also means they usually fill in the wasted space. I developed a light mapping toolbox for Maya if you're interested you can see a video here
Wow very impressive, that was always my dream to have a dynamic bevel back when I was still modeling things. How are you doing the actual custom bevel node, is it in the API or can a geometry node be created in mel?
I finally figured out how to do select every other face or vert in Maya using mel. I hadn't seen this done in Maya other than Python so I wasn't sure if it was possible, but I eventually found a solution. You can make your own user defined patterns as well, besides just alternating you can do 2/on 2/off, 3/on 3/off, 4/on 4/off etc.
Wow very impressive, that was always my dream to have a dynamic bevel back when I was still modeling things. How are you doing the actual custom bevel node, is it in the API or can a geometry node be created in mel?
Thanks malcolm. its using polyDuplicateAndConnect to feed the original mesh to another shape node. so like this origmeshShape>Bevel>FinalShape. No api, pure mel.
actually theres a bunch of stuff i need to workout. bevel on a boolean object is unstable, very crash prone. Also the if objects is somewhat hires bevel is super slow, this is something that autodesk needs to fix on their side.
Ah yes, that's what I ran into the performance was unacceptable. I've heard if you make things like that a plugin you get the performance back, but I have no idea how to use the API language and also when you make a plugin it only works for the version of Maya you compile it for which is super limiting for the consumer. I still make all my tools in mel it's the most compatible backward/forward mac and LT.
@onionhead_o how is the stability when you have a lot of booleans stacked and you start tweaking those booleans? (moving them around / adding more bevel edges etc) / or making tweaks on the boolean geo? I found out that because of the history if you have too many stacked and you tweak the booleans you get unstable restuls (random edges get beveled) Is that the same case for you?
yes stacking many booleans will slow it down for sure. But its mainly the stability of booleans in general. Since it can create non-manifold edges and vertices which bevel doesnt really like. And when the polyBevel fails to compute. It could lead to crashes.
Cool, I'd like to use a couple of these tools and have some questions.
1. Does the quad edge connect work on a quad with only 4 verts, or does it need to have the incoming edges to connect to? I'd really like to select a quad and have a script create the splits for optimizing edge flow on sub-d, I guess there would need to be a way to tell it which was to face.
2. Does space loop work on bumpy surfaces, what happens to the other axies, does it average the vert on each?
3. Are the tools all mel because I'd just like to have a couple in my custom shelf by copy pasting the contents into a button.
4. What is the criteria for select similar because Maya's native select similar often doesn't work.
1.in face mode, it works on face with 2 incoming edges. In edge mode it will connect ring selections. for vertices, select the t verts (verts with 3 edges connected to it) and it will auto connect.
2. space loop works on any kind of surface. however, it does not smooth the edgeloop. It only spaces out the vertices. I might consider adding a smoothing function later on.
3. Yes they are either mel or maya commands. I'm thinking of releasing it with 2 UIs. custom shelf with all the tools and a toolbox that contains all the tools. Might consider even doing a menu that gets add on the toolbar ontop. Need more feedback on this one tho
4. The criteria is that selected object is a mesh. and that it has same amount of verts/faces/edges.
edit: I have ideas for other types of objects as well such as curves. this one needs some Rnd.
5.Not exactly, im still polishing the tools. making sure they don't break. Some are ready for testing if you're interested. I can provide a link.
make a plugin will still not help performance if you still use maya native boolean, Autodesk needs to upgrade boolean algorithm unless you can write your own boolean plugin. They also really need a way to handle multi mesh in one single boolean node, as maya doesn't have stack modifier, and when adding more and more node on top, it only get slower and unstable
thanks, that one is kinda for the fun of it as we don't really need that kind of lighting... that said it may have other practical applications (possibly as a texture map) though the code is quite unreliable/picky/difficult to "tune" with differing geometry.
Have you tried using MASH for things like this? I think this could already be done with MASH fairly quickly. Your tool looks really easy to use though, nice work!
yes i initially tried to use MASH as a base for it. but unfortunately, MASH doesnt allow you to easily set starting point. Also it didnt allow for separate instances( only particle instancer) that retain rotation values.
It;s not all pretty pictures, spent the last couple of days creating a tool that generates a visual studio project for building max plugins (2010-2023) from a single simple xml file. #cuttingedge 😪
the more adjacent "points" there are the darker the shading. It uses the boost rtree and then creates some spherical segments (basically and 18pt octahedron) to query the tree from each point summing and negating depending on the results you can vary the effect volume of each point and the segment range to vary the effect. I'm just randomly changing the points in the above example
Using a Python port of Clipper Lib (by Angus Johnson) to clip Maya curves and use the result for extrusion (in this case to simulate semi random bricks):
Hi all, I'm working on using a Python port of the Clipper Lib (by Angus Johnson) to clip Maya curves and use the result for extrusion (in this case to simulate semi-random bricks):
PS: long time lurker, first post here ;D ... hey, how come my gif doesn't show/play "inline" but I need to click on it?!
Replies
But
@pi3c3
My hero!
I'd suggest making it scriptable if at all possible - recent versions of max don't seem to be crashy and shit when applying a modifier to multiple objects so I'd say the key to this thing's success is having a good enough featureset (or the ability to extend it myself ) to make me want to use it over the existing UV editor (being able to dock a sodding toolbar to it would be a good start)
Actually it is also planned. Not just the current features, but a proper maxscript and c++ API. Similar to the polyop system, but it will be uvrop. The current system let's you dump a lot of data from the UVR and also let you to modify them. The plan is to create a fully scriptable system which is efficient to use. One of the main issues with polyop as well, that it's using BitArrays in most cases as interop objects which are extremely slow due to the massive amount of iterations. But there are a lot more things I'm planning to finish in the future. Currently I'm working on the UV Packer algorithm, which is actually the last and probably the most complicated part of the entire thing. If I finish with that, then I'll start writing the user interface which is a pretty quick and easy thing, compared to the rest of the system.
Nice work though Sire!
too early for a crimbo tree ?
texture was grabbed of da web so not ideal (thats my excuse)
A quick update about the UV Packing algorithm I'm working on currently:
(which has a poly count independent performance, so it took 1 sec on a Single Thread )
I actually already have all the things to write a similar thing like the one you mentioned. Geo verts just have to reference the same tVerts to stack together similar shells. Also keeping together grouped clusters shoudn't be a problem either. My system is quite flexible to be honest.
Thanks malcolm. its using polyDuplicateAndConnect to feed the original mesh to another shape node. so like this origmeshShape>Bevel>FinalShape. No api, pure mel.
how is the stability when you have a lot of booleans stacked and you start tweaking those booleans? (moving them around / adding more bevel edges etc) / or making tweaks on the boolean geo?
I found out that because of the history if you have too many stacked and you tweak the booleans you get unstable restuls (random edges get beveled)
Is that the same case for you?
Hi, I'm working on some scripts and plugin to help me with the interactive part for the curveWarp deformer in maya also with the GS_Curve Tools:
Here's a link on what I have so far:
working on a gradient custom win32 control (similar to max's gradient ramp) need some more intuitive gradient control for a few tools
(it doesn't look that shonky in reality thats the gif for ya ! and it won't be using the windows colour picker :) )
now with added opacity stops
playing around with an ambient vertex lighting routine.
with texture
vertical version with "universal" bezier ease
also added a popup slider for opacity
don't think a pop up colour picker is possible :(
All awesome for terrain texturing! what is this project you're working on ? (perhaps you're working on tools for the sake of the fun of it ? ) @Klunk
thanks, that one is kinda for the fun of it as we don't really need that kind of lighting... that said it may have other practical applications (possibly as a texture map) though the code is quite unreliable/picky/difficult to "tune" with differing geometry.
and in a max rollout.....
now I've got to make it do something useful :D
currently trying improve the stability of my shape cutter
with a view to release it to the
publicmax aficionadosOh wow that's neat, are you writing this all in Max script or are you using some other language?
thanks, its a modifier (c++)
Oh neat, that's over my head I only know Mel at this point.
@Klunk That's very cool! Looking forward to seeing more of this! I can imagine numerous situations where this would come in super handy :)
thanks, there's still a few issues ie why the random drop outs for example
soo - its basically a one line change for a genuinely good way to project mesh decals right?
working on a Radial Array Tool for maya. trying to make it as interactive as possible.
@onionhead_o
Have you tried using MASH for things like this? I think this could already be done with MASH fairly quickly. Your tool looks really easy to use though, nice work!
yes i initially tried to use MASH as a base for it. but unfortunately, MASH doesnt allow you to easily set starting point. Also it didnt allow for separate instances( only particle instancer) that retain rotation values.
It;s not all pretty pictures, spent the last couple of days creating a tool that generates a visual studio project for building max plugins (2010-2023) from a single simple xml file. #cuttingedge 😪
some volumetric ambient shading
the more adjacent "points" there are the darker the shading. It uses the boost rtree and then creates some spherical segments (basically and 18pt octahedron) to query the tree from each point summing and negating depending on the results you can vary the effect volume of each point and the segment range to vary the effect. I'm just randomly changing the points in the above example
Using a Python port of Clipper Lib (by Angus Johnson) to clip Maya curves and use the result for extrusion (in this case to simulate semi random bricks):
PS: long time lurker, first post here ;D ... how come my gif doesn't show/play "inline" but I have to click on it?!
Hi all, I'm working on using a Python port of the Clipper Lib (by Angus Johnson) to clip Maya curves and use the result for extrusion (in this case to simulate semi-random bricks):
PS: long time lurker, first post here ;D ... hey, how come my gif doesn't show/play "inline" but I need to click on it?!
EDIT: Oh... I just had to upload it as image 😅
this is awesome, nice one :D
is this one available ?? awesomeee