Apex Graphs docs

   3516   21   5
User Avatar
Member
2 posts
Joined: 1月 2019
Offline
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

Attachments:
Screenshot 2023-11-11 152703.png (837.5 KB)

User Avatar
Member
215 posts
Joined: 3月 2023
Offline
your Subnet output node must be specifically named 'output' or it won't be detected by the scene animate node,
same for the subnet input it should be named 'parms'
Head of Pipeline @ LightVFX
User Avatar
Member
341 posts
Joined: 3月 2020
Offline
Hi
I had same issue as above, can we update the docs and maybe ship it with working example scenes?
Thanks
Edited by jens_martensson - 2023年11月15日 14:13:36
Jens Martensson
Effects Supervisor @ Weta FX
User Avatar
スタッフ
61 posts
Joined: 5月 2021
Offline
Good point with the example scenes. They will be added accordingly.
User Avatar
Member
341 posts
Joined: 3月 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
the skeleton joint names are set to joint_0, joint_1, and joint_2 in the Skeleton SOP
I tried, I get point_0, point_1 etc


Image Not Found

Attachments:
apex_rig_v03.hiplc (240.0 KB)

Jens Martensson
Effects Supervisor @ Weta FX
User Avatar
Member
215 posts
Joined: 3月 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 Jacquesf - 2023年11月16日 14:42:50

Attachments:
apex_rig_v03.hiplc (314.6 KB)

Head of Pipeline @ LightVFX
User Avatar
Member
341 posts
Joined: 3月 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
Jens Martensson
Effects Supervisor @ Weta FX
User Avatar
Member
215 posts
Joined: 3月 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
Edited by Jacquesf - 2023年11月16日 15:38:45
Head of Pipeline @ LightVFX
User Avatar
スタッフ
7 posts
Joined: 10月 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 says
the skeleton joint names are set to joint_0, joint_1, and joint_2 in the Skeleton SOP
I tried, I get point_0, point_1 etc


Image 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!
User Avatar
Member
215 posts
Joined: 3月 2023
Offline
I didn't knew about the "Update Rest Transforms From Skeleton" , I was still using stash node to do my graph, that good to know, thanks !
Edited by Jacquesf - 2023年11月16日 17:42:46
Head of Pipeline @ LightVFX
User Avatar
スタッフ
7 posts
Joined: 10月 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.
User Avatar
Member
466 posts
Joined: 8月 2014
Online
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.
Edited by ajz3d - 2023年11月28日 13:37:08
User Avatar
スタッフ
7 posts
Joined: 10月 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 - 2023年11月28日 13:43:12
User Avatar
Member
466 posts
Joined: 8月 2014
Online
Thanks Janette, but these are SOPs. I was looking for documentation of nodes that you find in APEX graphs.
While most of them are self-explanatory, some are not (like geo::DragPoints, or dynamicpath::*for example).
User Avatar
スタッフ
7 posts
Joined: 10月 2022
Offline
ajz3d
Thanks Janette, but these are SOPs. I was looking for documentation of nodes that you find in APEX graphs.
While most of them are self-explanatory, some are not (like geo::DragPoints, or dynamicpath::*for example).

Ah ok, yes those are still in progress.
User Avatar
Member
466 posts
Joined: 8月 2014
Online
In the constrain_transform_componentexample [www.sidefx.com], each joint_*TransformObject has some arbitrary restlocalvalues 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_characterPack Folder SOP. It contains three vector spare parameters named point_?_tfilled 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.
User Avatar
Member
172 posts
Joined: 1月 2014
Offline
The doc and examples are super useful, thank you!
I have an additional to Artur's (ajz3d) question. The example file geometry_deformation

  1. 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 use APEX autorig component?
  2. The bone_deformation (sop::bonedeform type)Does it need a more descriptive name for the first 3 inputs instead of the geoinput0?
  3. 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 - 2023年11月30日 16:53:05
I contribute to the beauty of this world
User Avatar
スタッフ
7 posts
Joined: 10月 2022
Offline
ajz3d
In the constrain_transform_componentexample [www.sidefx.com], each joint_*TransformObject has some arbitrary restlocalvalues 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_characterPack Folder SOP. It contains three vector spare parameters named point_?_tfilled 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.

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).
User Avatar
Member
466 posts
Joined: 8月 2014
Online
janette
(...) click Update Rest Transforms From Skeleton. When the dialog comes up, select the Skeleton SOP and press Accept. The restlocal values should be updated.
Perfect. That was the missing link. Thanks, Janette!
User Avatar
スタッフ
7 posts
Joined: 10月 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