Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented a new NURBS output plug, added icons, AETemplates and a 2025 variant to github actions #27

Merged
merged 6 commits into from
Jul 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ jobs:
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2023/Autodesk_Maya_2023_3_Update_DEVKIT_Windows.zip"
- maya: "2024"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2024/Autodesk_Maya_2024_2_Update_DEVKIT_Windows.zip"
- maya: "2025"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2025/Autodesk_Maya_2025_1_Update_DEVKIT_Windows.zip"

steps:
- name: Checkout code
Expand Down Expand Up @@ -98,7 +100,7 @@ jobs:

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '13.4'
xcode-version: '14.3.1'

- name: Configure CMake
run: |
Expand Down Expand Up @@ -130,6 +132,8 @@ jobs:
include:
- maya: "2024"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2024/Autodesk_Maya_2024_2_Update_DEVKIT_Mac.dmg"
- maya: "2025"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2025/Autodesk_Maya_2025_1_Update_DEVKIT_Mac.dmg"

steps:
- name: Checkout code
Expand All @@ -144,7 +148,7 @@ jobs:

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '13.4'
xcode-version: '14.3.1'

- name: Configure CMake
run: |
Expand Down Expand Up @@ -179,6 +183,8 @@ jobs:
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2023/Autodesk_Maya_2023_3_Update_DEVKIT_Linux.tgz"
- maya: "2024"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2024/Autodesk_Maya_2024_2_Update_DEVKIT_Linux.tgz"
- maya: "2025"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2025/Autodesk_Maya_2025_1_Update_DEVKIT_Linux.tgz"

steps:
- name: Checkout code
Expand Down Expand Up @@ -245,10 +251,12 @@ jobs:
# ~/modules
# /TwistSpline
# /<os_name>-<maya_major_version>
# /icons
# /plug-ins
# TwistSpline.mll
# /scripts
# *.py
# *.mel
# /TwistSpline.mod

with:
Expand All @@ -262,6 +270,9 @@ jobs:
cp ./TwistSpline.mod modules/
mkdir -p modules/TwistSpline/scripts
cp -r ./scripts modules/TwistSpline
mkdir -p modules/TwistSpline/icons
cp ./icons/*.png modules/TwistSpline/icons
cp ./icons/*.xpm modules/TwistSpline/icons
zip -r TwistSpline-${{env.RELEASE_VERSION}}.zip modules/

- name: Upload distribution
Expand Down
42 changes: 21 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ Internal testing hasn't found any more major bugs, so this is now a *BETA* relea
This gif demonstrates the smoothly interpolating pin values for this test setup.
Any control can be pinned with an arbitrary value at any time.
Not shown: You can unpin *both ends* as long as at least one control has weight.
![Stretching Demo](https://tbttfox.github.io/Images/TwistSpline_StretchDemo.gif)
![Stretching Demo](images/TwistSpline_StretchDemo.gif)

This gif deomonstrates the smoothly interpolating twist values (and their interaction with position pinning)
Again, any control can pin its twist value, and twist solves smoothly through length preservation
![Twisting Demo](https://tbttfox.github.io/Images/TwistSpline_TwistDemo.gif)
![Twisting Demo](images/TwistSpline_TwistDemo.gif)

Not Shown: The Rider node can constrain between multiple splines. This means that a tool could easily be written to build and switch to another spline. For an artist, this would give the ability to add or remove spline controls on the fly in-scene.

Expand Down Expand Up @@ -159,52 +159,52 @@ Note: Despite its name, this isn't actually implemented as a constraint, but it
| --- | --- | --- |
|rotateOrder (ro) | enum | XYZ |
|&nbsp;&nbsp;&nbsp;&nbsp;`Enum of the rotation order standard to Maya`|
|globalOffset (go) | double | 0.0 |
|globalOffset (go) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;`A value added to all input parameters. This shifts everything connected to this constraint along the spline.`|
|globalSpread (gs) | double | 1.0 |
|globalSpread (gs) | double | 1.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;`A value multiplied by all input parameters. This spreads everything out (happens before the offset)`|
|useCycle (uc) | | false |
|useCycle (uc) | | false |
|&nbsp;&nbsp;&nbsp;&nbsp;`Whether or not to cycle the parameters once they go past the end. If not, they extrapolate linearly.`|
|normalize (n) | boolen | True |
|normalize (n) | boolen | True |
|&nbsp;&nbsp;&nbsp;&nbsp;`If true, then the input parameters are remapped so that (0, normValue) maps to (0, restLength) of the spline`|
|normValue (nv) | double | 1.0 |
|normValue (nv) | double | 1.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;`The remapped maximum value when normalizing`|
|inputSplines (is) | compound | n/a |
|&nbsp;&nbsp;&nbsp;&nbsp;`The group that is a spline and its corresponding weight.`|
|&nbsp;&nbsp;&nbsp;&nbsp;spline (s) |
|&nbsp;&nbsp;&nbsp;&nbsp;spline (s) |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`An input spline`|
|&nbsp;&nbsp;&nbsp;&nbsp;weight (w) | double | 1.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;weight (w) | double | 1.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The constraint weight of that spline`|
|params (ps) |
|params (ps) |
|&nbsp;&nbsp;&nbsp;&nbsp;`The parameters for the constraints, and their parent inverse matrices`|
|&nbsp;&nbsp;&nbsp;&nbsp;param (p) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;param (p) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The parameter where an object will stick to the spline.`|
|&nbsp;&nbsp;&nbsp;&nbsp;parentInverseMatrix (pim) | matrix | identity |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The parentInverseMatrix of the object sticking to the spline`|
| | |
|outputs (out) |
|outputs (out) |
|&nbsp;&nbsp;&nbsp;&nbsp;translate (t) | double3 | n/a |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output translation`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;translateX (tx) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;translateX (tx) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output translation X Component`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;translateY (ty) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;translateY (ty) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output translation Y Component`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;translateZ (tz) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;translateZ (tz) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output translation Z Component`|
|&nbsp;&nbsp;&nbsp;&nbsp;rotate (rot) | double3 | n/a |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output rotation`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotateX (rotx) | angle | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotateX (rotx) | angle | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output rotation X Component`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotateY (roty) | angle | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotateY (roty) | angle | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output rotation Y Component`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotateZ (rotz) | angle | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotateZ (rotz) | angle | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output rotation Z Component`|
|&nbsp;&nbsp;&nbsp;&nbsp;scale (scl) | double3 | n/a |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output scale`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scaleX (sclx) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scaleX (sclx) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output scale X Component`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scaleY (scly) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scaleY (scly) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output scale Y Component`|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scaleZ (sclz) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scaleZ (sclz) | double | 0.0 |
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`The output scale Z Component`|

51 changes: 42 additions & 9 deletions TwistSpline.mod
Original file line number Diff line number Diff line change
@@ -1,26 +1,59 @@
+ PLATFORM:win64 MAYAVERSION:2022 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:win64 MAYAVERSION:2022 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: windows-2022
[r] scripts: scripts

+ PLATFORM:linux MAYAVERSION:2022 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:linux MAYAVERSION:2022 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: linux-2022
[r] scripts: scripts

+ PLATFORM:mac MAYAVERSION:2022 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:mac MAYAVERSION:2022 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: mac-2022
[r] scripts: scripts

+ PLATFORM:win64 MAYAVERSION:2023 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:win64 MAYAVERSION:2023 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: windows-2023
[r] scripts: scripts

+ PLATFORM:linux MAYAVERSION:2023 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:linux MAYAVERSION:2023 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: linux-2023
[r] scripts: scripts

+ PLATFORM:mac MAYAVERSION:2023 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:mac MAYAVERSION:2023 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: mac-2023
[r] scripts: scripts

+ PLATFORM:win64 MAYAVERSION:2024 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:win64 MAYAVERSION:2024 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: windows-2024
[r] scripts: scripts

+ PLATFORM:linux MAYAVERSION:2024 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:linux MAYAVERSION:2024 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: linux-2024
[r] scripts: scripts

+ PLATFORM:mac MAYAVERSION:2024 TwistSpline 1.0.0 TwistSpline
+ PLATFORM:mac MAYAVERSION:2024 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: mac-2024
[r] scripts: scripts

+ PLATFORM:win64 MAYAVERSION:2025 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: windows-2025
[r] scripts: scripts

+ PLATFORM:linux MAYAVERSION:2025 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: linux-2025
[r] scripts: scripts

+ PLATFORM:mac MAYAVERSION:2025 TwistSpline 1.1.0 TwistSpline
[r] icons: icons
plug-ins: mac-2025
[r] scripts: scripts
Binary file added icons/riderConstraint.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading