I got stuck in docs apex graphs by not seeing the torus in view port and can't figure out what im doing wrong.
Creating all by guide but just no packed geo.
to this point everything was fine
Apex Graphs docs
4748 21 5- HumoristBoom
- Member
- 2 posts
- Joined: Jan. 2019
- Offline
- ASquirrel
- Member
- 236 posts
- Joined: March 2023
- Offline
- jens_martensson
- Member
- 342 posts
- Joined: March 2020
- Offline
- esttri
- Staff
- 83 posts
- Joined: May 2021
- Offline
- jens_martensson
- Member
- 342 posts
- Joined: March 2020
- Offline
Hi Again
I am stuck at the APEX geometry deformation part in the docs, doesn't seam to get my transforms from my skeleton.
Also in the docs its says
I am stuck at the APEX geometry deformation part in the docs, doesn't seam to get my transforms from my skeleton.
Also in the docs its says
the skeleton joint names are set to joint_0, joint_1, and joint_2 in the Skeleton SOPI tried, I get point_0, point_1 etc
Image Not Found
Jens Martensson
Effects Supervisor @ Rise VFX
Effects Supervisor @ Rise VFX
- ASquirrel
- Member
- 236 posts
- Joined: March 2023
- Offline
jens_martensson
I am stuck at the APEX geometry deformation part in the docs, doesn't seam to get my transforms from my skeleton.
Apex will not take your input skeleton as rest position for your TransformObject, those value have to be baked inside the TransformObject.
While it possible to have your rig automatically use your skeleton as rest value, this has to be build inside the graph by using a PointAttribValue (or any trickery), but I don't think this is the intended way of building a rig on apex in the current version.
instead, the idea is that you make apex graph that will 'build' your apex rig, which is why you have the "apex autorig component", which come with some prebuild 'module' to build a simple rig, you can easily build your own module and use them with the "apex autorig component".
It would be near impossible to build rig manually from scratch. at least, on this version of Houdini
updated your scene to use component instead.
spending some time learning how these component are built can take some time, but if you're used to vop,vex or python, it get clear quickly how they work.
ps : most component come preconfigured with a capital 'B' for Base.xxx probably a good idea to keep that in mind ^^
Edited by ASquirrel - Nov. 16, 2023 14:42:50
Head of Pipeline @ LightVFX
- jens_martensson
- Member
- 342 posts
- Joined: March 2020
- Offline
Thanks for the file, but I am confused why the docs shows something that is not working, so what you are saying is that the docs are not correct, so I should ignore them or it should work as demonstrated, as the scene you sent has removed the Apex Edit Graph SOP which was in the docs, and I think I followed it precisely?
I think again example files for us to test that is a clone of what the docs is showing would be great, if its not working then it should be removed
And I learned that there is strict naming convention, which would be good to document for us who needs to understand the lower level of this, just like VEX, python etc.
E.g naming inputs to get an attribute from the skeleton, how dose that work, Base vs base, why is that a convention, for people who developed it it make sense, for someone just reading the docs, its not clear at all what the naming conventions are.
Cheers
I think again example files for us to test that is a clone of what the docs is showing would be great, if its not working then it should be removed
And I learned that there is strict naming convention, which would be good to document for us who needs to understand the lower level of this, just like VEX, python etc.
E.g naming inputs to get an attribute from the skeleton, how dose that work, Base vs base, why is that a convention, for people who developed it it make sense, for someone just reading the docs, its not clear at all what the naming conventions are.
Cheers
Jens Martensson
Effects Supervisor @ Rise VFX
Effects Supervisor @ Rise VFX
- ASquirrel
- Member
- 236 posts
- Joined: March 2023
- Offline
There no strict naming convention beside the folder extension, it just that sidefx settled with naming like Base.skel, Base.rig, Base.shp when doing their own component, nothing is stopping you from using the naming you want, you just then have to reconfigure the component to use your own naming convention. (which I did in the updated scene, I set them up to use base.skel and base.shp)
if you still want to make your scene work based on what the documentation say, you have to manually setup the restlocal attribuet of your TransformObject node based on the value of the skeleton you give as an input.
I agree that examples scene would be usefull, tutorial and example will come soon as sidefx and thirdpary people make them as they learn a really new system.
regarding the attribute port naming, it simply have to match the name of the folder , so if your skeleton folder was named base.skel, the port name in the __parms__ apex node should be named base.skel
keep in mind apex is really at in infancy, there lot of bug, thing that still don't make sense, and it will get better as time go on, consider yourself a pioneer when trying to using it now
if you still want to make your scene work based on what the documentation say, you have to manually setup the restlocal attribuet of your TransformObject node based on the value of the skeleton you give as an input.
I agree that examples scene would be usefull, tutorial and example will come soon as sidefx and thirdpary people make them as they learn a really new system.
regarding the attribute port naming, it simply have to match the name of the folder , so if your skeleton folder was named base.skel, the port name in the __parms__ apex node should be named base.skel
keep in mind apex is really at in infancy, there lot of bug, thing that still don't make sense, and it will get better as time go on, consider yourself a pioneer when trying to using it now
Edited by ASquirrel - Nov. 16, 2023 15:38:45
Head of Pipeline @ LightVFX
- janette
- Staff
- 8 posts
- Joined: Oct. 2022
- Offline
jens_martensson
Hi Again
I am stuck at the APEX geometry deformation part in the docs, doesn't seam to get my transforms from my skeleton.
Also in the docs its saysthe skeleton joint names are set to joint_0, joint_1, and joint_2 in the Skeleton SOPI tried, I get point_0, point_1 etcImage Not Found
In the example in the APEX graphs docs, the joint names were previously renamed from the default "point_0", "point_1", and "point_2" names to "joint_0", "joint_1", and "joint_2" in the Skeleton SOP. To rename the joints in the Skeleton SOP:
1. Select the Skeleton SOP, and enter the viewer state (press Enter over the viewport).
2. Change the Mode to Modify (or press F).
3. Click each point, and in the top left corner, you can rename the joints.
These joint names must match the input port names on the SetPointTransforms node.
It looks like the rest transforms on your graph TransformObject nodes are a little borked, so you can try selecting the APEX Edit Graph SOP, and click the Update Rest Transforms From Skeleton button. When the dialog shows up, you can select the Skeleton SOP in the network editor, which will automatically select this node in the dialog. Click Accept.
Now select the APEX Scene Animate SOP and click Reset All. Try entering the animate state, and hopefully you see the tube with the 3 controls.
I will clarify these points in the APEX docs, thanks for bringing it up. And example files are coming very soon, thank you for your patience!
- ASquirrel
- Member
- 236 posts
- Joined: March 2023
- Offline
- janette
- Staff
- 8 posts
- Joined: Oct. 2022
- Offline
In today's build, you can find an example file that demonstrates the different functionality described in the APEX graphs page (/character/kinefx/apexgraphs). The example file is linked from the following pages:
- /nodes/sop/apex--editgraph#examples
- /character/kinefx/apexgraphs (the same example is referenced in 2 places on this page)
Let me know if you have any questions, thanks.
- /nodes/sop/apex--editgraph#examples
- /character/kinefx/apexgraphs (the same example is referenced in 2 places on this page)
Let me know if you have any questions, thanks.
- ajz3d
- Member
- 572 posts
- Joined: Aug. 2014
- Offline
Are APEX nodes documented somewhere in the docs? I don't mean APEX framework overview, but docs for nodes themselves. I can't find it, so it's probably still in the works?
By the way, the examples from the documentation are VERY helpful. The more we can get, the better.
By the way, the examples from the documentation are VERY helpful. The more we can get, the better.
Edited by ajz3d - Nov. 28, 2023 13:37:08
- janette
- Staff
- 8 posts
- Joined: Oct. 2022
- Offline
ajz3d
Are APEX nodes documented somewhere in the docs? I don't mean APEX framework overview, but docs for nodes themselves. I can't find it, so it's probably still in the works?
If you search for "apex" in the Houdini help browser, it will show the APEX nodes that are documented under the "Geometry nodes" section. You can also find a list of them in the online help, www.sidefx.com/docs/houdini/nodes/sop/index.html, search for "APEX___".
Edited by janette - Nov. 28, 2023 13:43:12
- ajz3d
- Member
- 572 posts
- Joined: Aug. 2014
- Offline
- janette
- Staff
- 8 posts
- Joined: Oct. 2022
- Offline
- ajz3d
- Member
- 572 posts
- Joined: Aug. 2014
- Offline
In the
The second question is regarding the same example, but is about
I'm kind of stuck recreating this particular example, so I'd be grateful for advice.
constrain_transform_component
example [www.sidefx.com], each joint_*
TransformObject has some arbitrary restlocal
values typed in (Matrix4, I believe). This is not mentioned anywhere in the text, so my first question is: where do these values come from?The second question is regarding the same example, but is about
create_character
Pack Folder SOP. It contains three vector spare parameters named point_?_t
filled with another set of arbitrary values. This is also not mentioned in the docs. What these parameters do and how their values were determined? Are they connected somehow to joint_*
TransformObjects? It doesn't look like they are.I'm kind of stuck recreating this particular example, so I'd be grateful for advice.
- Ivan L
- Member
- 200 posts
- Joined: Jan. 2014
- Offline
The doc and examples are super useful, thank you!
I have an additional to Artur's (ajz3d) question. The example file
I have an additional to Artur's (ajz3d) question. The example file
geometry_deformation
- It looks to me that the workflow is to setup the parameter names and joint's names on the
point_transforms
(SetPointTransforms type node in the example)manually. If I have, say, 30 joints/controls and I need to setup them and then decide to change the naming, would it be a pain? Is this question even relevant cus we mostly need to useAPEX autorig component
? - The
bone_deformation (sop::bonedeform type)
Does it need a more descriptive name for the first 3 inputs instead of thegeoinput0
? - The examples aren't in the help (F1) doc file on win11 (20.0.541 built) I had to open the web page and get it from there. Maybe I'm just missing smth
Edited by Ivan L - Nov. 30, 2023 16:53:05
I contribute to the beauty of this world
https://houdininotes.ivanlarinin.com/ [houdininotes.ivanlarinin.com]
https://houdininotes.ivanlarinin.com/ [houdininotes.ivanlarinin.com]
- janette
- Staff
- 8 posts
- Joined: Oct. 2022
- Offline
ajz3d
In theconstrain_transform_component
example [www.sidefx.com], eachjoint_*
TransformObject has some arbitraryrestlocal
values typed in (Matrix4, I believe). This is not mentioned anywhere in the text, so my first question is: where do these values come from?
The second question is regarding the same example, but is aboutcreate_character
Pack Folder SOP. It contains three vector spare parameters namedpoint_?_t
filled with another set of arbitrary values. This is also not mentioned in the docs. What these parameters do and how their values were determined? Are they connected somehow tojoint_*
TransformObjects? It doesn't look like they are.
I'm kind of stuck recreating this particular example, so I'd be grateful for advice.
The TransformObject restlocal values come from the positions of the skeleton joints. Select the 'bone_deform_rig' APEX Edit Graph SOP, and click Update Rest Transforms From Skeleton. When the dialog comes up, select the Skeleton SOP and press Accept. The restlocal values should be updated. Thanks for bringing this up. I will update the docs with this information.
The spare parms shouldn't be there, apologies for that. I will remove them and upload a new version of the example file. You can also remove them from the Pack Folder SOP (in the parameter editor, select the gear icon on the top right, select Delete All Spare Parameters).
- ajz3d
- Member
- 572 posts
- Joined: Aug. 2014
- Offline
- janette
- Staff
- 8 posts
- Joined: Oct. 2022
- Offline
Ivan L
The examples aren't in the help (F1) doc file on win11 (20.0.541 built) I had to open the web page and get it from there. Maybe I'm just missing smth
You could try clearing the help cache to see if that fixes it:
1. Close all Houdini sessions.
2. Rename your %HOME%\houdini20.0\config\Help directory (save as a backup).
3. Restart Houdini.
A new %HOME%\houdini20.0\config\Help will be created, and hopefully you'll be able to see the example file in either /nodes/sop/apex--editgraph#examples or /character/kinefx/apexgraphs.
As for your other 2 questions, I will let those who know more than me answer (I have pinged them about it already).
-
- Quick Links