This commit is contained in:
2025-11-30 14:49:16 +08:00
parent 021c593241
commit de46c4b073
1406 changed files with 526774 additions and 1221 deletions

View File

@@ -0,0 +1,206 @@
"""
License:
This collection of code named GS Toolbox is a property of George Sladkovsky (Yehor Sladkovskyi)
and can not be copied or distributed without his written permission.
GS Toolbox v1.2.2 Personal Edition
Copyright 2025, George Sladkovsky (Yehor Sladkovskyi)
All Rights Reserved
Autodesk Maya is a property of Autodesk, Inc.
Social Media and Contact Links:
Discord Server: https://discord.gg/f4DH6HQ
Online Store: https://sladkovsky3d.artstation.com/store
Online Documentation: https://gs-toolbox.readthedocs.io/
Twitch Channel: https://www.twitch.tv/videonomad
YouTube Channel: https://www.youtube.com/c/GeorgeSladkovsky
ArtStation Portfolio: https://www.artstation.com/sladkovsky3d
Contact Email: george.sladkovsky@gmail.com
"""
https://www.artstation.com/marketplace-product-eula
Marketplace Product & Services Agreement
End User Agreement
This Marketplace End User Agreement applies to all downloadable products and professional services (e.g. mentorships, personal training, portfolio reviews) sold via the ArtStation Marketplace, unless a custom agreement or license is provided by the seller.
The EUA is an agreement between the buyer and the seller providing the goods or services.
PLEASE READ THIS DOCUMENT CAREFULLY. IT SIGNIFICANTLY ALTERS YOUR LEGAL RIGHTS AND REMEDIES.
BY CLICKING “I AGREE” OR DOWNLOADING OR USING THE DIGITAL PRODUCT OR RECEIVING THE PROFESSIONAL SERVICES TO WHICH THIS AGREEMENT RELATES YOU ACCEPT ALL OF THIS AGREEMENTS TERMS, INCLUDING THE DISCLAIMERS OF WARRANTIES AND LIMITATIONS ON DAMAGES, USE AND TRANSFERABILITY. IF YOU DO NOT ACCEPT THIS AGREEMENTS TERMS, DO NOT DOWNLOAD, INSTALL OR USE THE DIGITAL PRODUCT OR RECEIVE OR USE THE PROFESSIONAL SERVICES.
This end-user agreement (“Agreement”) is a legally binding agreement between you, the licensee and customer (“you” or “your”), and the provider (“we” or “us” or “our”) of the digital products (“Products”) or instructional, training, mentorship or other professional service packages (“Professional Services”) that you purchase through the ArtStation Marketplace, regarding your rights and obligations regarding those Products and Professional Services.
1. Your Status
In this Agreement, “you” means the person or entity acquiring rights in the Products or purchasing Professional Services. That may be a natural person, or a corporate or business entity or organization.
(a) If you are a natural person then you must be, and you confirm that you are, at least 13 years old. If you are between 13 years and the age of majority in your jurisdiction of residence, you confirm that your parent or legal guardian has reviewed and agrees to this Agreement and is happy for you to access and use the Product or receive the Professional Services.
(b) If you are a corporate entity then: (i) the rights granted under this Agreement are granted to that entity; (ii) you represent and warrant that the individual completing and accepting this Agreement is an authorized your representative and has the authority to legally bind that you to the Agreement; and (iii) to the extent that one or more of your employees are granted any rights in the Product or to receive Professional Services under this Agreement, you will ensure that your employees comply with this Agreement and you will be responsible and liable for any breach of this Agreement by any employee.
2. ArtStation
ArtStation is a division of Epic Games, Inc., You acknowledge and agree that Epic is a third-party beneficiary of this Agreement and therefore will be entitled to directly enforce and rely upon any provision in this Agreement that confers a benefit on, or rights in favour of, Epic. In addition, you authorize Epic to act as your authorized representative to file a lawsuit or other formal action against a licensor in a court or with any other governmental authority if Epic knows or suspects that a licensor breached any representations or warranties under this Agreement. The foregoing authorization is nonexclusive, and Epic shall be under no obligation to pursue any claim. Epic will not initiate any such action on your behalf without first consulting with and obtaining your approval.
Products
The following sections 3 through 9 apply to any Products you acquire from us through the ArtStation Marketplace:
3. Product Licence
Subject to this Agreements terms and conditions, we hereby grant you a limited, non-exclusive, worldwide, non-transferable right and licence to (which will be perpetual unless the licence terminates as set out in this Agreement): (a) download the Product; and (b) copy and use the Product. We reserve all rights not expressly granted to you under this Agreement.
4. Licence Scope and Restrictions
(a) Tutorials
You are purchasing ONE licence to create ONE copy of the Product for use by you only (or, if you are a corporate entity, for use by a single authorized employee).
If this Product is bundled with a stock digital asset then you receive a limited personal use licence regarding that stock digital asset, and you may use that stock digital asset for your personal use only. You will not use that stock digital asset in any commercial manner unless you purchase a separate commercial licence.
(b) Installable Tools
You may purchase one or more licences for the Product. A single licence allows you to install the Product on a single computer at a time for use by a single authorized user. If you are a corporate entity and the authorized employee completing the transaction on your behalf purchases multiple licences, you may choose to store the Product on a single server or shared hard drive for use by a single authorized employee at a time for each licence purchased.
Provided that you comply with the restrictions on users set out above, you may use the Product on an unlimited number of projects.
(c) Stock Assets
Subject to the restrictions set out in this Agreement, you may copy, use, modify, adapt, translate, distribute, publicly display, transmit, broadcast, and create derivative works from the Product in works you create (“Works”), which may include things like films, videos, multi-media projects, computer games, models, images, publications, broadcasts, documents, and presentations.
If you are a corporate entity, you may make the Product available for use by your employees in accordance with this Agreement (for example, by storing the Product on a network server).
You may only share the Product with external people or entities where:
- You are collaborating with the external parties in the creation of your Work and you need to share the Product for that purpose, provided that any external party that receives the Product may only use it in your Work and must secure and limit access to the Product for that purpose;
- You are working as a contractor for a client in the creation of a Work and need to share the Product with your client, or any external parties working with your client, provided that your client and any such external parties may use the Product only for your clients Work, and all parties secure and limit access to the Product for that purpose.
For any other use of the Product by any other party, that party must purchase a licence to the Product.
In addition to any other restrictions in this Agreement, you will not:
- publish, sell, license, offer or make available for sale or licensing, or otherwise distribute the Product except as part of a Work or through a form of sharing that is authorized in this Agreement; or
- publish, distribute or make available the Product through any online clearinghouse platform.
FURTHER SPECIFIC TERMS
In addition to the restrictions set out above, the following terms and conditions apply to the following forms of commercial licences for the Product:
Standard Commercial Licence
If you have purchased a Standard Commercial licence then you may exercise your rights under that licence:
- for personal use on an unlimited number of personal projects that are not used or distributed in any commercial manner; and
- respect to one commercial Work, with up to a maximum of, as applicable, 2,000 sales of the Work or 20,000 monthly views of the Work.
Extended Commercial Licence
If you have purchased an Extended Commercial licence then you may exercise your rights under that licence:
- for personal use on an unlimited number of personal projects that are not used or distributed in any commercial manner; and
- with respect to any number of commercial Works, with no limit on sales or views.
5. Additional Restrictions
Except as expressly permitted under this Agreement, you will not:
(a) make any copy of the Product except for archival or backup purposes;
(b) circumvent or disable any access control technology, security device, procedure, protocol, or technological protection mechanism that may be included or established in or as part of the Product;
(c) hack, reverse engineer, decompile, disassemble, modify or create derivative works of the Product or any part of the Product;
(d) publish, sell distribute or otherwise make the Product available to others to use, download or copy;
(e) transfer or sub-license the Product or any rights under this Agreement to any third party, whether voluntarily or by operation of law;
(f) use the Product for any purpose that may be defamatory, threatening, abusive, harmful or invasive of anyones privacy, or that may otherwise violate any law or give rise to civil or other liability;
(g) misrepresent yourself as the creator or owner of the Property;
(h) remove or modify any proprietary notice, symbol or label in or on the Product;
(i) directly or indirectly assist, facilitate or encourage any third party to carry on any activity prohibited by this Agreement.
6. Proprietary Rights
The Product is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. You are licensing the Product and the right to access, install and use the Product in accordance with this Agreement, not buying the Product. As between you and us, we own all right, title and interest in and to the Product, and you are not acquiring any ownership of or rights in the Product except the limited rights granted under this Agreement.
7. No Epic Support
You acknowledge and agree that you are licensing the Product from us (the Provider), not from Epic, and that Epic has no obligation to support the Product.
8. Interruptions and Errors
Your use of the Product might be interrupted and might not be free of errors.
9. Updates
We have no obligation to update the Product.
Professional Services
The following sections 10 and 11 apply to any Professional Services you purchase from us through the ArtStation Marketplace:
10. Provision of Professional Services
We will provide the Professional Services directly to you and, subject to this Agreement, will assume all responsibility for all aspects of the Professional Services. We represent and warrant that we have the right to offer and provide the Professional Services and that we have appropriate qualifications and experience to provide the Professional Services.
11. Epic is not Involved
You acknowledge and agree that:
(a) Epic is only a provider of the online ArtStation Marketplace where you purchased the Professional Services, and does not provide or exercise any control or oversight over us or the Professional Services, and is not responsible for us or the Professional Services or any shortcomings in them, including any damages, losses or legal issues caused by us or the Professional Services;
(b) this Agreement (and any dispute under it) is an agreement between us and you only, and not with Epic, and Epic is not a party to this Agreement;
(c) we are not Epics employee, agent or subcontractor;
(d) Epic does not have any obligation to attempt to resolve any dispute between us and you; and
(e) we will provide the Professional Services directly to you, and we (and not Epic) are solely responsible for the Professional Services, and Epic has no obligation or liability to you with respect to the Professional Services.
Both Products and Services
The following sections 12 through 25 apply to all Products or Services you purchase from us through the ArtStation Marketplace:
12. Disclaimer
ANY PRODUCTS OR PROFESSIONAL SERVICES ARE PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS, WITHOUT ANY REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY KIND.
TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW WE DISCLAIM, AND YOU WAIVE (WITH REGARD TO US AND ALSO TO EPIC, ITS AFFILIATES, AND ITS AND THEIR LICENSORS AND SERVICE PROVIDERS (COLLECTIVELY, THE “EPIC PARTIES”), ALL TERMS, CONDITIONS, GUARANTEES, REPRESENTATIONS AND WARRANTIES (EXPRESS, IMPLIED, STATUTORY AND OTHERWISE), IN RESPECT OF THE PRODUCTS AND PROFESSIONAL SERVICES, INCLUDING THOSE OF MERCHANTABILITY, NON-INFRINGEMENT, TITLE, QUALITY AND FITNESS FOR A PARTICULAR PURPOSE.
NEITHER WE NOR ANY OF THE EPIC PARTIES REPRESENT OR WARRANT THAT: (A) ANY PRODUCT OR PROFESSIONAL SERVICE IS ACCURATE, COMPLETE, RELIABLE, CURRENT OR ERROR-FREE; (B) ANY PRODUCT OR PROFESSIONAL SERVICE WILL MEET YOUR REQUIREMENTS OR EXPECTATIONS; (C) ANY PRODUCT OR PROFESSIONAL SERVICES IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS; OR (D) ANY DEFECTS IN ANY PRODUCT OR PROFESSIONAL SERVICE WILL BE CORRECTED.
13. Exclusion and Limitation of Liability
(a) YOU DOWNLOAD, INSTALL AND OTHERWISE USE ALL PRODUCTS, AND RECEIVE AND USE ALL PROFESSIONAL SERVICES, AT YOUR OWN RISK. YOU AGREE TO, AND HEREBY DO:
(i) WAIVE ANY CLAIMS THAT YOU MAY HAVE AGAINST US OR THE EPIC PARTIES OR OUR RESPECTIVE DIRECTORS, OFFICERS, EMPLOYEES, AGENTS, REPRESENTATIVES, LICENSORS, SUCCESSORS AND ASSIGNS (COLLECTIVELY THE “RELEASEES”) ARISING FROM OR RELATING TO ANY PRODUCTS OR PROFESSIONAL SERVICES, AND
(ii) RELEASE THE RELEASEES FROM ANY LIABILITY FOR ANY LOSS, DAMAGE, EXPENSE OR INJURY ARISING FROM OR RELATING TO YOUR USE OF ANY PRODUCT OR PROFESSIONAL SERVICE, WHETHER ARISING IN TORT (INCLUDING NEGLIGENCE), CONTRACT OR OTHERWISE, EVEN IF THE RELEASEES ARE EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH LOSS, INJURY OR DAMAGE AND EVEN IF THAT LOSS, INJURY OR DAMAGE IS FORESEEABLE.
(b) NEITHER WE NOR THE EPIC PARTIES WILL BE LIABLE FOR ANY LOSSES, DAMAGES, CLAIMS OR EXPENSES THAT CONSTITUTE: (I) LOSS OF INTEREST, PROFIT, BUSINESS, CUSTOMERS OR REVENUE; (II) BUSINESS INTERRUPTIONS; (III) COST OF REPLACEMENT PRODUCTS OR SERVICES; OR (IV) LOSS OF OR DAMAGE TO REPUTATION OR GOODWILL.
(c) NEITHER WE NOR THE EPIC PARTIES WILL BE LIABLE FOR ANY LOSSES, DAMAGES, CLAIMS OR EXPENSES THAT CONSTITUTE INCIDENTAL, CONSEQUENTIAL, SPECIAL, PUNITIVE, EXEMPLARY, MULTIPLE OR INDIRECT DAMAGES, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, DAMAGES, CLAIMS OR EXPENSES.
(d) MAXIMUM LIABILITY: IF, DESPITE THE LIMITATIONS SET OUT ABOVE, WE OR ANY EPIC PARTY BECOME LIABLE TO YOU IN RESPECT OF ANY PRODUCT OR PROFESSIONAL SERVICE OR OTHERWISE UNDER THIS AGREEMENT, THE ENTIRE CUMULATIVE LIABILITY OF US AND THE EPIC PARTIES, AND YOUR EXCLUSIVE AND CUMULATIVE REMEDY, FOR ANY DAMAGES (REGARDLESS OF THE CAUSE OR FORM OR ACTION), WILL BE LIMITED TO CAD$10.
14. Indemnity
As a condition of your use of any Product or any Professional Services, you agree to hold harmless and indemnify the Releasees from any liability for any loss or damage to any third party resulting from your access to, installation or use of the Product or your receipt and use of the Professional Services.
15. Term and Termination
This Agreement is effective until terminated. Your rights under this Agreement will terminate automatically without notice if: (a) you breach any terms of this Agreement; or (b) you do not complete payment for the Product or Professional Services, or any payment you make is refunded, reversed or cancelled for any reason. Upon this Agreements termination, you will cease all use of the Product and destroy all copies, full or partial, of the Product in your possession. Sections 11 through 25 will survive the termination of this Agreement.
16. Compliance with Laws
You will comply with all applicable laws when using any Product or Professional Services (including intellectual property and export control laws).
17. Entire Agreement
This Agreement supersedes all prior agreements of the parties regarding the Product or Professional Services, and constitutes the whole agreement with respect to the Product or Professional Services.
18. Disputes
If you have any concerns about the Product or Professional Services, please contact us through our ArtStation Marketplace account and we will work with you to try to resolve the issue. You acknowledge and agree that any such dispute is between you and us, and that Epic will not be involved in the dispute and has no obligation to try to resolve the dispute.
19. Persons Bound
This Agreement will enure to the benefit of and be binding upon the parties and their heirs, executors, administrators, legal representatives, lawful successors and permitted assigns.
20. Assignment
We may assign this Agreement without notice to you. You may not assign this Agreement or any of your rights under it without our prior written consent, which we will not withhold unreasonably.
21. Waiver
No waiver, delay, or failure to act by us regarding any particular default or omission will prejudice or impair any of our rights or remedies regarding that or any subsequent default or omission that are not expressly waived in writing.
22. Applicable Law and Jurisdiction
You agree that this Agreement will be deemed to have been made and executed in the State of North Carolina, U.S.A., and any dispute will be resolved in accordance with the laws of North Carolina, excluding that body of law related to choice of laws, and of the United States of America. Any action or proceeding brought to enforce the terms of this Agreement or to adjudicate any dispute must be brought in the Superior Court of Wake County, State of North Carolina or the United States District Court for the Eastern District of North Carolina. You agree to the exclusive jurisdiction and venue of these courts. You waive any claim of inconvenient forum and any right to a jury trial. The Convention on Contracts for the International Sale of Goods will not apply. Any law or regulation which provides that the language of a contract shall be construed against the drafter will not apply to this Agreement.
23. Legal Effect
This Agreement describes certain legal rights. You may have other rights under the laws of your country. This Agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.
24. Interpretation
In this Agreement, "we", "us", and "our" refer to the licensor of the Product alone and never refer to the combination of you and that licensor (that combination is referred to as "the parties"), or the combination of you or the licensor with Epic.
25. Artificial Intelligence
For purposes of this Agreement, “Generative AI Programs” means artificial intelligence, machine learning, deep learning, neural networks, or similar technologies designed to automate the generation of or aid in the creation of new content, including but not limited to audio, visual, or text-based content.
We (the licensor of the Product) represent and warrant that where the Product was created using Generative AI Programs, we have applied the “CreatedWithAI” tag. Under this Agreement, a Product is considered to be created using Generative AI Programs where a material portion of a Product is generated with Generative AI Programs, whether characters, backgrounds, or other material elements. A Product is not considered to be created using Generative AI Programs merely for use of features that solely operate on a Product (e.g., AI-based upscaling or content-aware fill).

View File

@@ -0,0 +1,754 @@
<!--
Tooltips are added in format:
# Widget Name
Tooltip
-->
<!-- Options Menu -->
# gsUpdateSelectionSets
Update selection groups from the available sets in Maya scene.
Can fix issues like groups available in Maya Outliner but not showing properly.
# gsClearSelectionSets
Clear all selection groups. The objects will not be deleted.
# gsSetsHiddenInOutliner
Selection groups will not show in the outliner as sets.
# gsClearCustomMaterials
Clears the custom material swatches from materials. The materials will not be deleted from the scene.
# gsBoolMerged
Boolean objects are merged for more effective Boolean operation. Faster. Instances are not supported.
# gsBoolOptimized
Default Boolean operation. Instances are supported.
# gsBoolAdvanced
Each object has a separate Boolean operation.
Attributes (Boolean Active, Boolean Operation, Boolean Classification) can be edited on individual objects.
# gsBoolWireframe
When performing Boolean operation the cutter will be in wireframe mode.
# gsBoolConvert
Convert Boolean instances automatically.
# gsBoolGroup
Boolean objects will be stored in a separate group in the outliner.
# gsBoolReverseSelectionOrder
Reverses the order in which boolean objects need to be selected.
By default: the first selected object is the base object and all the next - cutters.
When checked: the last object is the base object and all the previous - cutters.
# gsAdditiveCrease
Creasing operations will not overwrite each other.
# gsCreasePerimeter
Crease operation will crease only the perimeter of a face selection (Hold Shift to crease everything).
# gsTooManyInstances
Check the number of instances created.
# gsTooManyEdges
Warns if there are too many edges selected for some operations (Interpolation, Straighten, Smooth).
# gsEnableTooltips
Toggle tooltips visibility.
# gsResetToDefaults
Resets everything to the default values. Can help fix issues with the UI or functions.
<!-- Main menu -->
# gsWireframeToggle
Toggles the wireframe mode for the selected objects.
# gsReferenceToggle
Toggles the reference mode for the selected objects.
Reference mode will prevent viewport selection.
Selecting the referenced object is possible from the Outliner.
# gsTransformConstraint
Toggles the transform constraint.
This locks the movement of the selected component to either Edge (default) or Surface.
- Hold RMB to switch between the constraint types.
# gsSelectEdges
Select the edges on the currently selected object based on the Angle slider.
Hold RMB for alternative selection types:
- Select Border Edges - will select the border edges of the selected objects.
- Select N-Gons - will select the faces with more than 4 vertices of the selected objects.
- Select Hard Edges - will select hard edges (based on normals) of the selected objects.
# gsDotSelect
Continues the selection in a "dot" pattern. The selection will respect the selected/deselected components on the object and will continue this pattern.
- LMB Click - Add the next appropriate component in a pattern to the selection list.
- Shift + Click - Select all the pattern-appropriate components in a current loop.
# gsSelectConstraint
Toggles the selection constraint.
By default 1 degree angle tolerance is activated.
The selection will be automatically expanded based on this angle tolerance.
Hold RMB to switch between options:
- Select by Angle - will automatically expand the selection based on the angle tolerance.
- Auto Camera-Based Selection - will respect the camera based view and select only directly visible components.
- Angle + Auto Camera-Based - a combination of both options.
- Angle Selectors - Determines the angle tolerance for the Select by Angle option.
# quickSet0
Quick selection groups (sets) menu.
LMB Click:
- If the selection group is empty (no color) - clicking on it with the objects (or components) selected will add this object (or component) to this group.
- If the selection group is not empty (orange color) - clicking on this selection group will select the objects (or components) in this group.
MMB drag:
From a non-empty group to empty group - move the objects and components to the empty group.
From a non-empty group to a non empty group with modifiers:
- Shift + Ctrl: Additive.
- Shift + Alt: Subtractive.
- Ctrl + Alt: Intersection.
LMB Click modifiers:
- Shift + Ctrl: Additive. Will combine the group with the selected objects. Basically the same as Add Selection to Group from the marking menu.
- Shift + Alt: Subtractive. Will subtract the selection from the group. Most useful for components.
- Ctrl + Alt: Intersection. Will intersect the selection with the group and leave only intersecting (same) components.
RMB Hold:
- Merge To This Group - merge all the selected objects (or components) to this set (group). If the objects (components) are in other groups, remove them from those groups.
- Toggle Group Reference (green color) - toggle the reference mode on the current group. Reference mode prevents viewport selection.
- Toggle Group Visibility (light gray) - show/hide objects (components) from the current group.
- Add Selection To Group - adds the currently selected objects (or components) to the group. Does not remove them from other groups.
- Remove Selection From Group - remove currently selected objects (or components) from this group. Objects are not deleted.
- Clear Group - clears the current group from any objects and components making it empty. Objects are not deleted.
# gsCrease
Creases the edges based on the selection. Faces, edges and vertex selection is compatible.
- Click - creases the directly selected edges, adjacent edges in vert selection and face selection border.
- Shift + Click - creases all the edges in a face selection, not only the border.
# gsUnCrease
Removes the creases on the edges based on the selection. Faces, edges and vertex selection is compatible.
- Click - removes the creases on the directly selected edges, adjacent edges in vert selection and face selection border.
- Shift + Click - removes the creases for all the edges in a face selection, not only the border.
# gsSubDLevel
Sets the smooth mesh preview (press 3 to activate and 1 to deactivate) subdivision level based on the SubD slider value.
# gsSubDNumber
Indicates the current subdivision level on a selected object. Clicking will also set the subdivision level.
# gsCreasePlus
Creases all the edges on the selected objects based on the Angle slider.
Additionally, it applies the subdivision preview level based on the SubD slider.
Holding RMB will open a marking menu:
- Create Crease Sets from Mesh - will create a special selection set in the outliner that will hold all the creased edges from the selected object. One set will be created for each distinct crease level.
- Bake Crease Sets to Mesh - will delete the special crease sets from the outliner and apply them to the mesh.
- Convert Creases to Bevels - will convert all the creases on the selected objects to bevels. Crease level is NOT respected in this operation.
# gsUnCreasePlus
Removes the creases from all the edges on all the selected objects.
# gsBevelPlus
Bevels the edges on the selected objects based on the Angle slider tolerance.
Hold RMB will open the marking menu:
- Chamfer checkbox will toggle the chamfering of the beveled edges.
- Segments will select the initial segment number on the bevel.
# gsAngleButton
The Angle slider sets the angle tolerance for the Select Edges, Crease+ and Bevel+ functions.
Clicking on this button will enable interactive angle highlight mode.
This mode will highlight the edges that will be affected by the Select Edges, Crease+ and Bevel+ functions.
Dragging the slider in this mode will change the edge highlight based on the angle.
The highlighted edges are not selected by default.
# gsAngleSlider
The Angle slider sets the angle tolerance for the Select Edges, Crease+ and Bevel+ functions.
# gsSubD
The SubD slider sets the smooth mesh preview subdivision level when using Crease+ and Bevel+ functions.
Clicking on this button will enable the dynamic subdivision mode.
Dragging the slider in this mode will dynamically change the subdivision levels for the smooth mesh preview for the selected objects.
# gsSubDSlider
The SubD slider sets the smooth mesh preview subdivision level when using Crease+ and Bevel+ functions.
# gsCrs
The Crease slider sets the crease level that will be used by Crease and Crease+ functions.
Clicking on this button will enable the dynamic creasing mode.
Dragging the slider in this mode will change the crease value of the selected edges dynamically.
# gsCrsSlider
The Crease slider sets the crease level that will be used by Crease and Crease+ functions.
<!-- Mirror/arrays switch -->
# gsNormalMirrorSwitch
Switch to mirror functions.
# gsLinearArraySwitch
Switch to Linear Array functions.
Linear array creates an array from the selected object adding a curve controller.
Array Control Window is used to control the arrays.
# gsRadialArraySwitch
Switch to Radial Array functions.
Radial array creates a radial array object from the selected mesh.
Array Control Window is used to control the arrays.
<!-- Mirror functions -->
# gsMirrorX
Mirror the selected objects on the X axis.
# gsMirrorY
Mirror the selected objects on the Y axis.
# gsMirrorZ
Mirror the selected objects on the Z axis.
# gsMirrorMinusX
Mirror the selected objects on the -X axis.
# gsMirrorMinusY
Mirror the selected objects on the -Y axis.
# gsMirrorMinusZ
Mirror the selected objects on the -Z axis.
<!-- Mirror modifiers -->
# gsMirrorRadio
Perform a normal mirror.
# gsFlipRadio
Flip the selected object on the axis.
# gsInstanceRadio
Instantiate the selected object and flip it on the axis.
# gsWorldRadio
Mirror operations will be performed on the world (scene) axis.
# gsObjectRadio
Mirror operations will be performed on the object(s) axis (based on pivot).
# gsBoundingBoxRadio
Mirror operations will be performed based on the bounding box of an object.
# gsMergeRadio
Vertices will be merged after mirror based on the tolerance selected in the Marking Menu:
- Auto - will select the merge tolerance based on the size of an object.
- Change Merge Threshold - manually set the merge threshold.
# gsBridgeRadio
The object will be bridged after the mirror operation is complete.
# gsNothingRadio
Nothing will be done to the object vertices after the mirror operation.
# gsMirrorCut
Will cut the geometry during mirror operation. The cutting plane is the axis plane.
# gsMirrorDelete
Will delete the geometry based on the selected axis. The cutting plane is the axis plane.
<!-- Linear Arrays -->
# gsArrayUniform
The resulting array will be a uniform array attached to a curve that conforms to a curve (if linear) or radially distributed (if radial) array.
No deformation to the individual objects.
# gsArrayDeformed
The resulting array will be an array of meshes deformed to match the curvature of the control curve (if linear) or circular shape (if radial).
# gsLinearArrayX
Create an array on the X axis. If the custom curve is selected - array will be created on that curve.
Editing the initial object will also edit the array dynamically.
# gsLinearArrayY
Create an array on the Y axis. If the custom curve is selected - array will be created on that curve.
Editing the initial object will also edit the array dynamically.
# gsLinearArrayZ
Create an array on the Z axis. If the custom curve is selected - array will be created on that curve.
Editing the initial object will also edit the array dynamically.
# gsLinearArrayMinusX
Create an array on the -X axis. If the custom curve is selected - array will be created on that curve.
Editing the initial object will also edit the array dynamically.
# gsLinearArrayMinusY
Create an array on the -Y axis. If the custom curve is selected - array will be created on that curve.
Editing the initial object will also edit the array dynamically.
# gsLinearArrayMinusZ
Create an array on the -Z axis. If the custom curve is selected - array will be created on that curve.
Editing the initial object will also edit the array dynamically.
<!-- Radial Arrays -->
# gsRadialArrayXY
Create a radial array from the selected object on the XY plane.
Editing the initial object will also edit the array dynamically.
# gsRadialArrayYZ
Create a radial array from the selected object on the YZ plane.
Editing the initial object will also edit the array dynamically.
# gsRadialArrayZX
Create a radial array from the selected object on the ZX plane.
Editing the initial object will also edit the array dynamically.
# gsArrayAdd
Add the selected object to the selected array.
Select the object and the array and click the button.
# gsArrayRemove
Remove the selected object from an array.
Select the initial object and the array and click the button.
# gsArrayCalcRotation
Calculate the rotation of the individual objects in the linear and radial uniform arrays. Deformed arrays are not affected.
# gsArrayShowOriginal
Show/Hide the initial object. Editing this object will edit the array dynamically.
# gsMainCopiesSlider
Controls the number of copies that the arrayed object has.
# gsApplyArray
Apply the selected array, removing all the construction history and dynamic features.
# gsArrayControlWindow
Open the Array Control Window. This window holds buttons and sliders that will control arrays created by GS Toolbox.
<!-- Instancing and Utilities -->
# gsInstanceButton
Create instances of an object. The number of instances is based on the number in the field.
Instances are offset based on the bounding box by default.
Offset and axis of offset are customizable by holding RMB on the button and selecting relevant options.
Hold RMB for marking menu:
- X,Y,Z etc. - selecting an axis will instantiate and offset the object based on this axis.
***
- Instance - will create an instance of an object.
- Copy - will create a simple copy of an object.
- Copy with History - will create copies of the object with all the relevant history nodes connected.
***
- No Offset - will instantiate (or copy) the objects without offset.
- Offset - the instantiated objects will be offset based on the bounding box of the object + selected offset from the menu [].
- Offset + Gap - additional small gap will be added to the instantiated objects in addition to the offset.
***
- Randomize Transforms - will open a randomization window which allows to interactively randomize Transform, Rotate and Scale of the selected objects.
This can be useful in combination with Instancing or Snap to Poly (multiple).
# gsInstanceField
Instance number. Controls the number of instances that Instance button creates.
# gsInstancePlus
Enabling Instance+ on the selected object will create a special instance of that object in the same place as the original.
Instance plus consists of the viewport selectable part (the original object in wireframe mode) and instance part.
This instance supports Mirroring, Booleans, Solidify and Delete Node commands (through GS Toolbox):
To apply Mirror, Solidify or Delete Node to the instantiated part - switch to "Inst" toggle. Inst toggle will highlight the functions that will be applied to the instance part.
Mirroring the instance (using inst toggle) will allow to have a interactive procedural mirror that will work with poly modeling and most of the functions.
Booleans can be applied to the original object (it will be in wireframe mode) and combined with mirror this will allow for interactive mirrored Booleans.
Solidify can be applied to the one-sided Instance+ object to create procedural geometry strips with thickness.
Delete Node on instance will undo (remove nodes) the last procedural modifier (Mirror, Solidify).
Apply Inst+ button will remove the history and return the instance as a normal object for further editing.
# gsInstancePlusApply
Will delete the history on the instance plus object, clean up and return the instance mesh as a regular mesh for further editing.
# gsInstancePlusMeshToggle
Will switch the Mirror, Solidify and Delete node commands back to the original functionality.
# gsInstancePlusInstToggle
Will switch the Mirror, Solidify and Delete Node commands to the instance mode, essentially applying them to the instance part of the Instance Plus object.
# gsStoreEdits
Store Edits will store the polygonal edits on the object (poly tweaks) allowing the use of the "Delete Node" command to undo edits on the object.
Every vert, edge and poly edit can be stored, essentially allowing to undo any edit. Multiple edits can be stored in one "chunk" and it will be undone in one "Delete Node" click.
When the Store Edits button is highlighted (orange, no white outline) this means there are unstored edits on the selected object.
When the Store Edits button is highlighted (orange WITH white outline) this means the object is not initialized for edit storage, and the button should be clicked to initialize it.
# gsUndoEdit
Normal Click - will delete the last history node applied to the current object, undoing the edits (including polygon edits).
Shift + Click - will delete the selected node only (using Select button from Attribute Editor).
# gsSnapshot
Will store a snapshot of the object in a special group in the outliner. The snapshot will respect the transformations of the original object.
Normal Click - will store the snapshot (with history). The original object is not modified.
Shift + Click - will store a snapshot (with history). The original object will have its construction history deleted.
# gsExtractSnapshot
Extracts the selected snapshot from the group.
Normal Click - duplicate the snapshot from the group (the original snapshot stays in the group).
Shift + Click - extract the snapshot from the group (removing it from the group).
# gsSnapToPoly
Snaps selected polygon objects to the selected faces.
Selection order sensitive. If multiple polygonal objects are selected, will create a repeating pattern from the selection based on the selection order and number of faces.
Hold RMB for marking menu:
- Simple Snap will duplicate and snap the objects to the mesh.
- Instance + Snap will instantiate the objects before snapping. Original objects can be edited to edit all the instances on the mesh after snap.
- Pre-Duplication will ensure that the original objects are left behind for editing purposes.
Normal Click will snap the objects to the mesh.
Shift + Click will attempt to center the pivots on the objects (might not work in some cases).
# gsSolidify
Will add thickness to the mesh (extrude). Mainly used in combination with Instance+ to achieve the procedural ribbon mesh with thickness effect.
Shift + Click - will add the thicknes to the other side of the mesh.
Hold RMB for additional options:
- Local translate - will use local translate for thickness. Might not have the perfect uniform thickness.
- Thickness - will use thickness for extrusion. Might have visual artifacts on the sharp edges.
# gsStraighten
Will straighten selected edges (only edges). Multiple edge groups can be selected at a time (not connected edges).
Normal Click - will straighten the edges projecting them to the straight line (no equalization).
Shift + Click - will straighten the edges and equalize them, making the edges the same length.
Hold RMB for additional options:
- Local X, Y, Z - will straighten the edges on the local axis (object space). Works for verts, edges and faces.
- World X, Y, Z - will straighten the edges based on the world axis (world space). Works for verts, edges and faces.
Local and World straightening also works for verts and faces, not only edges.
# gsInterpolate
Will interpolate selected edges to an arc that is made from first, last and middle vert of the selected edge group.
Moving those key edges will change the shape of the arc.
Edges will always be made equal length in the process.
Multiple edge groups can be selected (unconnected edges).
# gsSmooth
Will smooth the selected edges based on the smoothing value (on the left).
# gsSmoothField
Smooth strength. Controls the smoothing strength of the Smooth button.
# gsFillWithQuads
Will fill the polygon hole with equally spaced quads based on the selection patterns:
1. One vert selected - will produce a best guess fill. Can incorrectly estimate the shape of the polygon hole.
2. Two verts selected - the best way to control the distribution of quads.
Selecting two corners of the hole will ensure the best result.
Selecting any other two verts will change the pattern which might be desirable for creative purposes.
# gsCombine
Will combine selected meshes into one cleanly. All the extraneous transform nodes will be grouped and hidden in the outliner. To view them, select "Ignore Hidden In Outliner".
# gsSeparate
Will separate selected meshes cleanly. All the extraneous transform nodes will be grouped and hidden in the outliner. To view them, select "Ignore Hidden In Outliner".
# gsDuplicate
Will duplicate selected faces from the object cleanly. All the extraneous transform nodes will be grouped and hidden in the outliner. To view them, select "Ignore Hidden In Outliner".
# gsExtract
Will extract selected faces from the object cleanly. All the extraneous transform nodes will be grouped and hidden in the outliner. To view them, select "Ignore Hidden In Outliner".
Normal Click - extract the faces but do not separate them from the object.
Shift + Click - extract the faces and separate them into a separate object.
<!-- Booleans -->
# gsBoolUnion
Will create a Boolean union from the selected objects. The Booleans will be editable post-operation.
Normal Click - Boolean objects are visible post-operation.
Shift + Click - Boolean objects are hidden post-operation.
Booleans are compatible with Instance+ objects.
# gsBoolDifference
Will create a Boolean difference from the selected objects. The Booleans will be editable post-operation.
Normal Click - Boolean objects are visible post-operation.
Shift + Click - Boolean objects are hidden post-operation.
Booleans are compatible with Instance+ objects.
# gsBoolIntersection
Will create a Boolean intersection from the selected objects. The Booleans will be editable post-operation.
Normal Click - Boolean objects are visible post-operation.
Shift + Click - Boolean objects are hidden post-operation.
Booleans are compatible with Instance+ objects.
# gsToggleBoolGroup
Toggle the viewport visibility of the Boolean objects.
# gsShowCutters
Show all the Boolean objects.
# gsSelectCutters
Select all the Boolean objects.
# gsDeleteCutter
Remove selected Boolean object from the Boolean operation.
# gsApplyBoolean
Apply all the Booleans to the selected mesh.
Click - construction history is not deleted.
Shift + Click - construction history is deleted.
<!-- Live Plane -->
# gsLivePlane
Create a Live Plane on the selected polygon. Live Plane will be aligned to the polygon and allows for precise placement of the meshes on it.
Live Plane can be edited post-creation using slider below and/or manipulating it using gizmo.
Clicking on Live Plane button again will remove the Live Plane.
# gsSwitchToCam
Switch to Live Plane aligned camera for precise object placement on the plane.
Clicking again will return back to the original camera.
# gsAlignToPlane
Align the selected object to the live plane (object X axis by default).
Hold RMB for additional Axes:
- X,Y,Z,-X,-Y,-Z - will align the object based on these axes.
# gsLivePlaneResolutionSlider
Controls the resolution of the live plane grid.
# gsLivePlaneSpacingField
Controls the spacing of the live plane grid.
<!-- Material Slots -->
# gsMaterialSlot0
Quick Material slot. Allows for quick assigning of the materials, storing custom materials (scene independent if saved as a preset) and creating MatCap materials.
Left Click - assign the material to the selected object(s).
Shift + LMB - Select the material from the current swatch. It can be then edited in the Attribute Editor.
Ctrl + LMB - Select all the polygons or objects that have the material assigned to them.
Shift + Ctrl + LMB - Select the meshes that have the material assigned to them.
Hold RMB - open marking menu:
- Select From Scene Materials - select a material from the current scene and add it to the Quick Material Slot.
- Create Maya Material - create a standard Maya material and add it to the Slot.
- Create MatCap Material - create a "material capture" shader and add it to the Slot. Will open a texture select window where appropriate MatCap texture must be selected.
- Save Preset - save the current Slot as preset material. Presets can be accessed from any scene later on.
- Clear Slot - remove the material from the slot. Will not delete the material from the scene.
- Manage Presets - open a preset management window where presets can be browsed, added to the slot and deleted.
- Global Shader checkbox - make the current slot a default material for all the new objects in the scene.
<!-- Randomize Window -->
# gsTranslationRandBox
Enables the translation randomization.
# gsTranslationLocalBox
Randomization will be in local space.
# gsTranslationXBox
Randomization will be on X axis (multiple axes are selectable).
# gsTranslationYBox
Randomization will be on Y axis (multiple axes are selectable).
# gsTranslationZBox
Randomization will be on Z axis (multiple axes are selectable).
# gsTranslateMulti
Translation randomization multiplier.
# gsTranslationRandRate
Translation randomization rate (preview). To apply, press Randomize button.
# gsRotationRandBox
Enables the rotation randomization.
# gsRotationLocalBox
Randomization will be in local space.
# gsRotationXBox
Randomization will be on X axis (multiple axes are selectable).
# gsRotationYBox
Randomization will be on Y axis (multiple axes are selectable).
# gsRotationZBox
Randomization will be on Z axis (multiple axes are selectable).
# gsRotationMulti
Rotation randomization multiplier.
# gsRotationRandRate
Rotation randomization rate (preview). To apply, press Randomize button.
# gsScaleRandBox
Enables the scale randomization.
# gsScaleXBox
Randomization will be on X axis (multiple axes are selectable).
# gsScaleYBox
Randomization will be on Y axis (multiple axes are selectable).
# gsScaleZBox
Randomization will be on Z axis (multiple axes are selectable).
# gsScaleMulti
Scale randomization multiplier.
# gsScaleRandRate
Scale randomization rate (preview). To apply, press Randomize button.
# gsRandomizeButton
Clicking this button will apply currently selected randomization pattern.
All the "Enable" toggles and slider values with other options will affect the randomization.
<!-- Array Control Window -->
# showOriginalArrayButton
Shows/hides the original object that can be edited to affect the arrayed objects.
# copiesSlider
Number of arrayed copies.
# calculateRotationLinearArrayButton
Whether to calculate the rotation of each individual object attached to a curve.
# stretchSlider
The amount the objects should stretch along the curve (0 - no stretch, 1 - all the way to the end of the curve).
# offsetSlider
Offsets the objects along the curve.
# startPoint
Offsets the start point of the array along the curve.
# stretchAlongCurve
The arrayed objects will stretch to the full length of the curve. Disables the Length slider.
# mergeVertsLinearDeformed
The arrayed objects will have their verts merged based on the Merge Tolerance.
# uniformDistributionLinearDeformed
The objects will be distributed based on their bounding box.
# offsetDeformedSlider
Offset arrayed objects along the curve.
# orientationSlider
Rotate the arrayed objects around the curve.
# twistSlider
Gradually changes the orientation of each arrayed object, not deforming the individual objects.
# twistDeformSlider
Twists the array shape. Deforms the individual objects.
# lengthScaleSlider
How far the arrayed objects will stretch along the curve.
# linearScaleYSlider
Gradually changes the Y scale of each individual object in the array.
# linearScaleZSlider
Gradually changes the Z scale of each individual component of the array.
# widthScaleSlider
Change the width of the arrayed objects.
# mergeDistanceSlider
Controls the merge distance used by the "Merge Verts" toggle.
# samplingAccuracySlider
How accurate should the objects follow the curve. Values above 2 can affect performance.
# calculateRotationRadialArray
Whether to calculate the rotation of each individual in a radial array.
# gsRadialArrayAxisXY
Radial array is aligned with XY plane.
# gsRadialArrayAxisYZ
Radial array is aligned with YZ plane.
# gsRadialArrayAxisZX
Radial array is aligned with ZX plane.
# linearRadiusSlider
Controls the radius of the radial array object.
# zOffsetSlider
Offsets the radial array in Z axis in a spiral pattern.
# angleSlider
Controls the final angle of the radial array object.
# radialArrayUniformDistribution
The objects will be distributed based on their bounding box.
# radialDeformedArrayMergeVerts
The arrayed objects will have their verts merged based on the Merge Tolerance.
# radialCurvatureSlider
The bend angle of the radial array object.
# lowBoundSlider
The low bound at which the bending of the radial array begins.
# highBoundSlider
The high bound at which the bending of the radial array ends.
# deformedRadiusSlider
The radius of the radial array object.
# xTwist
Twists the array shape. Will not distort each individual array object.
# yDeformedOffsetSlider
Offsets the arrayed objects on Y axis.
# zDeformedOffsetSlider
Offsets the arrayed objects on Z axis.
# scaleYSlider
Scale each individual array object on Y axis.
# scaleZSlider
Scale each individual array object on Z axis.
# patternOffsetSlider
Offsets the array pattern 1 object at a time. Will change the scale sliders behavior.
# radialDeformedMergeDistance
Controls the merge distance used by the "Merge Verts" toggle.
# patternSlider
Controls the pattern of the multi-arrayed object (when using multiple objects in array creation or using the + button).
1 - A A A A A...
2 - A B A B A...
3 - A B B A B B...
etc.
# patternRandomizeSlider
The seed used to randomize the multi-array pattern (when using multiple objects in array creation or using the + button).
0 - disable randomization.
# arrayUniformScale
Use uniform scale randomization (from X, Y, Z scale only X will be used).
# randMagnitudeSlider
The amount of transform randomization to apply to the arrayed object.
# randTXSlider
Randomize the position of the objects on X axis.
# randTYSlider
Randomize the position of the objects on Y axis.
# randTZSlider
Randomize the position of the objects on Z axis.
# randRXSlider
Randomize the rotation of the objects on X axis.
# randRYSlider
Randomize the rotation of the objects on Y axis.
# randRZSlider
Randomize the rotation of the objects on Z axis.
# randSXSlider
Randomize the scale of the objects on the X axis.
In Uniform Scale mode this slider acts as a X, Y, Z randomize slider.
# randSYSlider
Randomize the scale of the objects on the Y axis.
Disabled when "Uniform Scale" is enabled.
# randSZSlider
Randomize the scale of the objects on the Z axis.
Disabled when "Uniform Scale" is enabled.
# randSeedSlider
Randomization seed. Used to change the randomization pattern.
# ResetSliders
Resets all the sliders to their default range.
Useful when the sliders become hard to control when entering values manually to the fields.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

View File

@@ -0,0 +1,34 @@
GS Toolbox installation
1. Copy gs_toolbox folder to {PathToDocuments}\Documents\Maya\{MayaVersion}\scripts\
Example of the final folder structure:
Documents\Maya\2019\scripts\gs_toolbox\icons
Documents\Maya\2019\scripts\gs_toolbox\presets
Documents\Maya\2019\scripts\gs_toolbox\gs_shaderball.obj
Documents\Maya\2019\scripts\gs_toolbox\gs_toolbox_doc.pdf
Documents\Maya\2019\scripts\gs_toolbox\gs_toolbox_init.mel
Documents\Maya\2019\scripts\gs_toolbox\gs_toolbox_proc.mel
Documents\Maya\2019\scripts\gs_toolbox\gs_toolbox_reset.mel
Documents\Maya\2019\scripts\gs_toolbox\gs_toolbox_startup.mel
Documents\Maya\2019\scripts\gs_toolbox\gs_toolbox_stop.mel
Documents\Maya\2019\scripts\gs_toolbox\main.mel
Documents\Maya\2019\scripts\gs_toolbox\readme.txt
2. Run Maya
3. In "Python" command line, run this command:
import gs_toolbox.init as tb_init;from imp import reload;reload(tb_init);tb_init.Init();
4. Look for GS tab on your Shelf
5. Click TB UI button to run the menu. Click again to hide the menu.
>> To reset to factory defaults click TB with refresh arrow button.
>> To stop all scripts and close the menu press TB DEL button.
>> You can use middle-mouse button drag to move the buttons to any tab.
>> All the hotkeys are available in Hotkey Editor > Custom Scripts > GS > GS_Toolbox