StickIt V2 v2.1
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Mads Hagbarth Lund
StickIt is a 2D Warp Match-Moving tool, for matchmoving on (from a 2D perspective) non-ridgid surfaces.
Require NukeX
Requirements:
11.0, 10.5, 10.0, 9.0 or later
11.0, 10.5, 10.0, 9.0 or later
26 Jun 2018
6269
StickIt V2 is a 2D Warp Match-Moving tool, for matchmoving on (from a 2D perspective) non-ridgid surfaces.
Check out this video for more info: https://vimeo.com/228866772
Note:
Due to some cool upcoming Nuke features, StickIT have been put on hold till they are released. But due to a high demand for the updated 3D tracker export python code, I have decided to release it in this unfinished state.
But still report any bugs you may encounter.
Known Bugs:
- Reference frame must be set to a frame that is within the tracked duration, otherwise you will get a error.
- Some controls are not yet commented.
- Some controls are not yet connected.
- Input mask is inverted.
- Transform rotation is not applied for assist track.
- Roto anchor points is not being correctly updated when applying assist track.
- Feature density is not exposed in the UI
- Gridwarp is not yet supported in assist track.
- Keyframe reducer not yet implemented
Please login in order to download these files.
Comments
I want use RotoPaint (Clone) with StickIt, but it's not working.
Nevermind. Reinstalled and it works now.
DID you find a solution for that problem
(no module named stickit)
any ideas what that could be? I'm on an older version of Nuke than what I usually use, but it's not outside of the compatibility range. Did have to update the gizmo to get rid of the "this was created in nuke 10.5" error but otherwise seems to work as expected, I mean aside from this curve error upon solve. Thanks for any help.
Rolling back to v1 fixed it - might be roto/rotopaint differences between versions. I vaguely remember there being some subtle syntax changes in there somewhere, and having to use a stroke (rotopaint) instead to maintain cross compatibility, but memory is a little foggy.
Was in Nuke 9v5 for ref. This probably doesn't need to be fixed since this version is pretty ancient these days, but just a heads up.
cant solve the track !!
"name ´reload' is not defined"
Maybe I've made a mistake, I'm not sure about it. I'm not so skilled with python.
2) Extract StickIt.zip
3) Open the extracted folder ./StickIt/StickIt/
4) Copy the contents of this folder (init.py, memu.py, and the folder./hagbarth/) into your nuke plugins directory e.g. Linux: /usr/local/Nuke/plugins/
5) Open Nuke and test the plugin
I added parantheses to each of the print's within the NST_stickit.py which I believe there are 15 of them. This has resolved being able to utilize the "Analyze" tool. As without parantheses is allowed in Python 2 (which the developer used) while Python 3 requires parantheses.
However, using "Solve" gives me an error "name 'reload' is not defined" which I believe might be remnants of the Python 2 code vs Python 3. Stuck at this part if anyone has figured it out.
import stickit
from importlib import reload
reload(stickit)
stickit.StickIT()
Now Reload will work.
I'm not sure if the next step is correct, but it seems to be solving... In the actual StickIt.py, do a search for string.split and change all to str.split
And add parenthesis to print, as Jordan mentioned above.
I'm using the version from NukeSurvivalToo lkit, so I guess that in the user knob [Solve]STiCKiT i should be replaced to:
import NST_stickit
from importlib import reload
reload(NST_stickit)
NST_stickit.StickIT()
I also searched & replace string.split for str.split in the NukeSurvivalToolkit\python\NST_stickit.py
In the same file I also searched for every print and added parentheses.
Now the solve button doesn't produce any error but it still doesn't seem to be working. I'm going to try with the downloaded version from nukepedia and see if that works.
Please let me know if you think I'm missing some other step to make it work in the NST version.
Solve won't appear to have done anything until this is unchecked.
Are you having the same problem?
I am having the same problem...Nuke 13.1 Studio.
Print Statement: In Python 2, print is a statement and does not need parentheses. However, Python 3 treats print as a function, which requires parentheses. The lack of parentheses in your code leads to a "Missing parentheses in call to 'print'" error. To fix this, you should add parentheses around all the print statements.
Reload Function: In Python 2, we can directly call the reload() function. However, in Python 3, this function has been moved to the importlib library. Therefore, you should change "import reload" to "from importlib import reload".
String Split: In Python 2, we can use string.split. However, in Python 3, we should use str.split.
These differences lead to Python 2 written scripts failing in Python 3 environments. Making the suggested changes should help resolve the issues you're facing.
To ensure a smooth transition to Python 3, all instances of print should be updated to use parentheses, reload should be imported from importlib, and all instances of string.split should be replaced with str.split.
Print Statement: In Python 2, print is a statement and does not need parentheses. However, Python 3 treats print as a function, which requires parentheses. The lack of parentheses in your code leads to a "Missing parentheses in call to 'print'" error. To fix this, you should add parentheses around all the print statements.
Reload Function: In Python 2, we can directly call the reload() function. However, in Python 3, this function has been moved to the importlib library. Therefore, you should change "import reload" to "from importlib import reload".
String Split: In Python 2, we can use string.split. However, in Python 3, we should use str.split.
These differences lead to Python 2 written scripts failing in Python 3 environments. Making the suggested changes should help resolve the issues you're facing.
To ensure a smooth transition to Python 3, all instances of print should be updated to use parentheses, reload should be imported from importlib, and all instances of string.split should be replaced with str.split.
RSS feed for comments to this post