#Put road on landscape?
18 messages in this thread
We have a landscape mesh of rolling hills and need to put a road on the surface
of this mesh. Any suggestions on how to do this?
Brian H.
Greg,
>> We have a landscape mesh of rolling hills and need to put a road on the
surface of this mesh. Any suggestions on how to do this? <<
no.
just kidding <G>. I've got a couple. The easiest one is to just paint a large
texture map including a road which would be planar mapped on to the landscape.
This might not stand up to real close scrutiny, even if the texture map is very
high resolution, but might be OK for a fly-by. A matching bump map might be
useful to "raise" the road above the landscape slightly.
For a geometric solution go to the 3d editor and do a fence selection of the
vertices which most closely follow the route of the road. Clone the vertices
into a new object using <shift> modify/vertex/move with selected. Click without
actually moving and give it a new name. You can now use the new object, which
only contains marker vertices, as a template for use in the shaper and/or
lofter. You should be able to create a road cross-section and loft along a path
derived from the marker vertices. If you need me to be more specific, ask away
🙂
Also, Schreiber Instruments may have some fancy packages which automates this
whole process and adds some frills – it will cost some cash, though.
Martin,
Great thought on the vertices select and making second object to model from.
Thanks
Brian and Greg
Martin,
PMFJI, but I would really like it if you could be more specific about your
solution, as you generously suggested. Also, about a year ago, we tried to buy
Drape, but were told that it was not going to be produced until later due to
programming problems. Do you know of another IPAS routine that will do this
sort of thing? Thanks for your help.
Doug
The last time I did this, I used a technique very similar to what Martin
described. It works very well for a road that needs to follow the rolling
surfaces of the hills.
I made a road object by creating a path that matched the road postion from the
top view, then lofted an inverted trapaziod (similar to "upper" shown below)
down the path. This gave me an object, that given the template object Martin
described, that I manually fitted to intersect with the template in the Editor
by dragging vertices vertically. A boolean subtraction then cut the entire
road, complete with flat roadbed and angled banks. Note that if you apply
different materials to the bottom and side faces first, the the materials will
be transferred to the new mesh and make further material editing much easier.
Another technique works where a road has to cut thru hills and be filled in
over valleys, common in a section of interstate highway. In this case, I lofted
two complimentary objects, one representing the fill, which I unioned with the
ground, and one representing the cut, which I then subtracted from the ground.
The two objects looked sort of like this in cross section:
—————- –+—–+–
\ upper / / lower \
\ (cut) / / (fill) \
–+—–+– —————
Position these two objects by stacking them before starting, perhaps
overlapping slightly to avoid boolean problems. You may need to experiment
with the positioning and order of boolean operations. BTW, if you add vertices
as indicated by the "+" marks before lofting, the resulting road will have
faces ready for a separate "shoulder" material.
Note that all this a poor-man's solution and is not necessarily easy or quick.
Note that some manual vertex welding and editing will probably be needed in the
final mesh.
JKJ
JKJ,
>> I made a road object by creating a path that matched the road postion from
the top view …. A boolean subtraction then cut the entire road <<
good work, boolean-meister! <G> I'm a boolean-phobe, myself. However, I really
need that modify/edge/refine command to avoid booleans entirely.
Man, I can't imagine life without booleans!
>>edge refine…
To get around the lack of this command for now… (I'm sure
The Most Honorable Mister Foster
knows this but maybe someone else is interested <g>)…
To place a new vertex anywhere on an existing surface without worrying about
the viewport alignment, use Modify/Edge/Divide several times to subdivide an
edge until you get a vertex close to where you need it. Then use
Modify/Vertex/Weld on the extra vertices you just made to collapse the extra
faces. If the new vertex needs to be somewhere off the closest edge, work down
one edge until close, then work down a branching edge.
One can also align a user view to the face, edge divide or tesselate, then drag
the new vertex around freely without distorting the surface.
Here's another wish item which would help this down & dirty vertex editing: a
Display/UserView/AlignPerpendicular command. That would make it easier to move
vertices perpendicular to an arbitrary face.
JKJ
JKJ,
>> to subdivide an edge until you get a vertex close to where you need it.
Then use Modify/Vertex/Weld on the extra vertices you just made to collapse the
extra faces. <<
most of what you say are great techniques which I already make good use of.
However, the one above puzzled me. I thought modify/vertex/weld was only for
very close vertices – ones that practically overlap. I'll give it a try,
though, to see if it works. My approach would be to divide the edge once and
align the user view to allow movement of the vertex down the edge (as you
mentioned), OR repeatedly divide the edge (as above) and then select the extra
faces I didn't want and delete them along with the stranded vertices, then
create/face/build the way I want. Also the Yost Group's Optimize (ace
powertool) could optimize just those selected faces, instead.
One big wish I've had for a couple of years is to be able to constrain movement
to the x,y or z axis in the user view. I think Autocad allows this type of
thing.
>>welding, close vertices?…
I meant choosing Mod/Vertex/Weld, clicking on a vertex, dragging it on top of a
new vertex, then dropping it. Thats the way I do half of my manual vertex/face
editing as it simply collapses the faces. I think it's a lot quicker than
deleting faces and rebuilding. (And you don't have to reapply materials to the
new faces.) The biggest thing to watch out for is accidentally welding to a
vertex on the backside of the mesh, but that's no problem if you hide those
faces first. The other thing to watch out for is distorting the mapping
coordinates, but that shouldn't happen in the case we are discussing.
I have used Optimize quite a bit, but I generally don't like giving up the
manual control. (I mostly use Optimize just to view a mesh I'm editing – you
know, rotate it back and forth until you get a good feel for the true 3D shape)
I REALLY like your idea for constraining movement to a global axis direction
regardless of the view. You could expand that to include the object's local
axis, too. Don't stop with movement, but also scaling, etc. That would make
adjusting the lengths of the bones in BonesPro much easier.
Makes me think of another one: constrain movement of a vertex either to or
normal to a plane (or surface) fit through adjacent faces – that would make it
much easier to tweak that spot on the car fender! Or better yet, lets give up
all this tedious vertex editing and buy perfect meshes from some maniac vender.
<g>
JKJ
JKJ,
>> I meant choosing Mod/Vertex/Weld, clicking on a vertex, dragging it on top
of a new vertex, then dropping it. <<
Aah, I see. I like the sound of that and have never tried it. Good method.
Although, I do like building faces manually – it's very rewarding in a strange
sort of way.
>> I have used Optimize quite a bit, but I generally don't like giving up the
manual control. <<
I hear you. I love the manual part, too, but sometimes you're up against the
clock and the fastest solution is necessary.
>> Or better yet, lets give up all this tedious vertex editing and buy perfect
meshes from some maniac vender.<<
not a chance, I love to model my own meshes. I've never actually bought a mesh
from anybody.
Martin
PS: I love your additional ideas for the wishlist. Hopefully Jonas will grab
them tomorrow.
<< wishes.. >>
got em'.
Thanks a lot John. I will have to experiment before I will have any questions
about the technique. We at Georgia Tech School of Architecture are desperate
to have a good way to use topography with our architectural models and sites,
and putting in the roads has been a lot of experimentation. We also are
working on the entire city of Atlanta, and the terrain is really our weakest
link. Thanks for your suggestion.I will definately work on it.
Doug
>>topos at Tech…
Probably the best way to use topography is to buy some of the professional
tools out there, but that's often hard for a school. Do you know about 3DSURF?
(about $150 from Schreiber) Not in the same class as other tools, but it will
at least let you make accurate terrain models from coordinate data. (You may
have to manually build a coordinate file from the topos) Also, the Yost
Displace and the shareware GIFDXF will let you build usable terrain, althought
not quite as precisely.
JKJ
Thanks John, We are currently playing with a program called TerraModel, which
is pretty extensive, but rather combersome for smaller projects. I appreciate
your suggestions, as we are always looking for "a better way".
Doug
Doug,
>> but I would really like it if you could be more specific about your
solution, as you generously suggested. <<
I think the only thing I left out was:
1) make sure the landscape vertex object (which represents the path the road
takes) is displayed in the top view of the 3d editor and use 3d display\choose
in the 2d shaper to show that object.
2) use the create line tool to make a line which travels roughly from vertex to
vertex of the landscape. Also create a cross-section of a road as a seperate
polygon.
3) bring the line into the 3d lofter as a path and edit it so it conforms to
the height of the landscape object. then assign the x-section of the road in
the 2d-shaper and get it into the 3d lofter as a shape.
4) Preview, then make the object and call it road.
Voila, you have a road conforming to the terrain.
Thanks Martin. I will have to experiment before I will have any questions
about the technique. I am a GRA at Georgia Tech, and we are working on the
entire city of Atlanta. The terrain and roads are really our weakest link.
Thanks for your suggestion.I will definately work on it.
Doug
Just a thought, but I'd try using boolean operations between the landscape and
a lofted road shape — draw the 2D road in the shaper, loft it with some
height, and then cut it into the landscape with subtraction giving you the
landscape on either side of your road. Then you can use the road 2D object
inbetween.
This would give you the effect of "cutting" the road into the landscape, but if
you needed the edges of the landscape to slope down into the road (like due to
erosion) you could use Smooth from Bones to help with this.
Mike,
Thanks for the suggestion, we'll try it, we just got Bones yesterday.
Brian and Greg