Moin,
inspired by a forum link David sent me, I thought … why not create 3d fractals based on Mandelbrot-ish ideas in Houdini so that one can fly through them?
This is just a default render-out of the point cloud I am creating. There is lots and LOTS of room for improvement - I am just a bit proud to have gotten it working so far. Almost everything is adjustable: Position, size and resolution of the bounding box (which also defines the area of the points to check), bailout and origin-tolerance, iterations.
It's quite fast and since you can move the bounding box through the actual term, you can easily find the sweet spots.
This version does not yet use distance-estimation, it's a pure escape-condition based “on/off” for each point.
Marc
Found 590 posts.
Search results Show results as topic list.
Work in Progress » 3d Fractals ...
-
- malbrecht
- 806 posts
- Offline
Houdini Indie and Apprentice » Correcting bone orientation in Houdini
-
- malbrecht
- 806 posts
- Offline
Moin,
if I understand your problem correctly, then using the “Align Capture Pose” tool in the Rigging Shelf is what you are looking for. The general use for this is to (ignoring what you are doing to the geometry for a moment) rotate the bone the way you want it to be in correct “setup state”, then click on the “Align Capture Pose” tool. That will push the current rotation to the setup state and zero out the animation (pose) state.
If you have to correct the following / depending bones, just click on each of the bones while the align-capture-pose tool is still active, it will simply push the current state of each bone you click on into setup state, “auto-correcting” your pose.
I hope this helps! More in my “Full Houdini Rigging And Animation Course” later 2017
Marc
if I understand your problem correctly, then using the “Align Capture Pose” tool in the Rigging Shelf is what you are looking for. The general use for this is to (ignoring what you are doing to the geometry for a moment) rotate the bone the way you want it to be in correct “setup state”, then click on the “Align Capture Pose” tool. That will push the current rotation to the setup state and zero out the animation (pose) state.
If you have to correct the following / depending bones, just click on each of the bones while the align-capture-pose tool is still active, it will simply push the current state of each bone you click on into setup state, “auto-correcting” your pose.
I hope this helps! More in my “Full Houdini Rigging And Animation Course” later 2017

Marc
Technical Discussion » Override software filebrowser?
-
- malbrecht
- 806 posts
- Offline
Oh, yes, PLEASE … a *real* file browser that you can drag'n'drop files into while it's open! A *real* file browser that uses your manually set up favorites! A *real* file browser that is fast, OS-conform and correctly reacts to keyboard input! A *real* filebrowser that understands network browsing! A *real* filebrowser - please!
I'd pay money for that.
Marc
I'd pay money for that.
Marc
Houdini Indie and Apprentice » Very slow object creation
-
- malbrecht
- 806 posts
- Offline
Moin,
this is definitely not how it should behave. 15.5.673 Apprentice/Indie works smoothly on my system here, creating default geometry takes about 1/4 second.
Maybe there is something odd with your Python installation (you did not mention what system you are running), maybe something is filling up your syslog … there are just way too many parameters to guess what might go wrong, so maybe you could post some more details about how/where you are using Houdini … and if you should be on Windows, try creating a new user and install Houdini there, my wife is capable of garbaging up her windows accounts so that *everything* crawls to a halt and the only response she ever gives when asked “whatyado” is “nuffing!”.
Marc
this is definitely not how it should behave. 15.5.673 Apprentice/Indie works smoothly on my system here, creating default geometry takes about 1/4 second.
Maybe there is something odd with your Python installation (you did not mention what system you are running), maybe something is filling up your syslog … there are just way too many parameters to guess what might go wrong, so maybe you could post some more details about how/where you are using Houdini … and if you should be on Windows, try creating a new user and install Houdini there, my wife is capable of garbaging up her windows accounts so that *everything* crawls to a halt and the only response she ever gives when asked “whatyado” is “nuffing!”.
Marc
Houdini Learning Materials » XYZ Function
-
- malbrecht
- 806 posts
- Offline
Moin, Christopher,
> malbrecht - I assume the vector pt can be as simple as a point, or a point on another geometric object ?
I would think so, as a “point” in Houdini usually mostly only refers to a position in space. You will obviously have to *define* the point
> What values must be entered for these arguments ?
I am not 100% sure what you mean by that question - the maximum distance is *the* *maximum* *distance* the ray that is getting cast from the “check point” towards the geometry is allowed to intersect with the geometry.
Although I don't know the algorithm used in Houdini, usually you have to walk through all primitives in a given geometry and check if there are other primitives between the one you are testing and your point (and if other vertices' point positions may be closer), so you, eventually, have to check *a* *lot* of primitives, which can be slow. By limiting the ray length, the algorithm can do a simple bounding box check to filter out all primitives that are not to be checked, possibly speeding up the whole process by magnitudes.
And the UV coordinates are *the* *UV* *coordinates*, meaning the “position” on the UV map for the primitive being returned (by its index based on the geometry you provided), by using the UV coordinates you get the “point in space” (with the primitive's UV origin being the local 0/0/0) where your ray hits the primitive.
Note: This is based on “common sense understanding” on how functions like this usually work, I assume they work the same in Houdini.
When in doubt, try it out
Marc
> malbrecht - I assume the vector pt can be as simple as a point, or a point on another geometric object ?
I would think so, as a “point” in Houdini usually mostly only refers to a position in space. You will obviously have to *define* the point

> What values must be entered for these arguments ?
I am not 100% sure what you mean by that question - the maximum distance is *the* *maximum* *distance* the ray that is getting cast from the “check point” towards the geometry is allowed to intersect with the geometry.
Although I don't know the algorithm used in Houdini, usually you have to walk through all primitives in a given geometry and check if there are other primitives between the one you are testing and your point (and if other vertices' point positions may be closer), so you, eventually, have to check *a* *lot* of primitives, which can be slow. By limiting the ray length, the algorithm can do a simple bounding box check to filter out all primitives that are not to be checked, possibly speeding up the whole process by magnitudes.
And the UV coordinates are *the* *UV* *coordinates*, meaning the “position” on the UV map for the primitive being returned (by its index based on the geometry you provided), by using the UV coordinates you get the “point in space” (with the primitive's UV origin being the local 0/0/0) where your ray hits the primitive.
Note: This is based on “common sense understanding” on how functions like this usually work, I assume they work the same in Houdini.
When in doubt, try it out

Marc
Houdini Learning Materials » XYZ Function
-
- malbrecht
- 806 posts
- Offline
Moin,
> What closest point, any point the center of the object point ?
the documentation actually explains it quite well: What you get back is the index of the primitive that is closest to the point in space that you specified PLUS the UV coordinate on that primitive. So you get both - a rough aproximation “this'll be the primitive you want to handle” and a fine grained detail of where the ray from your point to that primitive hits the later.
Functions like this are used to e.g. cut geometry by creating new polygons (Houdini speak “primitives”) inside the one you are “hitting”, e.g. when intersecting or creating your own boolean operations.
One simple way to use this is to have a “laser gun beam” emitting from your point in space towards the (rotating) geometry, setting a pixel on the diffuse/emission texture to red/yellow/white where the “closest point on UV” is defined. Laser-glow-effect done easy
Marc
> What closest point, any point the center of the object point ?
the documentation actually explains it quite well: What you get back is the index of the primitive that is closest to the point in space that you specified PLUS the UV coordinate on that primitive. So you get both - a rough aproximation “this'll be the primitive you want to handle” and a fine grained detail of where the ray from your point to that primitive hits the later.
Functions like this are used to e.g. cut geometry by creating new polygons (Houdini speak “primitives”) inside the one you are “hitting”, e.g. when intersecting or creating your own boolean operations.
One simple way to use this is to have a “laser gun beam” emitting from your point in space towards the (rotating) geometry, setting a pixel on the diffuse/emission texture to red/yellow/white where the “closest point on UV” is defined. Laser-glow-effect done easy

Marc
Houdini Lounge » Houdini power
-
- malbrecht
- 806 posts
- Offline
Oh, no doubts about *theoretically* being able to do actually *everything* in Houdini! I mean that. I have done even more crazy things. The first 3d model I created (and kind of the last, because I had to accept that I am not and will never be an artist) was something like 64 lines of numbers and punctuations plus a program to start a script that would fire of DKB Trace.
There is, however, that other side of “being able to do”, which involves things like “mental sanity” or “surviving the next discussion with your spouse about how to spend night time”, not to mention the desperate need of producing kids to ensure the safety of your pension.
Marc
There is, however, that other side of “being able to do”, which involves things like “mental sanity” or “surviving the next discussion with your spouse about how to spend night time”, not to mention the desperate need of producing kids to ensure the safety of your pension.
Marc
Edited by malbrecht - Dec. 8, 2016 15:30:09
Houdini Lounge » Houdini power
-
- malbrecht
- 806 posts
- Offline
I am growing to become a fully fledged Houdini fan - but, honestly, right now I don't see how Houdini could *really* (not just theoretically) do the comping, grading, audio effects and mixing, the mastering (I mean, the TO was talking about “the whole movie”, not just the visual effects).
In theory, sure, you could just pixel each frame manually and write the audio tracks in Word. But, honestly, doing the *whole* movie just in Houdini I do not see as possible.
Smaller projects with kind of the same visual quality and leaving out audio, comp, grade, editing etc: Yes, I'd vote for that.
Marc
In theory, sure, you could just pixel each frame manually and write the audio tracks in Word. But, honestly, doing the *whole* movie just in Houdini I do not see as possible.
Smaller projects with kind of the same visual quality and leaving out audio, comp, grade, editing etc: Yes, I'd vote for that.
Marc
Houdini Lounge » Houdini power
-
- malbrecht
- 806 posts
- Offline
Moin,
> Things like the photorealistic animals, animation, rain, forest etc. Could Houdini produce these all these to a high standard on its own?
No. Houdini needs an Aprentice to do the work for him, Houdini himself will then only do what Aprentice tells it to do.
Or, in other words: No, Houdini is not good enough to do it all on its own. It needs human artists to do most of the work, but it can get quite good at creating procedural things. And non-procedural things. And non-things, for that matter. Left to its own devices, Houdini does nothing, it will just sit there and wait for input.
If you should mean: “Could someone create a movie with just Houdini as a tool”, then I'd say: Hell, no way!
(But it's getting closer and closer, hihi)
Marc
> Things like the photorealistic animals, animation, rain, forest etc. Could Houdini produce these all these to a high standard on its own?
No. Houdini needs an Aprentice to do the work for him, Houdini himself will then only do what Aprentice tells it to do.
Or, in other words: No, Houdini is not good enough to do it all on its own. It needs human artists to do most of the work, but it can get quite good at creating procedural things. And non-procedural things. And non-things, for that matter. Left to its own devices, Houdini does nothing, it will just sit there and wait for input.
If you should mean: “Could someone create a movie with just Houdini as a tool”, then I'd say: Hell, no way!
(But it's getting closer and closer, hihi)
Marc
Technical Discussion » VEX HELP: including voptype.h
-
- malbrecht
- 806 posts
- Offline
Moin,
to extend what Arthur already explained:
creates a 3-parted-vector named pcP and assigns to it the current position (“current” meaning that the VEX code most likely is getting iterated over all positions available in the specific geometry context, be it points, vertices or primitives, depending on the node connection it has).
The “@” means that the “P” (the “P” after the “@” stands for “current position”) is a globally accessible variable, in Houdini speak you would pronounce it “attribute position” (@ for attribute, P for position).
The “v” before the “@” is a type-cast, it is to make sure that “pcP” gets a 3-component vector value (in the case of “P” that should be reliably so, but always putting the type before the variable seems to me like a good habit).
Marc
(no top, no middle, no nothing engineer, just starting with VEX and other crazies)
to extend what Arthur already explained:
VOPpoint pcP= v@P;
creates a 3-parted-vector named pcP and assigns to it the current position (“current” meaning that the VEX code most likely is getting iterated over all positions available in the specific geometry context, be it points, vertices or primitives, depending on the node connection it has).
The “@” means that the “P” (the “P” after the “@” stands for “current position”) is a globally accessible variable, in Houdini speak you would pronounce it “attribute position” (@ for attribute, P for position).
The “v” before the “@” is a type-cast, it is to make sure that “pcP” gets a 3-component vector value (in the case of “P” that should be reliably so, but always putting the type before the variable seems to me like a good habit).
Marc
(no top, no middle, no nothing engineer, just starting with VEX and other crazies)
Edited by malbrecht - Dec. 8, 2016 08:08:11
Houdini Lounge » If you are making a Houdini tutorial
-
- malbrecht
- 806 posts
- Offline
Moin, Konstantin,
*that* is a *very* helpful list, thank you! I agree with most points 100%, with some 87% and with one I have an issue:
- webinars ;-)
What I don't get is this: While I personally find webinars fascinating, because they usually show you “real world” usecases instead of just “artists playing around”, most webinars use sub-standard tech for recording. It would be so easy to record audio AND video on the presenter's system while doing the screencast through some backdoor hack (Skype or whatever), so that the life audience can experience the full bootleg quality of scrappy sound and video, while those willing to wait for Vimeo-uploads get a high quality, maybe even cleaned up version (I hereby volunteer to do audio cleanup and video editing for Houdini webinars).
So … I wouldn't “ban” webinars, I would just ask for modern tech to be used for the recording.
My personal “don'ts” (*additionally* to yours)
- show only “artistic” use of tools (instead, please, EXPLAIN what the tools do and WHY you chose one over another)
- show hours and hours of breathtakingly boring fiddling with unimportant (read: artistic) corrections (instead show one, two minutes of fiddling, then do a timelapse or edit the video, explaining what you did in a 10-second-spotlight)
- use outworldish third software to fix problems if the tutorial is said to be about solving the problem in the “on topic” software (like using Photoshop to correct texture maps when the video is about correcting texture maps in Mari)
- edit out bugs in the software and only show workarounds (instead, please, DO SHOW the bugs, it is well possible that those bugs have been removed later and viewers of the tutorial can live without the workaround. But, please, also show the workaround)
- pretend that the software you are showcasing is “the best” and “quite perfect” when the rest of the tutorial clearly shows that it is overly complicated to get the results you are after and it would take you only seconds to do the same in a specialized tool (instead state that you are only making a point that it “is possible to do it here, too, but only if you just got a divorce and have time to waste”)
- talk too slow or not at all
- smack, slurp, cough, lisp
- talk about a single vertice. (just call the bugger by its real name: Vertex.)
Marc
*that* is a *very* helpful list, thank you! I agree with most points 100%, with some 87% and with one I have an issue:
- webinars ;-)
What I don't get is this: While I personally find webinars fascinating, because they usually show you “real world” usecases instead of just “artists playing around”, most webinars use sub-standard tech for recording. It would be so easy to record audio AND video on the presenter's system while doing the screencast through some backdoor hack (Skype or whatever), so that the life audience can experience the full bootleg quality of scrappy sound and video, while those willing to wait for Vimeo-uploads get a high quality, maybe even cleaned up version (I hereby volunteer to do audio cleanup and video editing for Houdini webinars).
So … I wouldn't “ban” webinars, I would just ask for modern tech to be used for the recording.
My personal “don'ts” (*additionally* to yours)
- show only “artistic” use of tools (instead, please, EXPLAIN what the tools do and WHY you chose one over another)
- show hours and hours of breathtakingly boring fiddling with unimportant (read: artistic) corrections (instead show one, two minutes of fiddling, then do a timelapse or edit the video, explaining what you did in a 10-second-spotlight)
- use outworldish third software to fix problems if the tutorial is said to be about solving the problem in the “on topic” software (like using Photoshop to correct texture maps when the video is about correcting texture maps in Mari)
- edit out bugs in the software and only show workarounds (instead, please, DO SHOW the bugs, it is well possible that those bugs have been removed later and viewers of the tutorial can live without the workaround. But, please, also show the workaround)
- pretend that the software you are showcasing is “the best” and “quite perfect” when the rest of the tutorial clearly shows that it is overly complicated to get the results you are after and it would take you only seconds to do the same in a specialized tool (instead state that you are only making a point that it “is possible to do it here, too, but only if you just got a divorce and have time to waste”)
- talk too slow or not at all
- smack, slurp, cough, lisp
- talk about a single vertice. (just call the bugger by its real name: Vertex.)
Marc
Houdini Lounge » If you are making a Houdini tutorial
-
- malbrecht
- 806 posts
- Offline
Moin,
I guess you mean the function to enlarge the networkview-pane to “full size”, which is CTRL+B on Windows (and probably on Linux)? While that is nice for displaying a complex network view, it may not be what you need in a tutorial that shows what the nodes actually *do* (in the perspective view).
Yet, you are right of course, showing how the full network looks like quite often would be helpful in tutorials.
Since I want to produce Houdini tutorials (and have started with some small “make your transition easier” ones on Vimeo), I would love to see more hints *and* *wishes* in this thread about what people would *like* to see in tutorials, what they hate, what they consider good practice!
Marc
I guess you mean the function to enlarge the networkview-pane to “full size”, which is CTRL+B on Windows (and probably on Linux)? While that is nice for displaying a complex network view, it may not be what you need in a tutorial that shows what the nodes actually *do* (in the perspective view).
Yet, you are right of course, showing how the full network looks like quite often would be helpful in tutorials.
Since I want to produce Houdini tutorials (and have started with some small “make your transition easier” ones on Vimeo), I would love to see more hints *and* *wishes* in this thread about what people would *like* to see in tutorials, what they hate, what they consider good practice!
Marc
Houdini Learning Materials » Navigation viewport problem Alt / Space barre
-
- malbrecht
- 806 posts
- Offline
Moin,
> Do you know a solution to reset the perpective camera ?
there are some “perspective view shortcut key combinations” like Spacebar+H for a defined “Home Position” (probably what you mean by “reset”), Spacebar+a for “all items in viewport”, Spacebar+f for “find” (selected item gets zoomed to).
I am new to Houdini myself and started “documenting” my humble attempts - maybe, hopefully, this (and the following) video(s) can help you?
Marc
> Do you know a solution to reset the perpective camera ?
there are some “perspective view shortcut key combinations” like Spacebar+H for a defined “Home Position” (probably what you mean by “reset”), Spacebar+a for “all items in viewport”, Spacebar+f for “find” (selected item gets zoomed to).
I am new to Houdini myself and started “documenting” my humble attempts - maybe, hopefully, this (and the following) video(s) can help you?
Marc
Technical Discussion » auto rig
-
- malbrecht
- 806 posts
- Offline
Moin, “Seifdune”(?),
could you be a bit more specific - for example, could you give a detailed run-down of everything you did/tried and what exactly the error message is telling you, maybe include some screenshot or a sample file?
Marc
could you be a bit more specific - for example, could you give a detailed run-down of everything you did/tried and what exactly the error message is telling you, maybe include some screenshot or a sample file?
Marc
Technical Discussion » Error: Unable to read file [.obj, .dxf, .stl]
-
- malbrecht
- 806 posts
- Offline
> Maybe some 3rd party otl I've installed or?
would be interesting to know how a 3rd party tool interferes with a clean Houdini installation (which is what you did - at least in my understanding) … still, it seems to be something machine-specific.
Marc
would be interesting to know how a 3rd party tool interferes with a clean Houdini installation (which is what you did - at least in my understanding) … still, it seems to be something machine-specific.
Marc
Technical Discussion » Error: Unable to read file [.obj, .dxf, .stl]
-
- malbrecht
- 806 posts
- Offline
The file references “Nymph.stl”, which I do not have … simply loading another obj from the file node works fine here.
Marc
Marc
Edited by malbrecht - Nov. 28, 2016 08:14:50
Technical Discussion » Error: Unable to read file [.obj, .dxf, .stl]
-
- malbrecht
- 806 posts
- Offline
Moin,
just to be on the safe side - have you tried with a trivial OBJ file, like a single triangle, hand-written into the .obj? If that also fails, there must something odd (at least I can, without any issues, import some obj test files here into 15.5.632).
If it does *not* fail, there's still the chance that your files are corrupt in some weird way, although that sounds unlikely for several different files …
Marc
just to be on the safe side - have you tried with a trivial OBJ file, like a single triangle, hand-written into the .obj? If that also fails, there must something odd (at least I can, without any issues, import some obj test files here into 15.5.632).
If it does *not* fail, there's still the chance that your files are corrupt in some weird way, although that sounds unlikely for several different files …
Marc
Edited by malbrecht - Nov. 28, 2016 03:16:26
Work in Progress » A Freshman's Approach to Learning Houdini - or "Houdini for Dummies" ...
-
- malbrecht
- 806 posts
- Offline
Houdini Indie and Apprentice » Texturing objects with existing UV's
-
- malbrecht
- 806 posts
- Offline
Moin, Thanks,
if by “texturing” you mean “paint textures interactively on a model”, I am afraid I can not help, yet - still learning myself.
If by “texturing” you mean “apply materials and texture maps”, maybe my “a bloody greenhorn's attempt at doing something in Houdini” video Nr. 3 is of some help: https://vimeo.com/191302565 [vimeo.com]
Marc
if by “texturing” you mean “paint textures interactively on a model”, I am afraid I can not help, yet - still learning myself.
If by “texturing” you mean “apply materials and texture maps”, maybe my “a bloody greenhorn's attempt at doing something in Houdini” video Nr. 3 is of some help: https://vimeo.com/191302565 [vimeo.com]
Marc
Houdini Indie and Apprentice » Autorig error on building
-
- malbrecht
- 806 posts
- Offline
Hi, Dan,
thanks for the feedback - the problem with rigging/animation tutorials for Houdini is, that most of them are quite dated. I am working on a full course on that topic, but it will take me at least another couple of months to understand Houdini well enough (I, too, have only recently started) …
OTL is an “operator type library” - Houdini is very “file system affine”, so it will quite often want to store (temporary or final) data to disk. That OTL you need to set up for the autorig is one example of that.
Marc
thanks for the feedback - the problem with rigging/animation tutorials for Houdini is, that most of them are quite dated. I am working on a full course on that topic, but it will take me at least another couple of months to understand Houdini well enough (I, too, have only recently started) …
OTL is an “operator type library” - Houdini is very “file system affine”, so it will quite often want to store (temporary or final) data to disk. That OTL you need to set up for the autorig is one example of that.
Marc
-
- Quick Links