I have a set of points that contain "linear" and "angular" acceleration data of a moving object.
Point 0 - 1 frame
Point 1 - 2 frame
.
.
.
Point 240 - 240 frame
It is easy to restore the motion path using linear acceleration. (Area CHOP)
Please help me figure out how to calculate object rotation angles or orientation
using "angular acceleration" or "angular velocity".
I'm totally stuck with matrices and quaternions so a math explanation of this process would be great!
Here the test hip to play with.
RecoverTest.hipnc
1. Setup Dop Network "Cache"
2. Export few frames. (1-100 for example)
3. Close Houdini.
4. Load scene again.
5. Jump to the last simulated frame (Do not drag.....just enter the number) and continue exporting (frames 101-240)
Downloaded...tested...works as expected. The only reason why this might happen is when you accidentally do not select camera. In this case script will create default camera named "Camera1" without animation. Not animated objects will have the keys because the script assumes that the object may be animated using expressions or parenting. Maybe this is some kind of "Houdini Indie" restriction...have no idea:(
At least for now You can:
RMB click on any shelf....
push "New Tool"
name it "HouToAE"
jump to script section
paste content of attached file
click "Accept"
Select camera, lights, nulls etc
push "HouToAE" button on the shelf
press enter
HouToAE.txt
here few pictures how i do it...
can You describe how You do it?
can You post simple scene which cause this errors?
The file from an example causes errors too?
You opened this script in the text editor for editing?
Because python is very critical to formatting
The superfluous "space" or "new line" in a wrong place can lead to an errors like:
>>>Indentationerror: unexpected indent
Fastest way to find first point of each primitive:
Add "primitive SOP"
Switch to Attribute tab
Add Alpha
Replace $CA with $PT
After doing this primitive`s alpha attribute will contain first point number.
"Local Overrides" from "Material Sop" may help
Assign material...
Add "Local Override"...
Select any parameter (texture name in your case)...
Replace texture name with an expression