Jump to content

Pool table scene

Recommended Posts

Hey Folks,

As this is my first post, I'd thought that I'd say hello and thank everyone for this great site. I'm still very new(less that 3 months) to houdini and 3d graphics in general but I'm determined to try to become a houdini master but in the meantime I hope you'll all bear with me and my newbie questions. :(

Find attached my 3rd independant scene that I've done in houdini (when I say independant, I mean not following vtms or tutorial guides).

I don't think that I did it in a very efficient way though but it's a method that I was able to understand. I do have several additional questions with regards to my network, textures and also some questions about animating the scene which I would be grateful for help with. (FYI, I posted this as well in the houdini online course. unsure if that is considered rude or whatever but if you want points in the course then feel free to head over there)

(1) I started with the pockets and once I had done one corner pocket, my intial plan was to do add a copy sop and do 3 copies for each corner. (And 1 copy for the middle pocket). However when I set the copy number to 3 and I tried to move the copies into the correct position, I found that they all move together which made it a nightmare to get them into position as they needed to be rotated all in a different way and in different positions. In the end I did 4 copy sops for the corner pockets and then edited each copy to move it into position. Very tedious and annoying. I was wondering if there was some formula or expression or if there was an easier way to have done that. I had to do the same thing for middle pockets as well.

(2) I'm not overly happy with the edges of the green sidebars on each pocket as they are too blocky and sharp. A real pool-table has them more rounded but when I added a sub-divide to each edge, it totally screwed up the sidebar. I attempt to make smaller section on each side of the edge but doing a poly-split but I needed to do 24 of them in total and my computer ran incredibly slowly after as a result. So is there a way to make those edges more rounded and doesn't kill the performance of my computer ?

(3) When connecting the pockets together, I used a polyknit. My plan had been to do 2 polyknits and then a polycap to close the tops. However, the polycap just refused to work at all. It added the polycap to the network ok with no errors but the gap wasn't capped. This forced me to added more polyknits which really made my network even longer. Any ideas why ?

(4) At the back of the pockets, I put a green which was the same as the cloth. However, normally a pool-table would have a small net in order to catch the balls. I searched the palettes in houdini and I wasn't able to find anything that matched that so I was wondering if there was anyway to get a texture to vaguely resemble a net.

(5) Now that I'm close to animating the scene, I realised that the balls go through the playing surface of the table. Obviously I want the balls to stay on the surface and only go through the holes when the balls go into the pocket. So is there a way to force the balls not to go through the table and also how can I get the balls to disappear from the scene once they've been potted ?

Finally, any other advice on this scene and how it could be improved would be great as well.



Link to comment
Share on other sites

I'll answer the quickies which doesn't require me opening the hip file. :)

1. You need to make use of the second input of the copy sop. You draw a polygon curve such that each point is where you want the pocket. You then pipe the curve into the second input of your copy sop. In this case you want 1 copy per point so set the number of copies to 1.

Another point on your method is that if you were going the the brute route, there's no need to use the copy sop at all. Simply append a transform sop for each copy and moved them into place. Append a merge sop afterwards to merge each transform sop to display them at the same time.

2. A much quicker way than using PolySplit is to use the Bevel SOP (esp. in Houdini 6.5 which has the rounded option).This still creates additional geometry though.

The lightest possible way to do what you want is to skin a NURBS curve. Append a copy sop to your NURBS curve to make 2 copies. Translate it so that you have the whole column. Append a skin SOP.

3. <skip>

4. You probably want to look at some of the texturing tutorials.

5. My solution would be to simply animate the ball so that it doesn't go through the table. :) Make your table surface a sensible y coordinate and your ball a sensible radius. Then it's really easy to get the ball exactly on the surface of the table.

To get the balls to disappear from the table, you need to:

- make sure that the ball geometry is in a different object

- turn of the Display toggle in the Render tab of your ball's geometry object parmeters

- animate the parameter next to the display toggle

Link to comment
Share on other sites

Hi Starkhorn,

bit of a houdini newb myself but here's some observations based on my experience.

perhaps you could model each section of the table (wood and felt sections) between the pockets as seperate objects, that is modelling the table around the holes, rather than starting with a block and cutting the holes out of that. you may only need to make one section and then copy it with slight modifications. hard to explain in words, but model half of one hole, then the straight section, then half the other hole as one piece. you could easily get away with this with a small plastic/brass strip on top of the pockets, where the sections join, as many pool tables have to hold the nets on. likewise the same for the side felt sections, and then a seperate piece of geometry again for the flat part of the felt.

if there is one golden rule i've learnt the hard way it's that it doesnt need to be technically correct, it just has to look technically correct :D

try to avoid booleans (cookie). they leave the geometry as a mess and it takes some skill to be able to clean it up well. try to start with a primitive like a box and add enough polysplits and then edit to give it the rough shape, then subdivide. with some practice you can make a box into anything. polygon modelling tutorials for any application will help here.

you could model the pocket netting fairly easily, make a curve and add a PolyWire SOP, this will give the spline thickness that can be rendered. so make a U shaped curve, make a few copies and rotate them around, then add a few horizontal O shaped curves and that should be an ok shaped net.

pool tables usually have a fluorescent light hanging above them, you could get some really nice lighting with a rectangular area light, scaled to the shape of a fluoro tube, above the table. it hurts the render times a bit, you can turn the samples down really low until your quality renders though. houdini renders anything very fast with low settings.

see how you go.

edit: this is a bit of a ramble, ive changed it as i studied you SOP network more. to summarise though don't be afraid to make an object from many pieces of geometry, all finally joined with a merge SOP if required. trying to make complex shapes as one piece of geometry just makes life hard especially when texturing :) im not saying you have to start again, but it's some things to consider for your next project.

fire away with any questions and don't feel embarrased to ask. its commendable for jumping straight into houdini as your first 3d app, stick with it!

Link to comment
Share on other sites

Thanks ever so much for the responses. I have to admit to being quite nervous about posting over here as it seems really advanced so thanks for making me feel welcome.


PolyBevel did indeed sort out my edges so thanks. Will check out your other suggestions as well.

I had thought about just animating the balls on the appropraite axis but it's getting more complex as the balls need to realistically bounce off the sidebars of the pool table....

and I sorta hoped houdini could do that for me rather than me, i.e. whenever a ball hit the side of the primitive, then it would automatically know not to go through it but it bounce off it.


Thats oustanding what you've done and thank you so much for helping me with such good advice. Your pool table looks great whilst the shaders didn't work in 6.1, I was still able to see your geometry which is obviously the important thing.

I just had one question though regarding making a hole into the playing surface. A pool table hole isn't a straight edge across the pocket but it's sphere shaped. Now at this point, I would probably do a copy of your curve and extrude it more and then cookie it against the playing surface. :)

However, you've told me to avoid cookies so I was wondering just how to cut that hole in the playing surface ? I was thinking of doing a project on the curve and then a trim perhaps ? But I think that doesnt work with polygons ?

Thanks again.



ps my computer spec is 256RAM, 1.2GHz with a Geforce2 GTS pro video card and the computer is running WinXP with Houdini 6.1.208

Link to comment
Share on other sites

hi again

yeah project and curve are for nurbs, im definitely not qualified to talk about nurbs - never had much success with them, but ive seen some nurbs models that made my jaw drop.

yep the hole is shaped in x and z, but dead straight vertically in y. you could add a few polysplits horizontally and further shape the pocket/hole out to a sphere shape, the same way the hole is shaped in x and z. but, 10 readers of this could think of 10 ways to model it!

you could break it down further and make the wood pieces, the felt pieces, and then the pocket "housings" themselves. this gives you good control over the shapes. i think it's good to model in the same pieces the real thing would be in. a car door for example - different pieces of geometry for the metal outer part, plastic inside part, rubber seal around the window etc.

same video card as me :) it could be good to pick up another 256mb of ram sometime especially to speed up rendering.

cheers =)

Link to comment
Share on other sites

  • 1 month later...

Hey Folks,

Well I've managed to free up some time lately to finally get back to my pool table to make it better looking and to try to learn more about modelling etc.

Here's my result. I had followed Mark's file closely although I did a change for the pockets. I made they as seperate boxes, poly-split them like mad, drew a seperate curve and edited the points on the box to match the curve. Finally I did a mirror for both sides to ensure that both sides would be in-sync. Also I choose mirror as I found the consolidate seam option really useful as it made it look really seamless.

I did the sidebars and cushions pretty much as mark had done so....

Now I tried to edit the playing surface in order to create rounded holes for the pockets but I found it really tough. Was there a better way to do that ?

Also now I need to do some shading. I've tried the normal palettes and they do ok but I was wondering if there was a better way to shade them. I guess that means defining my own VOP networks ? (which of course I know little or nothing about yet.....)

Any other thoughts ?

Just to remind you all that I'm still new to 3d graphics world and that I'm trying to self-learn all this stuff (i.e. I don't have luxury of going to fancy graphics school or anything), so all advice welcome and very much appreciated.




Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...