Home Technical Talk

Maya jTools

polycounter lvl 5
Offline / Send Message
Joss13 polycounter lvl 5
Hey guys, i'm Alex, Maya technical artist, developer and the author of Maya jTools.
I'm not sure if it's allowed to post advertising in here, but well, this forum is probably the best place to spread the word.
I've just launched the new site for that script pack and also put it to the Gumroad:
mayajtools.com
gum.com/jtools

You can download free demo version from mayajtools.com
Feel free to contact me with any questions: joss@mayajtools.com

PS: Hopefully i'm not violating any forum rules - can't find any anyways ;)

Replies

  • throttlekitty
    Options
    Offline / Send Message
    Totally welcome! But what does it do? There's no info on the front page, and Docs takes me to a manual with confusing controls. I'd rather not sit down to watch a video without at least some indication what the tools are.

    And this thread is probably better off in the Tech Talk subforum.
  • Eric Chadwick
    Options
    Offline / Send Message
    Moved from General Discussion to Technical Talk.
  • Joss13
    Options
    Offline / Send Message
    Joss13 polycounter lvl 5
    Well, I've suspected something like that - they're a bit confusing from the beginning, and i probably need to make some more informal introduction into these tools.

    Let me then introduce myself first: my name is Alexander "Joss" Khalyavin, i'm Maya tech artist/developer with ~16 years of Maya experience. Autodesk Maya Certified Professional, and in year 2003 i was chosen as one of the Top-50 MEL developers by a french Pixelcreatiions.fr online magazine if it's matters. Maya jTools is an evolution of "Joss Scripts Pack" that was available at highend3d.com back in the days.
    This is the first time i'm trying to release something as a commercial product, so I'm open to any suggestions, and yes, you're right -  i have to make more explanatory videos.

    The idea of all these scripts is to achieve some great results with minimal/simplistic tools and to save user's time that's sometimes simply being wasted when artist clicking some button million times instead of actually creating something cool.

    In short words: this is a collection of pretty low-level scripts, organized into panels by function, allowing to manipulate attributes on multiple objects - randomize, interpolate them, interpolate along curves, align objects in 1 click, etc.
    For example, initially channelBox tools were made to just operate on selected channelBox attributes, but later were extended to support polyVertices, CVs and UVs in UVEditor. It means that all these components are treated like objects with transform attributes, and you can interpolate or align them, which becomes _really_ handy if you modeling/unwrapping objects every day multiple times.

    That scripts pack is still work in progress, and it's getting updated almost every couple of weeks.
    The next major thing i'm planning to do is to add some more animation/curve tools, release some Python/C++ plug-ins like noiseDeformer, proper pathDeformer, 3d transition/dissolve, and many more little tools to make artist's like easier.

    Let me list all the sub-panels with short descriptions for them:

    channelBox panel:
    Attributes/selections/components randomization/interpolation/align. Works with channelBox attributes. If nothing selected in the channelBox, it will try to use the current scene selection - is it transforms with TRS attributes or components without them. Utilizes couple of python plug-ins(supplied), allowing to align aforementioned selections in screen space(yes, even in perspective cameras). Plus interpolator was hacked once more, and now it can interpolate coordinates in "curve space", distributing objects/components along curves.

    Selections:
    Shuffle/Reverse order/Sort by distance selections to quickly operate on them with other tools - say, interpolator or animation sequencer.
    Select unknown objects to quickly clean-up scenes and save them, say, from .mb to .ma format.
    Find and select objects with negative scales and "opposite" attribute(flipped normal objects)
    Quickly create Quick Selection sets and quickly select objects inside of multiple sets at once and transforms hierarchies with "Select hierarchy".
    "Copy"(store) input connections in internal buffers and "paste" these connections into multiple objects - like animation curves for example.
    Quickly replace selected objects with other ones, or Re-parent multiple objects under themselves, so if you had some animation, on, say, 100 objects, you can turn them into transforms, and have a copy of original object under these transforms with zero TRS attribute, which is quite handy for quick animaton in local spaces. 
    Various selection decimators - select every Nth object, select some percentage, quick buttons for predefined percentage decimation, etc.
    Bbox creates a simple boundingBox on selection(i plan to extend it to components) and getBoxes creates given number of boxes *inside* of bounding box of selected object. (i love to use thousands of boxes for quick booleans/renderers stress-tests)

    Pivot toolbox:
    Allowing users to quickly set pivots on multiple objects at once - say, move all the pivots to respective object's upper/lower bound, center/average all the pivots or drop all the objects to the floor(actually any) level. Imagine aligning 100 objects in your architectural scene with just 3 clicks: center pivots, move them by -Y axis, drop to floor.

    Transforms clipboard:
    Storing TRS attributes from selection in 4 different internal buffers, allowing to paste them later onto different set of
    objects/lights/components/whatever, making additional copies/instances if needed. Pretty handy to quickly add some details to environment scenes or something like that. Don't mix it with channelBox copy/paste - they're may look similar, but cbOps copy/paste works just on attributes and unable to make a copies.

    Component selection clipboard:
    Stores the component selection independently of selected objects. So, you can, say, select first 100 faces on ferry wheel cabin, store that selection in the buffer or create a shelf button with that selection "mask", then select all the cabins and quickly restore that selection on all of them at once, making it easier to, say, replace materials on those cabins or manipulate exactly these components on all of the objects at once. Objects have to be topologically identical of course.

    Booleans: is a small wrappers to native Maya booleans, allowing to do booleans on multiple objects at once(careful with the numbers, 100 objects can kill Maya easily). Boolean split creates 2 objects: "cutted out" and "filler" objects.

    Arrays panel consists of 2 tools:
    Grid arrays maker, which can create massive grids of objects with given distances either between the pivots or between the bounding boxes of given objects ("delta is an offset/gap" switch), besides, it will "cycle" the input objects while making an array, looping thru them when making copies. So, if you selected, say, sphere, box, locator and clicked "make array", it will create cubic array consisting of sphere-box-locator-sphere-box-locator-etc. Take 5 different type of trees, make a grid array, randomize their positions a bit - there's your garden of 500 MtoA stand-ins in a few clicks.

    Radial array using more "practical" approach: it makes array of copies of input object revolving around 2nd given object.
    You don't have to type in some coordinates or something like that. Just selected 2 objects and choose axis and revolve 1st around 2nd, making needed number of copies.

    Scatter:
    Allowing users to scatter any number of input objects("sources") onto polygonal surfaces. Can create particles instead of objects, making it handy to use with particle instancer and, say, some debris systems.

    Camera tools:
    Smart camera switcher - jumps to the next unhidden perspective camera or light, if there's any in the scene.
    Couple of 1-click camera rigs to quickly create turntable animations
    DoF tool creates a simple locator and measure distance nodes and connect them into "focus distance" attributes on given camera(including MtoA focus distance attribute)
    Move to cam moves any objects from anywhere in the scene right to the center of current camera(inverse of "fit selected" button)
    Create cuts is an expression-driven camera cuts system that can utilize any object with TRS attributes as a "camera driver" and single attribute to switch between them.
    And "Make a shot" creates a shelf button every time you click it, with all the current settings: start/end frames for both timeline
    and defaultRenderGlobals, current camera, so users can create whole shelves full of "shots" and quickly test them/spool them to farm.

    Animation panel right now has just 2 tools: 
    One is simple keys randomizer which is works with keys/curves selected in the graphEditor window, allowing to quickly randomize hundreds of keys within given bounds in 1 click.
    Animation Sequencer is a tool that detects animated objects(or uses selected attributes) and lays them out 1 by 1 with given offset, creating beautiful animations on hundreds of objects in a matter of couple of clicks. Works especially well with distance sort from selections panel.

    Renamer:
    is an extended version of native Maya renamer
    It can rename/renumber selected objects with or without shapes, add some prefix or postfix to the names,
    delete part of the name or replace it with something. First idea out of the head - you can quickly remove "imp_" prefix on your imported objects in 1 click.

    IO panel:
    Allows users to quickly export selected objects as a single or multiple files.
    Right now that's Obj/Fbx/Iges and MtoA Ass stand-in formats.
    If you're doing a lot of stand-ins work with arnold, or exporting models into game engine en masse - that's tool for you.

    And the last tool in that panel is a "global clipboard", which is storing selected objects/shaders/nodes/whatever in a project-wide "buffer", making it easy to toss the selections across the multiple scenes with couple of click and without any file dialogs.
    That buffer is kept intact in between Maya sessions, so you can copy part of one scene, exit Maya, return back after in a week,
    press "paste" and it will work just fine.

Sign In or Register to comment.