Home Technical Talk

Do any of you use the line tool to start a model?

I'd like to know if this is a viable option.

Having worked for years hand drawing 2D stuff in illustrator, you can probably imagine - starting something with the line tool (ie the pen tool) seems like the most natural thing for me to do.

But I have a hunch it's really not what I should be doing ;)

I tried drawing the side view of a low poly car just now using the line tool. The most immediate thing I noticed was that I couldn't stop and start the line, as per illustrator. IE - draw bits at a time, but re-start from existing points, so continuing from the same line. I also thought you couldn't undo your last point, but I worked out it was backspace, not Ctrl Z.

So having completed the silhouette of the car, I converted to editable poly, selected the n-gon, extruded, capped the other side, then deleted all the unnecessary edges from the bottom of the chassis, where it had filled in the wheel arches etc.

It kind of worked, I got a 3D chassis from it, but when I clicked "edit triangulation" to view how it would be triangulated, the sides were a bit of a mess, and strangely, both sides were tesselated in different ways. Both seemed to have more triangles than they should.

So that, plus the fact that the line tool seemed fairly limited, and I had to draw the silhouette all in one go, without closing the line or panning, seems like this isn't what I should be doing.

I'm getting the hang of modelling/sculpting a bit, grasping how to edit/manipulate things, but what I'm finding tricky is actually just how to start a model, get the initial shape down.

If this is wrong (using the line tool) and something I should forget about, what should I be doing? How would you start a low poly car or human, how would you go about just nailing the side/front shapes?

Cheers,
RumbleSushi

Replies

  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    So you figured out a very efficient way to work, but wonder if its right to use it ? hehe
    Of course you can use that !! Its a great way to block things in
  • rumblesushi
    Options
    Offline / Send Message
    pior, maybe I didn't convey my thoughts well enough in the post, but actually, I didn't think it was particularly efficient ;)

    I had to draw the entire line in one go, without stopping and continuing the line, and without panning (as it breaks the line, and seemingly, you can't continue the line).

    Which I guess is OK for just a rough outline, as admittedly, shaping by vertex or by groups of vertices and soft selection is VERY easy, and feels quite natural.

    But then the problem was still the messy triangulation on the capped sides, which didn't do a great job of tesselating.

    It must be possible to manually triangulate, as I've heard people mention it on this forum - to optimise the triangulation for low poly stuff, rather than just exporting it as triangles. After clicking edit triangulation though, I couldn't work out how to edit, I tried clicking on polys/edges etc, and nothing happened. How can I manually splice up an n-gon into triangles? :)
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    just use the cut tool, or the connect tool
  • Eric Chadwick
  • Justin Meisse
    Options
    Offline / Send Message
    Justin Meisse polycounter lvl 18
    I've got a few tips for you (this is assuming you're using max):

    hotkey "i" is assigned to Pan Viewport by default, it will center the view on your cursor without interrupting you.

    if you go into the modify panel for the spline you can continue from a point or add points along the spline with "insert" you can also add points along a spline with "refine". Rather than explain how they work it's easier if you just try it out.
  • Anuxinamoon
    Options
    Offline / Send Message
    Anuxinamoon polycounter lvl 14
    I use it alot! Examples, I draw the outline of a fountain then lathe it. I draw the outline of the stump of a gnarly tree, Then covert it to patch, clean it up and then convert it to editable poly where I then Extrude along splines.

    Its really good for those annoying shapes, just to get started.

    I also cam from a pen tool background, and when I used the line tool in max it was different like you said. The trick is to create one line then go into its vertex subobject then use the tools in there to add points delete points connect points and so on. If you create heaps of lines you have to manually connect them together which is annoying.

    Hope that helps!
  • rumblesushi
    Options
    Offline / Send Message
    Justin, thanks a lot man. "i" is very useful, perfect for being able to pan/scroll without interrupting the line.

    I'll try out insert and refine.

    Thanks for the link Eric, interesting read. Not unlike programming, there's obviously a few ways to go about the same thing. Though the thing about programming is, the efficiency is generally pretty clear cut, in your frames per second, or CPU usage etc ;)

    Is defining the shape/silhouette with the line tool then extruding something you would generally do then for cars or humans? As opposed to say "box modelling" ? What would be another way to go about starting a model as another option to these two? (especially for very low poly stuff).

    I've watched a decent amount of tutorials but most of what I've learnt so far with Max has just been trial and error. Although the more tips I have from you, the less error there'll be in the trial and error ;)
  • rumblesushi
    Options
    Offline / Send Message
    Anuxinamoon - thanks for your reply. That does help.

    I've had a play around with the lathe tool actually, and I was amazed that you could draw just half an outline, then have it whirl round in a circle and create a 3D object, like supersonic pottery.

    Certain things like that, as well as some of the manipulation/editing/cloning tools make me think Max is incredibly clever and powerful compared to AI/PS.

    Obviously as I'm in the teething phase there are many annoyances too - including crashing, which would be more offputting if it wasn't for the 5 minute autosave feature ;) But overall, I find it an impressive piece of software.
  • mLichy
    Options
    Offline / Send Message
    I use splines for things like wires or even floating grooves on my HP stuff all the time. I also like to use splines to visualize a curve before trying to model it sometimes.
  • CodeFather
    Options
    Offline / Send Message
    CodeFather polycounter lvl 15
    I tend to use splines a lot for hard surface modeling. Here are some slides from a demonstration I did recently . Sorry about the language, they are in bulgarian...basically, I project plane surfaces onto proxy models using some projection tool ,in my case this is polyboost.



    slide1:
    I start with splines, quickly convert them to editable poly plane surfaces and plan their topology right away.
    009_helmet03.jpg




    slide2:
    The second stage is to arrange the surfaces( broke them down to smaller pieces ) around the proxy models and prepare them for projection - use bend modifiers, soft selection, etc, to match the shape of the proxies as close as posible.
    800px-009_helmet04.jpg




    slide3:
    Use regular poly modeling to define sharp edges, details, etc
    800px-009_helmet07.jpg
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    I had no idea polyboost could do that!!! Thank you so much for the tip
    A very good approach you have here, truly about primary VS secondary shapes, loving it!!

    However when do you use PB in the workflow shown on the slides ? You say you use it for that but seems you didnt use it there ?

    Thanks for the info!
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    I concur with Pior, great tip here. i'm curious what Polyboost tool it is, and which one this translates to in Max 2010.

    Also, for the topic starter: I wouldn NEVER start a car's geometry from a side-drawn spline object. You want to "grow" your polyflow in a natural flowing way, matching the body shapes as you create it. Using splines does not facilitate this process.
  • CodeFather
    Options
    Offline / Send Message
    CodeFather polycounter lvl 15
    pior wrote: »
    I had no idea polyboost could do that!!! Thank you so much for the tip
    A very good approach you have here, truly about primary VS secondary shapes, loving it!!

    However when do you use PB in the workflow shown on the slides ? You say you use it for that but seems you didnt use it there ?

    Thanks for the info!


    It's great that you find this helpful :) The great thing about this technique is that you don't need necessarily polyboost for it, every other retopology tool could be used instead (for instance before polyboost I used ShrinkWrap from the TIM script pack ...max retopo script could do the work also).

    In the above slides, polyboost is used in the second one. Use PolyDraw Move tool to project the flat pieces onto the proxies (Click-Drag + Shift+Ctrl+Alt). Notice the small image in the bottom of the second slide (the one with the arrows pointing towards the proxy) - the Move tool projects according to the current camera normal, so basically before snapping each piece to the proxy, adjust the viewport to a appropriate angle and then use the move tool. Again you can find the ShrinkWrap script better or easier because it shrinks the geometry by its vertex normals and there is no need to broke the planes to smaller pieces(project every piece, then weld them back together)...the max retopo script is even better because its snap is live and updates to every change you made.

    Another thing great about this technique is that say for instance I'm done projecting the flat planes(they are like in the second slide) , I then apply a shell modifier (always using the inner amount slider) to make them thicker and having depth. Now I'm able to make correction , add details, change things, whenever I want to, without much planning, because I have the proxy model beneath allowing to "project" all of the new changes onto it.

    Another thing to consider, you don't need to start from splines, I only use it in this example, and that's the way I use to do it. Now I'm planning the geometry right onto the proxy using the viewport canvas tools in polyboost- just draw in and plan out by drawing with the brush and then create the different shapes with the retopology tools - build, border tool, etc.

    And one last thing - The slides are from a lecture I did 2 years ago, there is 40-50 min video showing the steps I tried to explain in this thread.You can download it from here:

    http://www.3dbg.com/phpBB2/viewtopic.php?t=12326

    (the link named "Masthead Studios :: Мартин Пунчев- Хай Поли моделиране на твърди повърхности. Техники за продуктивност. 440 Mб").

    You can get the whole lecture slides from here:

    http://www.3dbg.com/phpBB2/viewtopic.php?t=12438

    Unfortunately, it is in bulgarian .

    Cheers!

  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    somewhat related:
    renderhjs wrote: »
    just a nice commercial script I found the other day:
    http://www.scriptspot.com/3ds-max/scripts/polygon-creator
    polygoncreatorimage.jpg

    And this is how it actually works:
    You select either 3 or 4 connected splines and run the script
    04.png
    it will then loop through the 2 opposing axis of the to be created patch and creates quads
    16.jpg

    this is an example with 3 sides:
    18.jpg

    Shouldn't be to hard to code that oneself, I used the same method actually for my texture extraction tool where I loop through 2 opposing lines/splines as well.

    Edit: more tech screens and how it works can be found on the official site:
    http://www.heavenlypictures.hu/polygoncreator/polygoncreator.php
    I really like that script idea, maybe I or someone else should try writing a free version and simplified version without a clunky interface.
  • rumblesushi
    Options
    Offline / Send Message
    Codefather, thanks for the insight, that looks like an interesting way of modelling indeed.

    In regards to the graphite modelling tools (polyboost) from what I saw it looked basically like the edit poly panel docked above :D

    I'll have to have a proper play around with the GM tools, and try this technique.

    render - that script looks interesting, and would surely be useful for super low poly stuff too, as long as your lines were straight and angular.

    Xoliul - How would you go about it then? What would be your absolute starting point for a low poly car or human? For a super low poly car, the sides are going to be pretty flat anyway, so fleshing out a simple car from an extruded line would be feasible (though you'd have to sort out the messy triangulation on the sides).

    Where I was thinking it might NOT be feasible would be a character - obviously if you drew a side silhouette then extruded it, how would you go about modelling the sides of the human? Especially because they would be messily triangulated.

    So how would you go about it?

    Having studied max hard for a few days, I feel comfortable using it, but where I feel somewhat stuck, is literally just that starting point, I feel more confident editing a model than starting one from scratch.

    Almost forgot - something that was infuriating me yesterday, that I could not find a fix for was unnecessary splitting of polygons.

    Check out this pic -

    max.jpg

    It's added 4 more polys than necessary, by splitting the bottom, top, left and right sides. I have no idea why. I've tried various options, I've tried connecting the verts and manually deleting the edges, and nothing worked. I also tried looking for an option in prefs, something like "always split adjacent polys" :D

    It's bizarre, there's no reason at all why it needs to split those polygons, it's not like they intersect. And it's created 4 more than necessary. With such a tight poly budget, lots of unnecessary splits would quickly add up. And unlike BSP, they serve no purpose :D

    How can I fix this, or stop it happening?

    Cheers,
    RumbleSushi
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    the diagonals are here anyways, you just dont need to see them. Try subdividing this mesh and youll see. The hidden diagonals will be ignored.
  • rumblesushi
    Options
    Offline / Send Message
    Pior, yep, I know that. To clarify - I'm not talking about the triangles that exist by default, I'm talking about it splitting triangles unnecessarily in a brute force fashion - ie the triangles on the top and left panels, because they have a vertex resting on their edge.

    I can understand the logic behind it, if one were to move that center left vertex to the left or right, you would expect the side panel to move with it, and retain a complete shell, rather than the left panel staying where it was, and the front panel just protruding to the side.

    BUT - it should only split that triangle on the left panel IF that center left Vertex is moved.

    The triangulation should be intelligent, not brute force. If I want to keep this box as a box, those splits are completely unnecessary. The above box should have 18 triangles, and because of the unnecessary splits, it has 22.

    Have a look at this pic, this is a box created in my 3D engine, with the front wall subdivided

    le_bigmac.jpg

    You can see unless that front left vertex is moved, splitting the adjacent polys is completely unnecessary.

    I've even tried manually deleting these edges after connecting the verts in Max, it'll have none of it, it splits any polys that have a vertex on the edge of them, even when not necessary.

    Now on current gen games, perhaps a few extra polygons isn't important when we're talking about a fairly huge poly count, but when talking about models in the hundreds rather than thousands, every poly counts, and creating an extra 4 triangles on something as simple as that box would quickly add up.

    So I'd really like to find a solution, if anyone knows how? Also, do Maya and Modo exhibit this same brute force splitting behaviour?
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    you just modeled sloppy :p just hit ctrl+Backspace whenever you remove a vertex or edge selection as it will remove the associated verts as well which will avoid what you have there.

    As for the triangle flow there is always the option of 'Edit Tri.' and Turn to flip some of the triangulated edges.
  • rumblesushi
    Options
    Offline / Send Message
    render - the thing is, in theory, I don't want the center left vertex to be deleted. It needs to be there to retain the formation of the front panel, as I want those polygons exactly as they are, all I want are the verts to NOT split adjacent triangles :)

    I have even tried selecting the center left vert, and the bottom left vert, pressing connect to turn that internal split into a proper selectable edge, then clicking it and pressing ctrl and backspace. Then hit edit tri, and the bastard is still there :D

    It's crazy. I can understand this being the default behaviour to some extent, but I've tried many things, and it seems you can't even manually remove split polygons to achieve what I have in the second image posted, verts resting on shared edges without splitting the adjacent polygon.

    Seriously, try it yourself. Make a box, 1 segment per side, tesselate the front, then try and remove the unnecessary extra tri from the left, top, right and bottom without affecting the front panel at all. It seems like something that should be really easy, but somehow I've tried everything and they always remain.
  • Joshua Stubbles
    Options
    Offline / Send Message
    Joshua Stubbles polycounter lvl 19
    Maybe you're not wording this correctly? You're saying you want to split the edge of a polygon and have it NOT create a vertex that affects the adjacent polygon? That's impossible. The only way to have that kind of effect would be to detach the faces you wanted to tessellate, divide them, then reattach them, in which case you're creating a floating Tjunction mesh, which is both sloppy and inefficient.
  • rumblesushi
    Options
    Offline / Send Message
    I think I'm wording it succinctly enough. I'm just saying I don't want unnecessary splits ;) Or I'd like to be able to undo a split.

    Take a look at the second pic I posted. Essentially that's what I want, not the first one.

    Say I subdivide one part of an object, in this case the box. Of course it creates vertices that rest on the edges shared with other polygons, but unless that vertex is moved in a way that should change the shape of the overall geometry, there is no reason to split the adjacent polys to the side.

    Vassago, I think you do understand me, because doing what you suggested would - in theory - work. Removing a panel, subdiving it, then reattaching it.

    What actually brought this to light in the first place is yesterday I made a basic model, and I was skimming over the model looking for ways to remove polygons. There were some areas of the model that were similar to this box situation, an area with a split triangle in which case removing it would make no difference at all to the geometry, because it was flat and perpendicular to the adjacent poly whose vertex was splitting it.

    I hope that made sense.

    It's splitting polys like a BSP tree or frustum clipping, but it's doing it in a brute force manner whereby in many instances, it's not necessary.

    Of course, in most instances it probably IS necessary, and if it wasn't the default behaviour you'd find yourself with detached polygons etc, but I'm just surprised I can't find a way of deleting the split polygons without affecting anything.

    In regards to the second pic I posted, the front panel is subdivided with code in the engine, if I were to move that vertex left, those 3 triangles would protrude from the side, and the left panel would be untouched as only the top and bottom verts are shared.

    In a modelling environment, it goes without saying this would be undesirable, but in some cases it would be desirable, when those vertices are staying put and the split in the adjacent poly serves no purpose.

    Again, I hope that made sense.
  • rumblesushi
    Options
    Offline / Send Message
    Wow, the reason you guys are a bit confused, is this is not only the default behaviour of 3D programs, it seems there's no way round it.

    I tried the exact same thing in lightwave. Subdivided the front, then selected the new edges of the triangles that had been split, they appeared to remove, but upon retriangulating, they return - ie they are still there.

    I guess it's just something I'll have to get used to, and model accordingly. I'm used to creating primitives with code, not conforming to the same rules that the 3D apps do. I guess looking at it logically, it's "wrong" to have a floating edge, somewhat detached from the rest of the geometry, but in reality, you could save a few polys like this and have it make no difference at all to the geometry ;)
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    its because all the raycasting and texture mapping math is based on triangle math- stuff thats essential for a 3d application like 3dsMax. It's kind of how the whole industry of games, GFX cards and 3d rendering apps went.

    Well I guess most 3d artist are kind of used to the fact that in the end everything consists of triangles because that's how its always been. Anyway I think this thread got hijacked a bit - so lets try to get more ontopic.

    Rumblesushi: If you want to discuss more about specific stuff like the triangulation stuff or flash 3d engines specifics on how for example optimize and export models feel free to create a new thread.
    Someone at my office showed me some weeks ago your 3d engine, nice stuff. I could be able to show you some nice tricks on how to make 3dsmax and Flash or custom engines work nicer together using maxscript.
  • rumblesushi
    Options
    Offline / Send Message
    render, don't get me wrong, I understand - but what I'm suggesting is still triangles, and even a single triangle can have that very same triangle maths applied to it, be it lighting effects, or textures etc. I guess to me, having a triangle with a vert floating on it's edge is no big deal, and shouldn't need to be split unless the polys are actually intersecting (like with BSP planes) - but it seems that's simply not how things are done in 3D apps.

    And thanks, in fact I've just re-written half of my engine for Flash 10, having got the hang of doing things completely different to the old affine texture mapping with a matrix in Flash 9. I'll post a new thread about it to get some feedback. The reason I joined this forum is to learn modelling specifically for use in my engine ;) Not only character modelling, but I'd like some level design tips too.

    In fact, I read through the entire low poly thread, and I gathered that you've also built your own 3D engine in AS3 right? The links didn't work though, the ones you posted in that thread. Do you have any recent examples of your engine to show?

    Edit - renderjhs - this should explain more concisely.

    le_bigmac2.jpg


    It's no big deal though, as I understand in a 3D model of moderate complexity, most of the time the flow of geometry on anything but boxy objects ARE going to need to split, and not have any floating edges/verts, but it's just something I'm used to doing, so I was very surprised when I couldn't.

    Back on topic - I created my first 3D model yesterday, a basic Katamari style human, and I found it easier and more natural to start with just one box, and extrude and manipulate into a model. So even though it seemed more natural at first to do what I was used to doing - using the pen tool, ultimately I got used to just starting a 3D model from nothing and builing upon, it's easy to see now why it's called digital sculpting.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    maybe because you have multiple verts on top of each other?
    rumblesushi01.gif
    or maybe because the triangles are constructed in that way, in booth cases it would mean that your mesh is not watertight or solid, some engines require that but for low poly stuff its fine to cheat that way i.e. flash engines or mobile stuff.
  • rumblesushi
    Options
    Offline / Send Message
    They are welded ;)

    How I create these boxes/buildings is by creating a series of aligned planes seperately, then looping through the verts and welding them. These buildings only have 8 verts by default, two triangles per plane.

    I totally agree. The mesh is not watertight/solid, I guess I'm just used to breaking the rules in this way rather than splitting polys as a matter of course. I do have poly splitting algorithms for frustum clipping and also dynamic triangulation for my flash 9 engine ( as a means of correcting affine texture distortion) - I just never considered it necessary to split polygons just because they have a vert resting on the edge.

    For simple geometry this is fine, but obviously I realise for the average 3D model, you can't have floating edges like that, and that the mesh DOES need to be watertight.

    I guess I was just surprised, because this seemed normal to me, and when I saw Max was splitting every single face (even when seemingly unnecessary) I was like wtf ;)
Sign In or Register to comment.