Forgot your password?   Click here   •   No account yet?   Please Register    •   Or login using  
EN Login
SideFX Homepage
  • Products
    • What's New in H21
      • Overview
      • Animation
      • Rigging
      • CFX
      • VFX
      • Lookdev
      • Copernicus
      • Terrain & Modeling
    • Houdini
      • Overview
      • VFX
      • World Building
      • Lookdev
      • Characters
      • Modeling
      • Pipeline & AI
    • Houdini Engine
      • Overview
      • Engine Plug-Ins
      • Batch
    • Karma Renderer
      • Overview
      • Compare
    • Compare
    • SideFX Labs
    • Partners
  • Industries
    • Film & TV
    • Game Development
    • Motion Graphics
    • Virtual Reality
    • Synthetic Data for AI/ML
  • Community
    • Forum
    • News Feed
      • Overview
      • Project Profiles
      • Houdini HIVE Events
      • Contests & Jams
    • Gallery
    • Event Calendar
    • User Groups
    • Artist Directory
    • Houdini Merch Store
  • Learn
    • Tutorials
      • Overview
      • My Learning
      • Learning Paths
      • Tutorial Library
    • Content Library
    • Tech Demos
    • Talks & Webinars
    • Education Programs
      • Overview
      • Students
      • Instructors
      • Administrators
      • List of Schools
      • Resources
  • Support
    • Customer Support
    • Licensing
      • Overview
      • Commercial
      • Indie
      • Education
    • Help Desk | FAQ
    • H21 System Requirements
    • Documentation
    • Changelog / Journal
    • Report a Bug/RFE
  • Try | Buy
    • Try
    • Buy
    • Download
    • Contact Info
 
Advanced Search
Forums Search
Found 16 posts.

Search results Show results as topic list.

Technical Discussion » Geometry Channels vs Channel Primitives?

User Avatar
UtilitasArts
16 posts
Offline
 Aug. 25, 2024 03:30:38
I see! Thanks Edward storing the data to a stash worked for me aswel!

I see we can extract the keyframe and the value from the channel prima, but can we also extract the slope handels?
See full post 

Animation » Is there a straightforward way to view channel primitives?

User Avatar
UtilitasArts
16 posts
Offline
 Aug. 24, 2024 11:04:39
I did some playing around with this today.

I created this small hda. where you can easily view and edit the curves.

inside the hda there is only a stashnode. you can see the code on the screen. it's pretty simple.

I believe there is also a callback method that should be able to store the keyframes for you after editing them, but I was not able to get that to work.
See full post 

Technical Discussion » How to create geometry in standalone hython script?

User Avatar
UtilitasArts
16 posts
Offline
 Aug. 24, 2024 08:18:10
monomon
In case anyone else comes across this thread, I found a way to create static geometry outside of sop, and pass it on via a stash node

Yes, this works thanks a lot! this is a very nice way to create geometry through python!
See full post 

Technical Discussion » Geometry Channels vs Channel Primitives?

User Avatar
UtilitasArts
16 posts
Offline
 Aug. 24, 2024 07:36:08
I am starting to understand what channel primtives are.

animation-data stored on invisible primtives with hidden "attributes" that we can extract and make visible through both vex ("chprim_" functions) and python using the channellist and channelprim functions. this way we can store the animation to geometry without having to store the actual vertex-positions for each frame seems very convenient and saves a lot of diskspace when dealing with a lot of animations. It's something that I have been wanting for a while, so I would love to learn more about it.

now the example that Kodra posted shows an example on how to convert those primitives back to animation curves where we can modify them using the animation-editor again.

however, I believe the example is not altering the primitives themselves at the moment.

I personally get the error that the output_geometry was not defined.
which makes sense, because it's created before the callback function.
But there is an issue with writing back even if we were to add a proper geometry reference to the callback function.

a callback function is not executed from a python-sop I believe so all the geometry that we try to modify is read-only.

How can we after altering the animation curves, store the data back to channel-primitives? I believe that is what kodra's example tries to do. But using the callback doesn't work for me so far.
See full post 

Animation » Is there a straightforward way to view channel primitives?

User Avatar
UtilitasArts
16 posts
Offline
 Aug. 24, 2024 06:52:20
Thanks for sharing your hip file! learned a bunch from it!
See full post 

Technical Discussion » global vex include

User Avatar
UtilitasArts
16 posts
Offline
 June 14, 2024 10:30:49
hroberts
hroberts
I'm very late, but one approach I saw in LABS nodes is using `chs("../code_string")` in VEX. This causes VEX to evaluate the string as if it was actual VEX code in the wrangle. For example, add this to a detail wrangle:

```
vector addToPos(vector p) {
return p + {1, 2, 3};
}
```

Then in any other wrangle you can run that code with chs():

```
// Append the code string and run it (like #include)
`chs("../your_wrangle/snippet")`

v@P = addToPos(v@P);
```

What!!
This is crazy!!

This is so much more usefull to me. Because it works so dynamically and keeps long vex code much much cleaner.
Thanks a bunch for sharing!
See full post 

Technical Discussion » How to find currently selected tab in multiparm folder?

User Avatar
UtilitasArts
16 posts
Offline
 March 13, 2024 03:21:11
I wanted to see if I could have a tab be forced on the user. But I think you inspired me to go for a workaround!
See full post 

Technical Discussion » How to find currently selected tab in multiparm folder?

User Avatar
UtilitasArts
16 posts
Offline
 March 12, 2024 06:31:30
did someone ever find this out?
See full post 

Rigging » APEX Curve Solver?

User Avatar
UtilitasArts
16 posts
Offline
 Feb. 7, 2024 12:37:04
My issue with the rig::SplintInterpolateTransform is that the matrices flip for certain angles. and it's difficult to control this behaviour. this is something I tried to solve for my own rig. Here I have a video that shows the issue.
See full post 

Rigging » APEX Curve Solver?

User Avatar
UtilitasArts
16 posts
Offline
 Feb. 7, 2024 12:04:41
A little Bezier-rig based on kodra's suggestion.
I currently build this completely using one vex node (inside the apex graph).
I know it was mentioned before that vex would slow down the rigs. Currently this still updates with 120 fps. what is the best way to test my rig's performance? do rigs get more expensive as frames are added?
Edited by UtilitasArts - Feb. 7, 2024 12:09:31
See full post 

Rigging » Apex rig IK setup with 5 joints and limiting rotation

User Avatar
UtilitasArts
16 posts
Offline
 Feb. 3, 2024 09:46:43
Here I have a file that locks a matrix from rotating further than specified rotation angles.
See full post 

Rigging » Apex rig IK setup with 5 joints and limiting rotation

User Avatar
UtilitasArts
16 posts
Offline
 Feb. 3, 2024 04:12:17
I build a digitigrade IK leg yesterday (posted it on the discord server).
perhaps you can take a look at it to get some inspiration.

I'm pretty confident the same could be done to for more joints.

I am not sure yet how to do the limiting rotation part. I will take a look into limiting rotations today.
Edited by UtilitasArts - Feb. 3, 2024 04:13:19
See full post 

Rigging » APEX look at

User Avatar
UtilitasArts
16 posts
Offline
 Feb. 2, 2024 08:10:26
I took another look at it "no pun intended".

And I believe the last matrix is a point in space that is used to determine the "look-up".

I've got results when modifying the "translate" aspect of the matrix upwards.

I'm not sure if this is correct as I don't know why the look-up vector requires X Y and Z vectors.
See full post 

Rigging » APEX look at

User Avatar
UtilitasArts
16 posts
Offline
 Feb. 2, 2024 06:25:54
you can do pretty much anything you'd want with apex in it's current stage.
Apex is literally just a bunch of different houdini-contexts thrown together into a system that allows for functions to be fired through attributes. Quite amazing.

I personally was not able to get the Look-at working, because I did not understand the 3 matrix inputs it required and I dislike finding anything in the currently existing rigs. I'm more used to a 3 vector input look-at constraint. There is probably a good reason for it requiring matrices.

But you are always able to create your own look-at if you'd want. here is an example I quickly build using vector inputs.
See full post 

Rigging » Multi Parent Constraint + Hybrid Spine IK

User Avatar
UtilitasArts
16 posts
Offline
 Jan. 30, 2024 14:25:17
seeing that we can run vex in the apex graph makes me quite exciting.
should running vex inside apex still be considered optimal, performance wise? or should we notice slowdowns when using it compared to pre-existing nodes?

I have done quite a bit of rigging with kinefx in the meantime. it would be nice if I can convert my previous rig-logic work to apex rigs.
Edited by UtilitasArts - Jan. 30, 2024 14:33:11
See full post 

Technical Discussion » The "pivot" in cracktransform() and matrix?

User Avatar
UtilitasArts
16 posts
Offline
 Dec. 2, 2022 16:33:21
Hey there,

Allright, here we go.

the pivot inside the functions cracktransform and maketransform are actually more or less a function themselves.
For example in the function maketransform:

The pivot is applied like this:

Inside of a point attribute wrangle paste this code:

vector T = chv("T");
vector R = chv("R");
vector S = chv("S");
vector pivot = chv("P");

matrix m = maketransform(0,0,T,R,S);
matrix m2 = ident();

translate(m2,-pivot);
m2 *= m;
translate(m2,+pivot);

v@P *= m2;

if you create wrangle and apply this wrangle to a cube, you will start to understand it.

As you can see I did not use the "pivot" inside the maketransform function, I just recreated what it does behind the scenes.

The pivot is something that "alters" the actually stored transform.

In the function cracktransform it does the opposite of this. therefore it changes the rotationpoint of the matrix before extracting the data out of it.
See full post 
  • Quick Links
Search links
Show recent posts
Show unanswered posts
PRODUCTS
  • Houdini
  • Houdini Engine
  • Karma Renderer
LEARN
  • Talks & Webinars
  • Education Programs
SUPPORT
  • Customer Support
  • Help Desk | FAQ
  • H21 System Requirements
  • Documentation
  • Report a Bug/RFE
LEGAL
  • Terms of Use
  • Privacy Policy
  • License Agreement
  • Accessibility
  • Responsible Disclosure Program
COMPANY
  • About SideFX
  • Careers
  • Press
  • Houdini Merch Store
  • Internships
  • Contact Info
Copyright © SideFX 2025. All Rights Reserved.

Choose language