Whats new in the release:
- Shogun Link Data added - need to create a shotgun api script to connect in the settings.
- util_file.get_latest_file_at_path(path) added
- Changed settings tab to a gear
- Clicking on a script in the manifest will now focus on its tab or window if open.
- Added setting to define what double clicking on a manifest item does. Open tab, open new window or open in external.
- anim.bake_to_animation added.
- api.IteratePolygonFace added get_center, get_normal
- geo.randomize_mesh_vertices added
- space.randomize added to randomize transforms
- process.get_sub_process_count added
- process.get_sub_process_by_index added
- core.get_current_camera added
- added some vector math to util
- some api functionality added.
- added an active attr to orient attrs.
- added process.get_non_process_parts()
- added ability to open scale channels on GroundRig
- added vetala icon to hub
- process.find_processes can return non process folders along with processes
- added ability to convert folder to process
- added new feather rig but needs a demo file to understand.
- deform.skin_mesh_from_mesh now auto removes unused influences
- mirror curve mirrors all curves in the scene that are named _L and have a corresponding _R
- documentation looks a bit nicer and more up to date.
- run script individually now respect auto focus setting in the settings.
- fixed orient joint aim to put up and aim at the beginning of the children.
- attr.unlock_attributes now sets k = True properly.
- deform.matching_geo_blendshape now allows curves
- geo.is_a_curve improved
- version files fixed again. Tested and should be able to deal with deleting arbitrary version.
- Cleaned up data names so they look a bit nicer.
- more feedback when saving data
- util_file.create_dir now can create a directory by just giving the full path to the desired directory
- changed pose data name to corrective. Everything should still work the same as before. This is just cosmetic.
- changed animation data name to keyframes. Everything should still work the same as before. This is just cosmetic.
- re-arranged some tabs.
- ui cleanup
- LockNodeState class added. This helps to lock and temporarily unlock all keyable attributes of a node to attr module.
- Joint orientation attributes now have 2nd child up position. This can be used to have first child be aim, and second child be up axis.
- Mirror Transforms will now unlock attributes before mirroring, and lock again after the mirror is done. This allows for more guided structure setups.
- Added lock_translate_attributes and lock_rotate_attributes to attr module.
- Added button Convert to Orient Joint beside Orient Joints button. If a joint is selected, this will convert the joint to a special auto orient configuration that uses 2 children to figure out the orientation.
- Added get_hierarchy_path to space module. If you have joint_arm_L, joint_elbow_L, joint_wrist_L, it will find the path between joint_arm_L and joint_wrist_L without getting confused if joint_elbow_L branches. This can help find a limb if a skeleton is complex.
- Added open_data() to process. Opening can be faster than importing. Open should probably be at the start of the code manifest.
- Added get_bounding_box_size to space module. Good for adapting scripts to the size of a mesh. For example scale the controls when a mesh is larger/smaller. Being used to auto rig props with a single control that fits to the mesh.
- is_cv_count_same function added to geo module
- Shape Combo UI can now work with groups of meshes. If you set your base as a group with meshes under it, you can Add by selecting a different group with the same ( but duplicated ) meshes under it. Meshes must be in same order between base an group to be added.
- Shape Combo UI, combos are now organized by hero selection.
- Added Matrix class to the maya_lib.api module. Good for reading matrices and getting the translation, rotation.
- Added Quaternion class to maya_lib.api module. Good for reading quaternions and getting the rotation in Euler.
- Added leo cad ldr reader (very basic) to data module
- Added read_lxfml_file reader (very basic) to data module. Needs to be export LXFML4 from Lego Digital Designer. Will return the id, position, rotation of parts listed in the file.
- Added exists function to util_file for checking if a folder or file exists, instead of just is_file or is_dir
- Fixed get_files_with_extension in util_file module. When setting full_path to True, it wouldn't return the full path.
- Fixed versions not being deletable. Now you should be able to delete versions like version.1 verion.2 etc and the remaining versions should still show up in the ui. Let me know if not.
- Fixed Scale Controls slider undo.
- Fixed Fix Sub Controls button. It searches controls connect to subVisibility. Now it sorts the controls so they are always in the right order when scaling.
- lock_attributes now works on double3 attributes like translate and rotate as well as translateX, translateY, etc.
- MirrorControlKeyframes now lives in rigs_util module and has some more feedback when things are wrong.
- Fixed issue with Animation data import in the ui.
- Fixed minutes and seconds not printing properly when running processes.
- Fixed set_attach_joints() on Sparse rigs. Sparse rigs would get created but wouldn't attach the controls to the joints.
- Moved BoundingBox class to space module
- Removed file save block when saving code that hasn't changed.
- No longer able to save code that hasn't changed since last save.
- Warning given when maya ascii or binary data is imported,opened or reference but no data saved.
- fixed rename issue when adding sub process to recently added top level process
- added checks on processes. If check turned on the sub process will be run before the current process.
- file save now forces maya to the right type.
- selecting a character in the animation tab no longer changes selection. This helps keep the controls selected.
- export alembic improvements
- added get_uv_on_mesh_at_curve_base(mesh, curve) Good for adding follicles at a certain uv.
- added get_closest_uv_on_mesh_at_curve(mesh, curve, samples=50) a bit slow, but finds where the curve intersects the mesh
- correctives mirroring on a mesh without right side would sometimes error. More stable now.
- when importing curve data, history on the control would sometimes block import. This now gets disconnected before importing and a warning is given.
- added attr.is_connected and attr.is_locked
- follicle curve improvements
- improved version tab load speed. Still can't delete arbitrary versions in the version folder, but will fix that for next release.
- new checks ui that helps cleanup a scene
- deform.skin_group_from_mesh now works with curves
- export skin cluster will find parent if shape selected. This avoids exporting shape nodes.
Please login to forum.vetalarig.com to get the latest beta update.
- Added a warning dialogue when scene does not save properly.
- Fixed an issue with TransferWeights where it would not complete if all source joints were not weighted.
- fixed overlapping dialogues. All dialogues should now open above any existing windows.
- fixed negative scale on right side facial controls.
- new Batch Process, submits a process to run in batch. It will automically save as the latest build at the end.
- fx module has the beginnings of some caching scripts
- create_xform_group use_duplicate fixed. Before it would include children in the duplication.
- Added driver group to scapula control.
- Maya 2017 now uses invertShape C++ plugin instead of Chad Vernon python plugin. This makes importing pose data faster.
- Snap curve to surface and project curve on surface.
- Breakpoint in the code ui now possible by right click - set breakpoint
- Pose import will now stop when pressing esc after files load.
- Delta mush weights now export/import using deformer weights data.
- !!! Please stop using the vtool.maya_lib.util module. It will be completely removed in a future release.
Picker UI was going to be in this release but I need a bit more time to get it working with namespaces and to test it out a bit more.
I played with Vetala in Maya Batch today.
I need to get a new release of Vetala out to fix a couple bugs but here's what it looks like.
In maya.standalone if Vetala is in the PYTHONPATH you can simply do:
from vtool.process_manager import process
process_inst = process.Process()
process_inst.set_directory('dir of your process')
#This will run the process. Then if you need to save the build out you can do.
process_inst.save_data('build', comment = 'saved from batch mode!')
Its so cool to see it running this way.
For a body rig that used to take 36 seconds in Maya UI, it now takes 27 seconds in Maya Batch.
- Maya 2017 support
- Version is now displayed in the window title.
- Auto completion no longer begins to edit selected things in the Outliner when pressing enter on completion.
- added pill control shape
- Shape Combo no longer errors on inbetweens named like: target05
- TransferWeights slightly faster
- Correctives now have a combo option.
You need to set your character to the pose where two or more poses are at 1.
Create a combo pose.
Then load those poses in the ui and sculpt your shape.
- Corrective tool now has the following options on poses:
Update Pose (Controls with Current Deformation) - Good for updating the deformation after tweaking the pose.
Update Pose (Controls with Stored Deformation) - Good for mirroring to the right side, and fixing the right side pose.
Update Pose (Controls Only) - Good if you need to change the position of the controls, and work on the deformation after.
- geo.follicle_to_surface now has the option to constrain or not. If not tranform gets parented under follicle.
- rigs.ScapualRig now has a fk rotate control option.
- Various ik rigs have mirroring ability including tweakers, ik arms/legs, scapula.
- space.create_follow now has the option to use a duplicate as the xform group.
- rigs.SparseRig now has a compensate option so controls cancel themselves out when translating. This is good when riveting the control to a blendshape.
- space.constrain_local now has the option to use a duplicate as the xform group.
- MultiJointShape improvements.
- minor issues fixed for Maya 2014
- space scale fix for right side eye lid rig.
- core.create_display_layer now has the option to set its initial state.
- attr.create_blend_attribute now has the option to set an initial value.
Got Vetala working in Maya 2017 tonight.
Maya 2017 has changed in some significant ways.
In order to support Qt 5 Maya now uses the PySide2 module and shiboken2.
In PySide all the Qt widgets were in PySide.QtGui. In PySide2 many widgets are in PySide2.QtWidgets.
To deal with this I had to change my imports.
Before I was importing:
from PySide import QtGui
Now I import like this:
from PySide.QtGui import *
and if I'm in maya 2017
from PySide2.QtGui import *
from PySide2.QtWidgets import *
This way I don't have to write an if statement for every widget that used to be in QtGui but now is in QtWidgets.
shiboken2 works like shiboken.
In versions prior to 2017:
from shiboken import wrapInstance
In Maya 2017:
from shiboken2 import wrapInstance
I was thrown off at first because Autodesk didn't update the documentation.
But this page should make sense if you make the appropriate substitutions. PySide2 instead of PySide, and shiboken2 instead of shiboken.
PyQt and PySide Widget Best Practices
- Shape Combo tool is now more production tested. Many bugs fixed, especially with incremental combos.
- New setting to turn off auto focus when opening a scene.
- Added geo.snap_to_mesh. This will snap a transform to the closest face on a mesh
- Fixed the corner controls on the rigs.StickyFadeRig
- Auto indent added to code editing.
- deform.CreateWrap will wrap to nurbs surfaces using maya wrap.
- Fixed some issues with FkScaleRig and Maya 2014
- deform.MultiJointShape now has a couple more options and improvements to get it to work better with the shape combo tool.
- deform.SplitMeshShape has some minor tweaks and improvements to get it to work better with the shape combo tool.
Updates to Vetala are available on the beta forum.
- Many improvements to options ui.
- Added option in the settings tab to remove auto start new scene when hitting Process. This may need to get turned on to get old behavior!
- Added curve cube_point
- Syntax highlighting improved.
- Auto complete will now list functions of a class.
- Auto complete will now list process functions and maya.cmds functions.
- Copy Special has been renamed Copy Merge. UI has been broken out into a floating window with some nice new features.
- Fixes to shapeCombo
- Fixed plugin unload issue in Maya 2016
- Many bug fix improvements to Corrective tool.
- Brought back pose mirroring. If pose didn't mirror control correctly, then right-click update pose after setting the proper pose. Then mirror again.
- Added quick sort to the vtool.util module.
- New color export/import data.
- Blendshape weight export/import will now export nurbs curves and nurbs surfaces as well as blendshape base weights.
- Fixed some issues with the code tabs and floating windows.
I tested Vetala on Linux tonight. Various studios have been asking for it to run on Linux.
From what I can tell everything seems to be working.
For now studios and individuals who want Vetala on Linux should contact Cryptid Fx at firstname.lastname@example.org
This update is available in the store and on the forum (for those who have purchased Vetala).
Improvements in this release:
- Added new blend_weights data. This will export blendshape weights on all targets for every mesh in the target. For targets that have multiple meshes.
- Shape Combo channels are now open to overdrive.
- Added new template tab. This makes it easier/more organized to pass around rigs.
- Speed improvements to transfer_weights and import_skin_cluster data.
- Pressing esc key during Vetala run will now stop sooner.
- Cleaned up script editor feedback when Vetala runs.
- Added set_sub_visibility on some classes.
- Fixed some code tab bugs
- Added control shape "back arc" for should clavicle controls
- Added control shape "circle_corner" for head control.
- Fixed curve import/export when the control had geo has a shape.
- Fixed curve import/export when a control has hidden intermediate objects.
- Tried to remove file access as much as possible to speed up Vetala on slow networks.
- Added new rigs.SpineRig
- Added Merge functionality to copy one process onto another. This versions up any matching data or code to the latest from the source.
- Many of the rigs now have set_control_size and set_sub_control_size working better.
- Fixed Correctives mirror.
- Added Revert Vertex in Correctives to revert selected vertices to remove corrective tweaks.
- Fixes to Correctives
- Fixes to Auto Weight 2D class, being used for some facial.
- Code tab had an issue saving that is now fixed.
- Fixed many issues with shape combo, including some combos not working together or updating.
- Inbetweens and combo inbetweens are working better.
- Added preserve combo to shape combo system.
- Fixed copy process disregarding the manifest. However if you copy special it still disregards the manifest. This will be fixed in the next release.
- Added new feature Process Options. Access by right clicking on a process and selecting show options.
- Lots of fixes to code tabs. They are more reliable now.
- control cvs will export now even if there is a non unique name.
- Improved the speed of process loading on the network. Still slow but better.
- Fk Curve Rig will no longer move the joints on build if set_buffer(True). This should be used sparingly. If you are doing many feathers use FkRig if you can.
- AutoWeight2D will now push the first joint out if it overlaps. This fixes a bug where the weighting would go all to the first joint.
- Fixed an issue with copying animation data, where the folder would copy but not the data.
- If a process is deleted the code tab now updates.
- The shape combo ui is now up in "alpha" stage. It is usable, but expect some bugs and missing features.
- Fixed a bug where maya would crash when running the Process button.
- Fixed a bug where the process name wouldn't update when switching projects
- Fixed a bug where the file wouldn't get marked as saved after saving.
- Fixed a bug where the directory wasn't being updated in the save build widget when renaming a process.
- Improved skin cluster import to deal with joints of the same name. If two joints named the same it will take the first joint. It will also give a warning.
- Mesh smooth now gets turned off when opening files.
- Fixed an issue when removing a corrective, the corrective list sometimes didn't update properly.
This release was about getting different studios up to date.
- Code Hierarchies. You can now parent one script under another in the manifest.
- Some Code Tab and manifest functionality improvements.
- Vetala now gives scripts permissions over files that exist in dropbox or google drive.
Starting on this version the vtool folder has a version.txt file, so you can check which version you have installed.
You can purchase the beta at the store.
If you already paid for Vetala you can get the update on the forum.
Download it on the forum if you've purchased Vetala.
- Facial rig improvements. Hopefully I'll get a template out in the next couple months.
- Some fixes to the corrective tool. Its getting more stable with every release. Still some bugs to work out though.
- Fixed an issue with Maya 2014 where it would crash when switching processes.