Modelling: Detailing walls on a round interior

   6807   26   1
User Avatar
Member
16 posts
Joined: April 2016
Offline
So I'm pretty new at Houdini, but I absolutely love it's network driven approach. Makes me feel super safe that I can never screw anything up too bad that I can't go back in time and fix…

Anyway, as an experiment I built a neat little tube by first creating a Curve, mirrored it, then using a Revolve to spin it around. The result is a rather neat looking round interior (think Star Trek).



So this shot is positioned within the tube. Now I want to decorate the inside. At this point I'm looking for advice on best practices. One thought I had would be to build a template wall with tubes and decals on it, then copy to points along the inside. Not sure though. I don't want EVERY wall to look exactly the same either, so this approach may need several slightly different templates (tag to different point groups).

I feel like I'm missing a convenient method of doing this that you pro's already know?

I must say it's rather tricky working at this view as I need to guide the camera within the tube itself, and make sure my pivot is reset once I get a good view, so that I can look around properly. Would be so cool to have a “Walk” mode like Sketchup has.

Thank you!
User Avatar
Staff
3456 posts
Joined: July 2005
Offline
try something like this
I make a curve (just a circle in this case)
and a camera

I added a null and parented the camera to it
then I put the curve into the Path Object of the null
so now you can adjust the position parameter and the camera will move along the curve
I added the offset null so that the camera would still be free to pan/tilt etc

Attachments:
camera_path.hip (85.4 KB)

Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
16 posts
Joined: April 2016
Offline
Nice trick! Thanks for that! I suppose then when I'm modelling structures the best thing to do is build a few camera rails to test with?

Now I just need to figure out how to handle sub-details like the walls. One thing that occurred to me is that whatever I do I want to be able to scale.. getting the exact size of each panel of the divisions is one thing, but I don't want the whole thing to explode if I decide it needed to be 10% larger. My idea of copy to points also has a possible flaw in that the panels won't connect seemlessly, they'd likely butt up against each other, so I would need some sort of fuse node to connect them, but I certainly wouldn't want to do that manually, especially if I were to decide to increase the amount of divisions, then i'd have to readjust my fuses…
User Avatar
Staff
3456 posts
Joined: July 2005
Offline
you might want to have a look at the sweep and skin SOPs

you'll retain more control over the inputs and be able to know exactly what you are building…

Attachments:
sweep_n_skin.hip (55.0 KB)

Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
16 posts
Joined: April 2016
Offline
Hmm so I did a quick look on youtube and just see people making nifty spirals out of Sweep/Skin. How would I use them to generate interesting geometry on my walls? I'm thinking something like future steampunk, so lots of piping and old looking computers
User Avatar
Staff
3456 posts
Joined: July 2005
Offline
the advantage of sweep/skin is that you can determine the number of ‘sections’ ahead of time, make groups of the points in order to place different types of walls in different areas etc
with a revolve all you get is geometry
and you can play with the point/prim order
see attached

Attachments:
sweep_n_skin_02.hip (78.5 KB)

Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
16 posts
Joined: April 2016
Offline
Neat trick! So this would probably be better to do than the Revolver thing?
User Avatar
Member
16 posts
Joined: April 2016
Offline
I've been taking inspiration by that circle/cam example you sent, and thought instead of plopping in and trying to align an arbitrary circle, perhaps I can have the data derived from the middle edge in the corridor.



Problem is, the camera doesn't want to follow along this group, it actually seems to be making a square along each of the selected edges.. what the heck?
User Avatar
Staff
3456 posts
Joined: July 2005
Offline
the path parameter won't follow a group in SOPs
you can make a new object, object_merge that geo into this new object and then extract that edge loop out as a poly curve…then it will work.
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
16 posts
Joined: April 2016
Offline
That's fantastic! Thanks! I'm always curious about why things don't work, so why did the sop act so crazy and weird?
User Avatar
Staff
3456 posts
Joined: July 2005
Offline
without seeing the file…I think it was taking the edges as a path…and since the edges run around the polygon you get a square path…
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
16 posts
Joined: April 2016
Offline
Alright so.. I've been trying out your sweep idea out and I'm having some trouble… seems to work with a alternation of 1 and two, but say I wanted to have one sweep group 7, but then I want to inject this other curve in to fill the blank it creates 3 times. I can't seem to figure out what to do with the 2nd sweep.

It doesn't exactly have to follow this numbering, but I want to have a long section of hallway, then occasionally have a bulkhead template for a few steps.

Later on i may want to extend this idea to 3 or 4 different templates interlacing the main curve.

I'm on the apprentice version, so not sure if this file will load.

Thanks a lot for your help so far!!

Attachments:
sweep test.hipnc (58.0 KB)

User Avatar
Staff
3456 posts
Joined: July 2005
Offline
just thinking out loud - this is a topic that could go a number or ways and take a long time

the sweep will take multiple cross sections…
so give this a whirl…
take your curve1 and curve 2 and merge them LIKE THIS:
curve1 into a merge SOP, curve1 into the merge SOP again, and a third time…don't worry it gets weirder…
now wire curve2 into the merge SOP…2 times

on the sweep in the Cycle Type - Cycle Primitives

now when you skin you get a skin that does curve1 three times and then transitions to curve2, then curve2 twice…etc etc

this may or may not be what you want - you may want to build a third shape that makes a better transitional shape between curve1 and curve2…
or you can skin these types separately and merge then afterward…
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
16 posts
Joined: April 2016
Offline
I finally had a chance to try this out. At first I thought you were crazy.. why all these merges.. what's it going to do.. I don't think i'm following correct.. but then once I threw it into the sweep it actually alternated just like I expected.. 1,1,1,2,2,1,1,1,2,2…! Very cool!

I see what you mean about having a better transitional input as it kindof messes with the geometry to transition the way it did. One thing I noticed is it's very important to keep the same vertices between the shapes or it will guess which ones to connect in strange ways, so I copied each transition and then just moved over the vertices ontop of each other when I want to transition to a new spot (so many vertices end up overlapping). Not sure if this is the best approach but so far it seems to work.

I'm trying to include my file, hope it works

Only thing I wonder now is that the transitions are smooth, how would I go about making a blocky transition. Imagine a blockhead or a beam doing a hard cut off, say for a door to be framed in?

Amazing help I feel like I've learned a ton!

Attachments:
sweep test.hipnc (116.4 KB)

User Avatar
Staff
3456 posts
Joined: July 2005
Offline
I think at this point you might want to better define what your end goal is - sweep/skin can do some things, but the Copy SOP can do others…
what I think you're heading towards is a modular building kit where you have wall sections (with different structures, different detailing etc) and then you want to have a curve (or path that defines corridors, intersections, turns etc) and in-between these you'll want bulkheads, doors, airlocks etc etc.

as fun as what you have so far is, and it's demonstrating some tools and workflows, I think you'll very quickly build yourself into a corner - you'll have a cool but very complex system that isn't easy to use or change.

so instead of figuring out how to have better transitions and airlock type sections between the swept sections, you might be better off building the types of sections you want as separate modules (you can still use some of the techniques you've already tried), then combine those modules with a more flexible system (the multiple merge trick is fun and useful - but imagine having 15 different section types and then trying to add a new section at a specific spot…hard or impossible!).

the attached image is a quick floor plan that shows the different types of modules you might build (all straight for now but curved modules are easy enough) - and module C - corridor - might be just one type of corridor. Or you can have a “C”, then some kind of section that fits into a corridor then another type “C”…etc etc…
if all the sections are built with the idea that they should be able to connect to most or all of the other sections then you can very quickly build up a modular kit. And each module can use the tricks you already know - if applicable.

to answer you specific question about a “…blockhead or a beam doing a hard cut off, say for a door to be framed in?”
you might build your corridor sections with optional ends - so if the “C” section connects to a door it might use EndType-01, or if it connects with an airlock it would use EndType-02…

I hope this has helped a bit.
this type of stuff is used a lot in games…
https://www.artstation.com/contests/the-journey/challenges/3/submissions/538 [artstation.com]
http://wiki.polycount.com/wiki/Modular_environments [wiki.polycount.com]

Attachments:
floorPlan.jpg (87.6 KB)

Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
16 posts
Joined: April 2016
Offline
That polycount forum is a tresure trove of ideas and advice, thanks for introducing me to it.

Quick question about the modular examples in the first link.. Would it be a Copy SOP that would then connect the pieces? Same way I ordered a merge I order the pieces then throw it into a copy node?

I imagine it won't auto-rotate the geometry so if I wanted to have a circular hallway (like star trek) I would have to design it with the specific curvature already from the start. Probably not a big deal except unless i decide later it should be a 10deg curve instead of a 9deg curve per section
User Avatar
Member
16 posts
Joined: April 2016
Offline
After playing around with Copy for a few minutes i think I missed your point. That it simply won't work this way! A big issue was that if I have a door, I want it to be much shorter than my corridor, however that would involve tricky placement of points to be the right distance apart.

I would be better of just building my shapes then plopping them in place on a grid manually one by one, then merge/fuse/cap/whatever the geometry together once I get the floorplan I desire.
User Avatar
Member
16 posts
Joined: April 2016
Offline
Ok here we go. Very simple test of the modular idea. I think I'm doing something dangerous here though, you'll notice I copied the geometries at the scene level. But what would be awesome if it was instanced so that if I modify my hallway all the same models will also change along with it. The way it's set up is that they're each their own copy.

I also wonder if it's wise to go out to scene level, since I don't see how I'm going to cap those ends on the doorway. Should I build the whole floorplan in a single geometry network?

Attachments:
modular test.hipnc (87.4 KB)

User Avatar
Staff
3456 posts
Joined: July 2005
Offline
the Copy SOP will pay attention to things like normals and up vector etc - on the template points - so you could have it properly orient things - curved sections would just require more planning and proper template points - but the copy SOP will not build geometry connections for you like the Skin SOP…

“… tricky placement of points to be the right distance apart. ”
yes…
either this or building modules and fitting them together by hand…either way is valid - just depends on what you're doing.

Scene/geometry - again, it depends on what you're doing…and other concerns like UVs, shading etc
find in the attached what I would do…
in SOPs I'd build modules, and lay them out according to my floor plan.
then - depending on my use case - I would probably save them to disk as big logical (for my seq or shot) chucks of geometry…then bring those back in and rig them for layout/anim etc
or export them for games.

Attachments:
modular_test_alt.hipnc (130.3 KB)

Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
16 posts
Joined: April 2016
Offline
Great, totally get what you did there. Also neat to see the Subnetwork in action. That said, the only piece of the puzzle left (yeah right??) is the idea of Prefab. In Unity, for example, I can have all the assets prefabbed so that one change will change them all. I can see that being extremely useful if I make my A/B/C/.. modules, and I want all my changes in Module C to affect the other Module C's. In the last file, we just copy/pasted the geometry, but that geometry isn't linked/cloned/prefabbed. Is this possible in Houdini? I'd be surprised if it's not! I just can't figure out what the name is. I looked into instancing but I don't think that's quite right.
  • Quick Links