Asking the experts about Apex's ifbegin issue

   707   14   2
User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
Really feel embarrassed, recently I’ve been asking the most questions on the forum, probably because I’m the dumbest.

I made a small scene and want A to move toward B by one unit, like 0.1cm or so. When reaching a set distance condition, B would move or rotate.

I know Apex has ifbegin, but I’ve been messing around for a long time and still don’t know how to use it properly.

Oh, I’m a bit of a dummy, so I’m coming to ask you guys!

It would be great if you can provide a file.

Thanks, everyone.

Attachments:
Snipaste_2026-09-12_00-39-28.jpg (199.3 KB)

User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
Is this news true? Real-time animation from skeleton will appear in the next version? Can't wait!

Attachments:
6.jpg (113.9 KB)

User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
Houdini 22.0.428, you can search and it can automatically zoom to the center

Attachments:
2026-09-15 08-42-53.mp4 (6.3 MB)

User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
Houdini 22.0.429 and later versions seem to have removed this feature. If there are a lot of nodes, it's hard to find the target node you need.

Attachments:
2026-09-15 08-43-28.mp4 (7.0 MB)

User Avatar
Member
32 posts
Joined: March 2015
Offline
guoli
Houdini 22.0.429 and later versions seem to have removed this feature. If there are a lot of nodes, it's hard to find the target node you need.

Yeah, this is bugged. I was running into the same issue and just submitted a bug report.
User Avatar
Member
32 posts
Joined: March 2015
Offline
guoli
Really feel embarrassed, recently I’ve been asking the most questions on the forum, probably because I’m the dumbest.

I made a small scene and want A to move toward B by one unit, like 0.1cm or so. When reaching a set distance condition, B would move or rotate.

I know Apex has ifbegin, but I’ve been messing around for a long time and still don’t know how to use it properly.

Oh, I’m a bit of a dummy, so I’m coming to ask you guys!

It would be great if you can provide a file.

Thanks, everyone.

I wouldn't use an ifbegin for this particular task. Check out the attached example. You can use the local xform fit method(the method used in the file), or measure the distance between the 2 joints, or use the new set-driven key functionality.
Edited by AntonMoss - Sept. 15, 2026 20:04:53

Attachments:
APEX__A_do_something_to_B_v001.hip (644.0 KB)
APEX__A_do_something_to_B_v001.gif (697.2 KB)

User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
AntonMoss
guoli
Really feel embarrassed, recently I’ve been asking the most questions on the forum, probably because I’m the dumbest.

I made a small scene and want A to move toward B by one unit, like 0.1cm or so. When reaching a set distance condition, B would move or rotate.

I know Apex has ifbegin, but I’ve been messing around for a long time and still don’t know how to use it properly.

Oh, I’m a bit of a dummy, so I’m coming to ask you guys!

It would be great if you can provide a file.

Thanks, everyone.

I wouldn't use an ifbegin for this particular task. Check out the attached example. You can use the local xform fit method(the method used in the file), or measure the distance between the 2 joints, or use the new set-driven key functionality.
Image Not Found



牛逼!!Thanks, expert!
User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
AntonMoss
guoli
Really feel embarrassed, recently I’ve been asking the most questions on the forum, probably because I’m the dumbest.

I made a small scene and want A to move toward B by one unit, like 0.1cm or so. When reaching a set distance condition, B would move or rotate.

I know Apex has ifbegin, but I’ve been messing around for a long time and still don’t know how to use it properly.

Oh, I’m a bit of a dummy, so I’m coming to ask you guys!

It would be great if you can provide a file.

Thanks, everyone.

I wouldn't use an ifbegin for this particular task. Check out the attached example. You can use the local xform fit method(the method used in the file), or measure the distance between the 2 joints, or use the new set-driven key functionality.
Image Not Found



Also, have you noticed that set-driven key is too slow? In slightly more complex scenes, it can take 5 minutes to respond to a click, and the scene lags too.
User Avatar
Member
8171 posts
Joined: July 2005
Offline
5 minutes to respond _everytime_? Can you share your file?
User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
guoli
edward
5 minutes to respond _everytime_? Can you share your file?

I'm not lying to you, it really exists. I recorded a video of the whole process for you to see. The file opened, but the operation wasn't smooth, so I spent quite a bit of time on this file. I still need to check with the person in charge before I can send you the document.

I guess it's because there are too many feather bones. If there weren't so many feather bones, some parts couldn't fully retract the feathers, like the wing feathers and tail feathers.




User Avatar
Member
8171 posts
Joined: July 2005
Offline
It's really hard to tell where the bottleneck is in this case. I can't imagine the evaluation of the SetDrivenKeys rig to be that slow. Please log a bug with your file so that a developer can take a look. Offhand, I think that if you use "condensed" feather primitives it would be lighter for the viewport when you go to animate.
User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
edward
It's really hard to tell where the bottleneck is in this case. I can't imagine the evaluation of the SetDrivenKeys rig to be that slow. Please log a bug with your file so that a developer can take a look. Offhand, I think that if you use "condensed" feather primitives it would be lighter for the viewport when you go to animate.


Thanks, expert. After entering scene animate, the work is really smooth, no problem. It's only slow in SetDrivenKeys, graph, fuse graph, those areas. But I think it's probably due to the number of feather bones, I need to reduce the bones.
User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
edward
It's really hard to tell where the bottleneck is in this case. I can't imagine the evaluation of the SetDrivenKeys rig to be that slow. Please log a bug with your file so that a developer can take a look. Offhand, I think that if you use "condensed" feather primitives it would be lighter for the viewport when you go to animate.



I have a question. The feathers between different control groups affect each other, so I have to add more bones to the control groups to control them effectively. But then, with more bones, things get slow—like my file that takes 5 minutes to load!

I know the official docs have an example with the create_control_group_masks setup. It's a bit complicated. I can use it on two wings, but I don’t know how to apply it to other body parts! Isn’t there a simpler way?

Like a property brush or something. Thanks.
User Avatar
Staff
159 posts
Joined: Oct. 2023
Offline
Hi,

That does seem mighty slow.

Please bare in mind that when you are using the set driven key component, you are creating channel primitives for the controls and evaluating them in the rig, this is not a simple evaluation and will add up. Try and be a little more surgical about which controls are animated in the rigpose. If you dont need certain controls to move, remove all keyframes from it in that layer.

When you set a keyframe on a control in the rigpose, that control will be added to the evaluation. We are looping over the channels to determine which controls will be driven.

hopefully this speeds things up a little.
User Avatar
Member
45 posts
Joined: Nov. 2024
Offline
william_harley
Hi,

That does seem mighty slow.

Please bare in mind that when you are using the set driven key component, you are creating channel primitives for the controls and evaluating them in the rig, this is not a simple evaluation and will add up. Try and be a little more surgical about which controls are animated in the rigpose. If you dont need certain controls to move, remove all keyframes from it in that layer.

When you set a keyframe on a control in the rigpose, that control will be added to the evaluation. We are looping over the channels to determine which controls will be driven.

hopefully this speeds things up a little.



Thanks, sir. Following your suggestions and cutting down the feather control group, it’s running smoothly now!
  • Quick Links