The easiest way to get to the old demo directory is to get your hands on the second CD that shipped with Houdini5. Ask around on some of the forums and see if someone will burn you a copy.
The demo directory is about 350Mb of hip files split in to two directories. One was opspecific and the other was production. The opspecific directory contained a hip file for most of the operators in houdini showing how to use each node in a context.
Unforutnately the old-school use of “tubes and spheres” was deemed not appropriate for mass distribution along with the load problems. The files required a great deal of maintenance through the transition of H5 and H6.
I personally think that the demo files are an excellent vehicle to master the finer points of houdini. Many users have gone through them and gained a much more deep understanding of houdini.
Let's see if I can find the time to recreate them as OTL's. Not for a while, anyhow.
-jeff
Found 2146 posts.
Search results Show results as topic list.
Houdini Lounge » OP examples?
- old_school
- 2540 posts
- Offline
Houdini Lounge » Setting near/far clipping and Variable within Houdini
- old_school
- 2540 posts
- Offline
Try setting the near and far clipping planes in your camera. The viewport will inherit these values.
Technical Discussion » RFE for OTLs
- old_school
- 2540 posts
- Offline
This would be extremely dangerous plus highly confusing and this danger can be easily demonstrated by running two or more houdini's and edit all the otl's simultaneously. Now which one is which and what exactly is saved to disk?
This just happened to me today and thank god for the backup otl's in the backup directory.
This just happened to me today and thank god for the backup otl's in the backup directory.
Houdini Lounge » Proven character animation productions with Houdini
- old_school
- 2540 posts
- Offline
1: Can we compare Houdini to Xsi or Maya's powerful ik/fk switch?
Houdini 6 has this feature implented and it is very flexible allowing the character animator all the controls he/she needs to blend or switch from ik to fk and back again.
It even has a new interface to allow characters to pass/toss objects and grab on to other characters very easily. I have yet to see a character properly interface with it's surroundings: picking up stuff, grabbing other characters. This tool is not too bad here.
2: Can we compare Houdini to manipulate a character with extremeley sophisticated scripting with any of the industry leading packages for character animation (XSI,Maya,Max)?Houdini has a powerful scripting interface with all the right kind of hooks. Pick scripts to run commands to fetch channels, turn things on and off and much more. Many other scripting hooks. Houdini also has a whole host of specialized viewport handles available to manipulate bones and other objects in the character heirarchy.
I can site a few examples where characters animated in other packages were ported to houdini to do the more difficult character SFX shots like peeling disintegrating characters under tight animation control.
3: Which feature films with manual (no mocap) and character intensive have been done with Houdini?Look at C.O.R.E. for a start.
Numerous Features done at C.O.R.E.: Nothing being the most recent. Remember C.O.R.E. did some of the creatures in The Nutty Professor. Their earlier work was fantastic. The work on Fly Away Home which was nominated for an Academy award for SFX failed simply because the Academy failed to realise that the birds were CG and C.O.R.E. at the time were not in a position to properly “sell” themselves.
There are other examples. Check out our web site.
4: How quick is the workflow in setting up a character (rigging and anim speed) hiding/unhiding, layers, selection sets, etc, compared with xsi or Maya?The tools are fairly new so this is still an unknown. Given that, the tools are all centered around the 3D viewport and are very quick to lay down and are very flexible and tweakable. As an example, the capture edit tools contain painting options, point picking options with a spreadsheet interface if you wish, sliders on the bone handles themselves and more.
Rigging a character the first time for a feature by an entirely new crew will take some time to work out the workflow no matter what the software. Houdini now has the tools. It is up to the character rigger's experience to build a proper rig that the animators can work with. How many ways are there to rig a character? How is the spine rigged? The leg-foot-toe setup. How about the shoulders and on and on. Combine that with proper constraints, muscles and skin and you have a very sophisticated rig. Once again, it is the character rigger that determines this, not so much the tool anymore.
5: How many years has Houdini been developping their animation tools?Since 1989 in Prisms carried over to Houdini to the present. Houdini 5 and Houdini 6 have seen the greatest leaps in productivity with regards to character.
6: Are there f-curves and can we manipulate the f-curves like Maya or Xsi ? Or is it like character studios TCB'S?Houdini has a similar animation environment to Maya and Xsi. You use three tools to manipulate animation: channel editor, dope sheet a la SoftImage, spreadsheet a la Disney. Houdini does use some unique terminology as in the “Scope” which simply means a current collection of channels driven by selecting objects, selecting individual or groups of channels, adding or taking away from this “scope” of channels.
You add keys, you adjust keys, you slide keys, etc. Nothing to worry about here.
There are many powerful technologies in Houdini6 that make large scale production very efficient. Most animators don't care about this but there is something there for the facility managing the production.
I can see why you are so concerned. If you commit to deliver so many frames of animation a week, you want to be confident that the tool will give you that comfort zone. As well, Side Effects is a small company compared to Alias|Wavefront or SoftImage and are known as the SFX software of choice for Feature Film effects ignoring ILM (who are hard to ignore) and certainly not charcter. Maya had to start somewhere and it was Disney with Dinosaur and they used mainly Soft for the animation due to the same issues that you raise today. The animators stuck to SoftImage. Now look at where maya is and how far Soft has fallen back and does this have anything to do with the tools themselves… The most interesting thing was that the original Dinosaur was rigged with muscles and skin ready to go from the get go in Prisms in 1995 with hardly any custom code at all! Prisms is the predesessor to Houdini fyi.
I hope more production people pitch in to this conversation from the companies that do use Houdini to do some Feature Film character work otherwise the above is pretty hollow. How can you trust a guy from Side Effects? He must be biased. Yeah, I know.
Technical Discussion » Silly question about the Group and Duplicate OPs
- old_school
- 2540 posts
- Offline
You can post to both forums. Many of us troll through both forums looking for new posts.
I seem to troll the forums once or twice a day during weekdays.
As for your question regarding related scales, there are other ways to build data in houdini that can accomplish the same thing. Sometimes the traditional approach can be much improved using a procedural approach that isn't so obvious. Let us know what you want to do and then different approaches can be explored.
-jeff
I seem to troll the forums once or twice a day during weekdays.
As for your question regarding related scales, there are other ways to build data in houdini that can accomplish the same thing. Sometimes the traditional approach can be much improved using a procedural approach that isn't so obvious. Let us know what you want to do and then different approaches can be explored.
-jeff
Technical Discussion » Icon format change for custom DSO?
- old_school
- 2540 posts
- Offline
An excellent use of the old school command line compositor “ic”.
Glad to see that they are still extremely useful and completely slip under the radar of all newerish users. They don't even grab a license any more.
For those that want to know, go to $HFS/bin and poke around there for a few minutes. All the “i” commands are for images and yes you can link them together to do basic compositing.
-jeff
Glad to see that they are still extremely useful and completely slip under the radar of all newerish users. They don't even grab a license any more.
For those that want to know, go to $HFS/bin and poke around there for a few minutes. All the “i” commands are for images and yes you can link them together to do basic compositing.
-jeff
Technical Discussion » hscript: multi-lines
- old_school
- 2540 posts
- Offline
Technical Discussion » Silly question about the Group and Duplicate OPs
- old_school
- 2540 posts
- Offline
See my post on the OdForce forum:
http://odforce.net/forum/index.php [odforce.net] act=ST&f=15&t=956&s=fa2c5e32e4dfb361d6cb07dfe2e0e554
-jeff
http://odforce.net/forum/index.php [odforce.net] act=ST&f=15&t=956&s=fa2c5e32e4dfb361d6cb07dfe2e0e554
-jeff
Technical Discussion » Displacement At SOP and Not SHOP Level?
- old_school
- 2540 posts
- Offline
Are you writing shaders or using VOPs?
example shader code to displace along a point normal where P is the incoming point and N is the geometric normal if N doesn't exist explicitly:
…
/* Calculate the signed noise */
pp = vs_noise( (P+iseed) * freq + offset) * amp;
pp *= N;
P += pp;
}
VOPs network:
global(P)———————————-(wired in to displnml(P))
importattrib(uv)->vecttofloat->colormap(uv)->avgcomp->displnml->output(P N)
Now in VOPs go up one directory to the VOP node and rename the SOP Type Name to be something like VEX Map Displace. Now in SOPs, tab find your node and add it to the chain after the uv's are created.
How do you pipe the values from the SOP Geo to the P value in the Vex in Houdini 6.0?P is a global variable in the Sop context so just use P. It is read-write.
example shader code to displace along a point normal where P is the incoming point and N is the geometric normal if N doesn't exist explicitly:
…
/* Calculate the signed noise */
pp = vs_noise( (P+iseed) * freq + offset) * amp;
pp *= N;
P += pp;
}
VOPs network:
global(P)———————————-(wired in to displnml(P))
importattrib(uv)->vecttofloat->colormap(uv)->avgcomp->displnml->output(P N)
Now in VOPs go up one directory to the VOP node and rename the SOP Type Name to be something like VEX Map Displace. Now in SOPs, tab find your node and add it to the chain after the uv's are created.
I tried using the shader SOP node with the UV Project Texture node but I have not had any luck.Custom VEX nodes are accessed the same way any tool is once they are compiled and installed correctly. You only use the shader SOP to apply shaders for rendering. When you hit the tab key, do you see your custom VEX Sop?
Houdini Lounge » VEX how to's
- old_school
- 2540 posts
- Offline
To see the code for the default shaders in Houdini6, go to $HFS/houdini/otls and expand one of the otls in to $TEMP as follows:
hotl -x $TEMP/houdini_SOPs OPlibSop.otl
Now go to $TEMP/houdini_SOPs. This directory now contains the expanded contents of the default OTL containing all SOPs for you to inspect. Some are built with VOPs, others are old school hand written code. Go in to Sop_1v__mountain as this is hand written. View the VflCode file and that is where the original shader code is contained.
When you run vcc with the -l or -m options on your own handwritten shaders, it packages up your shader code in the same way in a .otl.
hotl -x $TEMP/houdini_SOPs OPlibSop.otl
Now go to $TEMP/houdini_SOPs. This directory now contains the expanded contents of the default OTL containing all SOPs for you to inspect. Some are built with VOPs, others are old school hand written code. Go in to Sop_1v__mountain as this is hand written. View the VflCode file and that is where the original shader code is contained.
When you run vcc with the -l or -m options on your own handwritten shaders, it packages up your shader code in the same way in a .otl.
Houdini Lounge » VEX how to's
- old_school
- 2540 posts
- Offline
Since you are interested in geometry VEX operators, we will look at that case directly. All work to be done in $HOME/houdini6 as it is in the default HOUDINI_PATH.
There are now two ways to pick up VEX operators that you write yourself (no VOPs).
- old method of putting compiled shaders and dialogs in to vex/SOP and shop directories (for shaders only), then editing the file VEXsop to point to the new VEX geometry operator.
- new method of using vcc to compile your shader directly in to an OpType Library.
The second method is easier as the output is a single file, and if you choose to put all your VEX geometry nodes in a single OpType Library, then a single file holds all your custom VEX nodes.
In a shell with the houdini environment installed, type vcc -h. I assume that if you are writing shaders, you are using shells. Very difficult to do it any other way really.
You will end up doing something like:
vcc -l my_custom_SOPs.otl fancy_SOP.vfl
This will put the custom SOP fancy_SOP.vfl in to the otl called my_custom_SOPs.otl. If the otl does not exist, it will create it.
Now in Houdini, you just need to install the shader from the File menu and there it is.
Now another pitch for VOPs. If you develop your VEX skills with VOPs, you will have a much easier time of it. Noting will stop you from viewing the code. The code generated from VOPs is very clean and readable. If you want to write code, then I won't stop you at all.
As for the books, they really are indispensible even though they are intended for PRMAN. If you are truly interested in learning the ins and outs of shader writing, you need them. It is the methods that you need to learn. There is a lot of proven standard methods to putting certain parts of shaders together that you just need to know from reference. The Advanced Renderman book explains very well why things are done in particular ways. One example that pertains both to geometry and shaders is the way you displace points based on normals. The Advanced Renderman book explains this very clearly in only a couple pages.
-jeff
There are now two ways to pick up VEX operators that you write yourself (no VOPs).
- old method of putting compiled shaders and dialogs in to vex/SOP and shop directories (for shaders only), then editing the file VEXsop to point to the new VEX geometry operator.
- new method of using vcc to compile your shader directly in to an OpType Library.
The second method is easier as the output is a single file, and if you choose to put all your VEX geometry nodes in a single OpType Library, then a single file holds all your custom VEX nodes.
In a shell with the houdini environment installed, type vcc -h. I assume that if you are writing shaders, you are using shells. Very difficult to do it any other way really.
You will end up doing something like:
vcc -l my_custom_SOPs.otl fancy_SOP.vfl
This will put the custom SOP fancy_SOP.vfl in to the otl called my_custom_SOPs.otl. If the otl does not exist, it will create it.
Now in Houdini, you just need to install the shader from the File menu and there it is.
Now another pitch for VOPs. If you develop your VEX skills with VOPs, you will have a much easier time of it. Noting will stop you from viewing the code. The code generated from VOPs is very clean and readable. If you want to write code, then I won't stop you at all.
As for the books, they really are indispensible even though they are intended for PRMAN. If you are truly interested in learning the ins and outs of shader writing, you need them. It is the methods that you need to learn. There is a lot of proven standard methods to putting certain parts of shaders together that you just need to know from reference. The Advanced Renderman book explains very well why things are done in particular ways. One example that pertains both to geometry and shaders is the way you displace points based on normals. The Advanced Renderman book explains this very clearly in only a couple pages.
-jeff
Houdini Lounge » MetaBall Rotate, Translation, Scale?
- old_school
- 2540 posts
- Offline
Metaballs interact with each other to generate the resultant surface. Scaling up is not a problem but I thinkd the problem is with scaling down. If you scale down enough you just have a string of beads instead of a nice flowing surface. There is no way around this. Just turn on the hulls of your metaballs to see the real problem.
The only real work-around that I see is to put enough metaballs in the muscle to hold the shape when the muscle is completely stretched out as this represents the worst case scenario. If you used a line segment to place the metaballs, just resample to a higher level of detail and knock down the weights of the metaballs appropriately. If you manually placed them, then you have to add them manually and adjust their weights manually.
How are you placing the metaballs?
The only real work-around that I see is to put enough metaballs in the muscle to hold the shape when the muscle is completely stretched out as this represents the worst case scenario. If you used a line segment to place the metaballs, just resample to a higher level of detail and knock down the weights of the metaballs appropriately. If you manually placed them, then you have to add them manually and adjust their weights manually.
How are you placing the metaballs?
Technical Discussion » pops_rule_strangeness
- old_school
- 2540 posts
- Offline
POPs only executle linearly down the chain so I think the answer to your question is no, not before the curent timestep. A POP that initially set's a rule followed by another POP that unsets the rule is fine. Any POPs added after the first rule was defined that work based on that specific rule will work as planned but must be before the second POP that unsets the rule.
You have to keep in mind that all the timestep cares about is the particles' current position and the accumulated velocity and acceleration. From that, the particle is moved then the particles are fed back through the POP network with all the accumulated variables intact as time marches on as defined by the oversampling parameter. This is important to remember as some POPs like to reset attributes, like the upvector and rotate POPs.
The timestep is the part of the POPs engine that moves the particles after all the POPs are evaluated.
It is best to work on specific particle problems to see how best to approach a particle problem. What is the effect you are trying to achieve?
You have to keep in mind that all the timestep cares about is the particles' current position and the accumulated velocity and acceleration. From that, the particle is moved then the particles are fed back through the POP network with all the accumulated variables intact as time marches on as defined by the oversampling parameter. This is important to remember as some POPs like to reset attributes, like the upvector and rotate POPs.
The timestep is the part of the POPs engine that moves the particles after all the POPs are evaluated.
It is best to work on specific particle problems to see how best to approach a particle problem. What is the effect you are trying to achieve?
Technical Discussion » freebsd
- old_school
- 2540 posts
- Offline
Technical Discussion » Creep Problems
- old_school
- 2540 posts
- Offline
In Houdini 6, there is a new addition to a particles state; slide. When particles are sliding, they take in to account all the forces in the scene. You can blow the particles right off if you want. Use the collision POP to initiate the sliding as it is the easiest way to start the effect.
Houdini Lounge » VEX how to's
- old_school
- 2540 posts
- Offline
A forum dedicated to VEX is a great idea. I shall suggest it. Hardhats must be worn in the vex forum though. 8) I need a hardhat smiley.
I agree with Wolfwood. The Advanced RenderMan book is a must-have and is a great user guide. The Renderman Companion is needed as well but is a technical reference explaining the ins and outs of prman, which is very close to mantra. A third book that I highly recommend is the book Texture and Modelling: A Procedural Approach http://www.csee.umbc.edu/~ebert/book2e.html. [csee.umbc.edu] It has a better explanation of shader anti-aliasing and the different approaches that you can take than Advanced RenderMan. Break out your old math books.
It also has a good chapter on creating good shader UI, rendering volumetrics and fractals up the waazo (Kenton Musgrave).
I always recommend two sites:
The Renderman Repository:
http://www.renderman.org/RMR/ [renderman.org]
Rick May's site: http://www.accad.ohiostate.edu/~smay/RManNotes/rmannotes.html [accad.ohiostate.edu]
I agree with Wolfwood. The Advanced RenderMan book is a must-have and is a great user guide. The Renderman Companion is needed as well but is a technical reference explaining the ins and outs of prman, which is very close to mantra. A third book that I highly recommend is the book Texture and Modelling: A Procedural Approach http://www.csee.umbc.edu/~ebert/book2e.html. [csee.umbc.edu] It has a better explanation of shader anti-aliasing and the different approaches that you can take than Advanced RenderMan. Break out your old math books.
It also has a good chapter on creating good shader UI, rendering volumetrics and fractals up the waazo (Kenton Musgrave).
I always recommend two sites:
The Renderman Repository:
http://www.renderman.org/RMR/ [renderman.org]
Rick May's site: http://www.accad.ohiostate.edu/~smay/RManNotes/rmannotes.html [accad.ohiostate.edu]
I still can use index files right?Yes, that hasn't changed. You still need to manage your HOUDINI_PATH as well. Compile your shaders, install them in the correct directories, edit the index files, then make sure everything is visible to HOUDINI_PATH or the specialized variants like HOUDINI_VEX_PATH.
Technical Discussion » hscript: multi-lines
- old_school
- 2540 posts
- Offline
There is no support for \ to extend lines.
I tend to put several lines for defining opparms for objects but if it is a long expression, you have to unfortunately let the line wrap.
I tend to put several lines for defining opparms for objects but if it is a long expression, you have to unfortunately let the line wrap.
Technical Discussion » pops_rule_strangeness
- old_school
- 2540 posts
- Offline
Yes, the kill POP has a rules option as do a couple others, like the group POP.
The “dead” state of a particle introduced by a Kill POP can be changed up to the last POP in the chain with a State POP. POPs are order dependent. Putting a kill POP that kills all the particles followed by a state POP that sets Dead to 0 will negate the kill POP's effect.
Group SOP combine option and omit them from the next round through the kill using Group POPs to set up the conditions. Whatever you want, really.
The Group POP can use any or all combinations of the different options in the Create folder. You can build other groups using boolean rules in the Combine folder. You can see what points in a particular group in the Select folder. Using several Group POPs to control the behaviour is quite common. I name them very expressively so that I can clearly see what they are doing.
Other POPs that have the ability to change the state of particles are the suppress POP and the property POP. The suppress POP can be used to great effect. If you want to stop particles dead but have their upvector and velocities affected, just use the suppress POP and suppress the velocity. Use a group to control this or an event POP following this guy to release all particles based on a collision (a particle hit is common).
The property POP can be used to globally set particle properties. The fields should be self-explanatory.
Then there is the event POP. The collison POP can send a global event broadcast to all the POPs. An event POP listens for these events and can stop or start all particles or in a case like yours $DEAD == 0.
The “dead” state of a particle introduced by a Kill POP can be changed up to the last POP in the chain with a State POP. POPs are order dependent. Putting a kill POP that kills all the particles followed by a state POP that sets Dead to 0 will negate the kill POP's effect.
It seems that rules for pops are global,Not necessarily but yes in your case. It depends on your approach. By using Group POPs, you can create simple to complex groupings of particles to apply your conditions. Instead of using the Kill POP to derive the rule, use a Group POP and use that group reference in your Kill POP. You could create a group of particles that would place the particles if they are past the $AGE of 2 seconds. You could then only affect the wind on those particles by specifying that group pushing them downward and eventually killing them with the kill POP. Then you could have a mercy option with a Group POP setting random groups fed in to a suppress rule POP that randomly reversed death to some particles that were about to die and subsequently use this group the next time around in a
Group SOP combine option and omit them from the next round through the kill using Group POPs to set up the conditions. Whatever you want, really.
The Group POP can use any or all combinations of the different options in the Create folder. You can build other groups using boolean rules in the Combine folder. You can see what points in a particular group in the Select folder. Using several Group POPs to control the behaviour is quite common. I name them very expressively so that I can clearly see what they are doing.
Other POPs that have the ability to change the state of particles are the suppress POP and the property POP. The suppress POP can be used to great effect. If you want to stop particles dead but have their upvector and velocities affected, just use the suppress POP and suppress the velocity. Use a group to control this or an event POP following this guy to release all particles based on a collision (a particle hit is common).
The property POP can be used to globally set particle properties. The fields should be self-explanatory.
Then there is the event POP. The collison POP can send a global event broadcast to all the POPs. An event POP listens for these events and can stop or start all particles or in a case like yours $DEAD == 0.
Technical Discussion » chamfer_edges_feature_request
- old_school
- 2540 posts
- Offline
Technical Discussion » Virtual PC for Mac with Windows 2000 or Windows XP
- old_school
- 2540 posts
- Offline
I have never tried this. I have doubts though. There are some parts specifically for the processor like VEX and the new compositor and I doubt that Virtual PC traps these instructions and remaps them because the PowerPC chip has no real equivallent.
-
- Quick Links