Page 1 of 5 123 ... LastLast
Results 1 to 20 of 97
  1. #1
    Member
    Join Date
    Dec 2012
    Location
    Finland
    Posts
    123

    Polydrive: advanced procedural polymodeling/remeshing (+possibly development funding)


    Edit2 26.8.2013
    Posted an update --> page 3

    Edit
    Disclaimer: There has been some confusion about what this post is about. It is not meant to fully convince anyone of the quality of this tool kit, but merely spark people's interest. I would never expect people to donate money based on this description alone. The question is simply: Assuming the tool kit works as well as described, would you consider contributing money? Given enough preliminary support, I would then make the final presentation with all the material, that people need to make the final decision.

    ----

    This is really just a shot in the dark. I'd like to see a quick show of hands to see if this is worth the effort. I will talk about money, but do note that this is something I will create on my spare time for free. It will just take a very very long time. Take this as a development plan and my personal brain dump, if you are not interested in financing it. The name is just a project name, which I will happily change if someone can think of a better one.
    ---------compact version-------------
    To put it short, I wish to create a set of modeling and deformation tools that help deal with certain aspects of the 3D-realm that I currently find cumbersome and generally not even worth bothering with.

    -Probably the most significant feature would be semi-procedural method to remesh complex models. Existing tools for procedural remeshing offer very little control over the generated mesh, and even less for interactivity. Alternatively remesh tools make you redo everything poly by poly, which isn't fun either. I have large heaps of ideas how to make things more efficiently.
    -Second major feature would allow creating complicated pieces of clothing and other 'flat' but intricate things with far less effort than is normally possible. This deals mainly about detailing existing shapes.
    -Third one is alpha-mapped polygonal hair generation (small tangent on that below), possibly also animation and styling full detail strand hair. I find blender's hair sculpting tools somewhat lacking, and I believe I could introduce something new here.
    -Fourth one deals more with rigging than modeling. There are some things that just seem to me deeply unriggable with the default tools in just about any software. These include webbed wings, vines, ropes, tentacles, feathered wings, deforming skin/flesh (through scene interaction), cloth (not simulated, or partly simlated). I have previously used various deformation techniques that I'd like to recreate in blender, and also implement some previously unseen ones.
    -Last one is a vision of mine that's still in the conceptual stages. It allows generation and deformation of meshes by manipulating vector fields in 2D and 3D spaces. I will talk a bit how vector fields also apply to the other tools I will be creating.

    More detailed description of each can be seen in the “Features” section further down.

    Some of these or some of their sub-features I've already implemented in other 3D packages, some exist as half-assed scripts, some I've thought through but not implemented, and the rest are just nebulous concepts that stand on strong logical ground, but have not been proven in practice.
    -----------------------

    That may seem like a lot of different features to implement, but they are actually connected in principle and could all use common code base. Still, it will take a long while before I'll have anything useful, if I do this on my spare time. To create the necessary time I would need some assistance. If I first get some support over here, I intend to start a crowd-funding project over at Indiegogo, or similar website (suggestions?). Setting up the project will take some effort and I'm not at all confident that it'll gain enough support. I've seen a lot of funding drives for game projects, but for blender features they are almost non-existent. Even when they do occur, they seem somewhat unorganized. I wish to do this properly.

    The idea for a funding drive came from a thread about polygon hair in the python section. The OP was asking for a developer's opinion for the tool idea. Since I doubted there would be many takers, I offered technical guidance to help him code it himself. He then expressed some interest to make it happen through donations instead, but when I got serious about that proposal, he went silent. Maybe I'm too pushy, or my target too ambitious. Who knows.

    My initial projection for what I need is around 3000€. I could make due with less, but with that, I can comfortably stay off work several months next summer (may-august, those months included) and be motivated enough to work on it intensively. Once there exists a sizable codebase, and some amount of users, I will be able to maintain the project in the long term without further funding.

    A little bit of bio:
    My name is Antton Tapani. I worked as 3D-modeler for a moment, before getting into engineering. Now I'm studying energy technology full time at Lappeenranta university of technology, Finland. I wasn't particularly good modeler, and spent more time making modeling tools than doing actual modeling. My most recent (2009) demo is still up on vimeo. The same account has several other videos, that deal with more technical matters. Mostly they are my experiments in Softimage ICE.

    I have not done any coding for Blender yet, but I do know python really well. It's just matter of learning the api. I also know c and c++ to a fair extent, but haven't done any large projects with them. I've written a lot of modeling tools in Maxscript, some of which I will be porting over to blender. I'm also quite proficient in Javascript and php, have fair understanding of Haskell and I've dabbled in OpenCL and Erlang. Additionally I'm developing my own graphical scripting language as my main project.

    I have plenty of interests in the free software arena in general, but time is always the issue. There are many many amazing foss projects that I'd love to contribute to, but blender is clearly at the top of that list. Blender has improved tremendously in recent years, and I think now is a perfect time for me to jump in. This project will also get me into blender development more generally. Great as it is, there are still many things in blender that I personally find to be quite horribly wrong, and I'd love to have the ability to do something about it.


    ------Features------

    Remeshing:
    Generating meshes on top of other meshes has been one of my greatest interests ever since Zbrush 2 was released. I've written quite a bit of maxscript code to deal with this but I sadly discontinued that work years ago in favor of other things. In hind sight that was a bad idea. At the time there seemed to be so much work going into the subject that I expected the tools to be perfected in just few short years. That hasn't happened so maybe it's time for me to do something about it.

    My approach would be based on tangent fields, curve guides and several other helpers. User would ideally only be responsible for setting the mesh flow, and the system would do all the tedious work automatically. In principle this is not that unorthodox. Zbrush, 3dcoat and the like are likely using similar techniques for their mesh generators. I simply wish to create tools that give the user full control over the tangent field and immediate feedback for the results. You would have the ability to dictate where poles will appear and see exactly where a particular edgeloop rests on the final mesh. The goal is to remove all ambiguity from the process.

    A big problem with automatic generation is that it usually won't play nice with manually created geometry. It's kind of an either/or situation, and this is something I wish to work on too. I will probably have to recreate some projective direct mesh tools that already exist for blender, just so I can make them fully compatible with the field-based tools.

    The vector field idea:
    I mentioned this feature almost as a footnote in the compact version, but it might actually end up being the most significant one. I cannot know for certain since it has not been adequately proven in practice, and I don't want people to base their interest for the kit on this particular tool. They do sort of exist in few packages as force fields and space warps, but I don't think they have been applied to the extent that they could be. They are so adaptable that you can, in principle, apply them to just about anything. I've dabbled with some very crude implementations in Softimage and I can tell the results are really promising.

    The basic idea is that you have a field of vectors in 3D space, which describes an infinite number of curves or surfaces. A vector is basically an arrow in space. A vector field is then a sea of arrows in space. This field simply tells your surface where it has to flow next from any given point. You can pick any point in space and a surface will extend outwards from it, and will flow according to the field lines. In a properly made field, the surface will eventually run into itself and create a closed 3D object. In principle it is similar to the well known Euler's method for solving differential equations numerically.
    Last edited by anvilSoup; 26-Aug-13 at 15:08. Reason: clarification



  2. #2
    Member
    Join Date
    Dec 2012
    Location
    Finland
    Posts
    123
    To give feedback to the user, the tool will continuously generate triangulated surface much like dyntopo, but the method of creation and modeling workflow is very different. Freeform sculpting has pretty much solved organic modeling, but creating clean mechanical hard surface models is still rather unpleasant, unless you're ok with nurbs surfaces. Field-generated surfaces would give similar control and ease, but would also allow greater freedom wherever it is needed. I'm not aiming for cad-like precision, but defining clean hard surfaces, and crisp edges with clean geometry is the main goal of this tool.

    Using the tool would probably resemble voxel modeling. You have the ability to use booleans at will, and make arbitrary cuts and slices without worrying about the mesh. There would be a lot of different primitive field shapes and brush-like tools. I particularly like the clipping curves in Zbrush, but they completely lay waste to your geometry, which isn't something I enjoy. Tools similar to that would be included, and you'd have the option to apply them in “one shot” basis or have them as persistent manipulator in the scene. Cuts, booleans, projection etc. could then be layered sequentially, making features of your object freely editable afterwards, giving lots of opportunities for procedural modeling.

    Though you'd be able to do a lot of things with primitives, it's still often useful to directly manipulate the fields. You would have to collapse the dynamic primitive fields into a single freely editable field. This would allow creating more organic shapes. In practice, manipulating such field directly would be far too difficult and unpredictable. Many of my ideas deal with extending temporary shapes into existing fields, and using those as guides to do the manipulations. It would work a bit like more complicated 3D-cursor.

    Once you have your field in place and surface generated, you could then use the remeshing tools to generate final polygon geometry, which can be cleanly subdivided. The original vector field can be used as source for initial tangent field which can then be manually improved and mixed with other helpers.

    Vector fields would not be just for generating geometry. With them One could also deform existing polygon or curve objects in all sorts of complicated ways.

    It is really hard to explain all this with words. I will do some visual demonstrations for the (possible) indiegogo project.

    Polyhair:
    Polygon hair works wonders for low poly characters, and for full detail pieces it offers vastly better render times than regular strand hair. This is another place where vector fields could be applied. Hair geometry could be generated directly to the field, or helper geometry could be first generated and hair generated based on them. Tools to style the hair would be exactly the same as the vector field manipulators. I think the original polygon hair thread explains what this is about quite clearly so I won't have to repeat it here.

    Cloth:
    The cloth tool is really just a geometry mapper. It works much the same way as texture mapping, but maps vertices instead of texels. You model your geometry on a flat surface on top of UV-layout of a simpler mesh. The simpler mesh is modeled and deformed normally, and the high detail mesh is then made to match it. This tool I have already implemented in Maxscript, which makes it the most done-and-proven item in this tool set. Originally I didn't even design this for cloth, but to optimize displacement on these horns:

    Proper displacement was taking far too much memory, and it was extremely hard to change afterward, so I mapped the detail directly as optimized geometry. I then used the same method to make some parts of the clothing on the same character, parts of the shoe and the gnome's woven armor. It of course works on more mundane tasks as well. I distinctly remember using it to position the light array on the goggles, though I don't recall why I did that exactly; seems unnecessary.

    The original version of this tool was only able to edit geometry in it's planar form. I intend to make this editable while in proper 3D-mode and switch back to planar when needed.

    Deformers:
    These would probably be a set of modifiers. 'Long' things like Ropes, wires, wines, tentacles, belts etc. are generally easy to do and sometimes simple to deform using path and lattice deformers or bone chains, but the second you need to control the local orientation, or interact with scene objects during animation, you're in big trouble. There are some tricks and hacks to do these efficiently and I have created a bunch of different deformers in my time for specific tasks. One such example (swimming octopus) can be seen in my demo video linked above.

    More such impossible shapes are wing folds, feathers, non-trivial cloth items and skin/flesh that has to defy simple weighted armatures. These would inevitably require some degree of history dependent simulation incorporated directly into the rig. For wings and cloth the 'cloth'-feature of this kit alone would alleviate the pain a little bit.

    Most of the things mentioned I have successfully rigged, but it always took some special care. I will attempt to create a more generic toolkit for these sorts of rigged 'soft bodies', but if that is not possible, this portion of the kit will be a lesser priority.
    -----------------------------------
    -----------------------------------

    That's mostly it. How does all that sound from user's point of view? Would any of this have practical value to you? Is there something significant missing in your opinion? I probably did a bad job at explaining the functionality, so I will gladly clarify things where needed. Also let me know if you have an idea for something related, specially if it would benefit from vector fields.

    Again, this will happen also without support, but will take quite a while (years) in that case. It should also be noted, that my work is not in any way special or unique, so if you have extra money to spend and don't want to contribute to this project, please do consider directly funding some other development effort that interests you.

    I thank you for your attention!
    Last edited by anvilSoup; 26-Aug-13 at 15:19.



  3. #3
    Sounds nice... I would probably contibute a few euros. However your chance to attract more donations would probably vastly increase if you would code and release an alpha with some limited functionality and collect the donations for extending it.



  4. #4
    Member
    Join Date
    Dec 2012
    Location
    Finland
    Posts
    123
    I definitely agree and that is something I will try in a year or two if this doesn't go anywhere. I'm merely probing people's interests to see if I can hurry it along. With some help there's a good change I will have something very useful done by the next fall. Due to time constraints I can't really work on a demo right now, and if I can't gain people's trust or interest at this moment because of it, that's fine. I'll get back to it at later time.



  5. #5
    Member Kemmler's Avatar
    Join Date
    Mar 2007
    Location
    USA
    Posts
    1,446
    I agree. It sounds fantastic, but since you have no track record with Blender development, from a layperson's point of view it's hard to have confidence that "it's just a matter of learning the API". Even a partial tech demo would make people more likely to fork over the money.



  6. #6
    Member Ace Dragon's Avatar
    Join Date
    Feb 2006
    Location
    Wichita Kansas (USA)
    Posts
    28,689
    Originally Posted by Kemmler View Post
    I agree. It sounds fantastic, but since you have no track record with Blender development, from a layperson's point of view it's hard to have confidence that "it's just a matter of learning the API". Even a partial tech demo would make people more likely to fork over the money.
    Or at least you can start with a few small patches to show that you have enough experience with the Blender codebase to develop these features, as implementing them will be anything but trivial due to their size.
    Sweet Dragon dreams, lovely Dragon kisses, gorgeous Dragon hugs. How sweet would life be to romp with Dragons, teasing you with their fire and you being in their games, perhaps they can even turn you into one as well.
    Adventures in Cycles; My official sketchbook



  7. #7
    Member
    Join Date
    Sep 2004
    Location
    Milan
    Posts
    1,234
    This sound really interesting.
    About vector fields,what about using the existing hair particles as an user defined vector fields?
    In this way you could define in a fast way a really good starting field,that could later be improved with curve guide.



  8. #8
    Member
    Join Date
    Jul 2010
    Location
    Dominican Republic
    Posts
    1,569
    anvilsoup sorry for the silent i have problems whit my internet connection and i connect at work and in my brother home so I'll be online for a short time i love this idea of donation so i will donate whenever I can and help whit ideas, icons and all i can i dont know how this of donation system work first you need to make a good proposal paper whit good description of the benefit of the tools and sory for my bad english



  9. #9



  10. #10
    Member ejnaren's Avatar
    Join Date
    Nov 2009
    Location
    Denmark
    Posts
    743
    Hi Anvilsoup. Your ideas sound very cool and very useful. It was a mouthful to get though it all. Must be the longest post I have seen on this forum As said it both sounds and looks very cool and worth supporting. There are several ways apart from the already mentioned. Google summer of code is coming up and blender is always very active there and if you try and build some demos of these tools to get into the Blender development maybe the blender development fundation can help with some funding.
    Do you have any videos of the functionality in other programs?



  11. #11
    Member
    Join Date
    Dec 2012
    Location
    Finland
    Posts
    123
    Originally Posted by Kemmler View Post
    I agree. It sounds fantastic, but since you have no track record with Blender development, from a layperson's point of view it's hard to have confidence that "it's just a matter of learning the API". Even a partial tech demo would make people more likely to fork over the money.
    The api is just a small portion of the issue. For a bare boned program, api is just the interface between the working code and blender. 95% the work could be done in pure vanilla python, though of course blender bundles some convenience libraries which I will eventually learn by heart. I have absolutely no doubt that the api is least of my worries. Every library or extensible program has an api and every developer learns a lot of them. Blender is not in any way magical in that sense.

    You can naturally doubt me otherwise. I haven't exactly shown much. There will be some sort of tech demo presented in the indiegogo promo, if I get that far. Otherwise it wouldn't be much of a promo.

    Originally Posted by Ace Dragon View Post
    Or at least you can start with a few small patches to show that you have enough experience with the Blender codebase to develop these features, as implementing them will be anything but trivial due to their size.
    The features have really nothing to do with blender code base. I have absolutely no clue what goes on inside Max or Softimage and I've still done a lot of tool development in them. It's mostly pure vector maths that I will be doing, and that I know a-plenty. Sparkle on some UI interaction magic and you have a modeling tool.

    Originally Posted by renderdemon View Post
    This sound really interesting.
    About vector fields,what about using the existing hair particles as an user defined vector fields?
    In this way you could define in a fast way a really good starting field,that could later be improved with curve guide.
    That definitely is one option. You would be able to convert hair or curves to fields and back again. This would of course allow you to transfer particle hair between different geometries without much data loss, which might actually be one of the earliest features since it's very simple and very useful.

    Originally Posted by kakachiex2 View Post
    anvilsoup sorry for the silent i have problems whit my internet connection and i connect at work and in my brother home so I'll be online for a short time i love this idea of donation so i will donate whenever I can and help whit ideas, icons and all i can i dont know how this of donation system work first you need to make a good proposal paper whit good description of the benefit of the tools and sory for my bad english
    Hey. Nice to hear from you. It's all right, I meant nothing bad with that comment. That thread did get me quite excited and revived plenty of forgotten ideas. Thank you for that
    Originally Posted by kakachiex2 View Post
    @anvilSoup
    your idea is similar to this addons fron Eclectiel
    http://blenderartists.org/forum/show...t-(v0-6-alpha)
    Yeah, some elements are similar. I haven't seen that before, but it seems a lot like sketching tools in zbrush. The issue I have with them is that They are rather laborious to control and don't really offer much more control than basic dynamic sculpting like dyntopo or dynamesh in Zbrush. Besides my vector field thingy is intended for less organic things, so it's not even in direct competition really. I will look more into it. I hope I didn't misrepresent it now.

    Originally Posted by ejnaren View Post
    Hi Anvilsoup. Your ideas sound very cool and very useful. It was a mouthful to get though it all. Must be the longest post I have seen on this forum As said it both sounds and looks very cool and worth supporting. There are several ways apart from the already mentioned. Google summer of code is coming up and blender is always very active there and if you try and build some demos of these tools to get into the Blender development maybe the blender development fundation can help with some funding.
    Do you have any videos of the functionality in other programs?
    Thanks. I'm not that familiar with Gsoc, but I don't think this one's eligible since it's quite open ended project. Seems like whichever way I go, I do need to build something more concrete. I never really tried to draw much attention to my tools so I haven't previously done any videos. My vimeo page has some old tech demos for rigging and simulation that I once did with Softimage, but that's about it.



  12. #12
    Member
    Join Date
    Jul 2010
    Location
    Dominican Republic
    Posts
    1,569
    yes this is the big problem of array sketch is to laborious to get result let me do some brainstorming to see what i can do



  13. #13
    Member
    Join Date
    Aug 2011
    Location
    Canada
    Posts
    47
    I'd kick in some money for a really good remeshing solution!



  14. #14
    Member Kemmler's Avatar
    Join Date
    Mar 2007
    Location
    USA
    Posts
    1,446
    @anvilsoup: I don't really doubt your ability to execute on this, but on the other hand, as you can see, if you have no track record, someone like me has zero ability to judge whether this project is likely to succeed or not. This is not because your past work isn't good, or your proposal is not good, but because a layperson is not really able to judge anything but results.

    And I can promise that what gets people most excited for projects of this type is an early demo, even a video of you using beta/alpha tools inside blender, in some impressive way, will get you a lot more funding than a bare proposal.

    I understand that what I am suggesting is "do half of the work for free, then we'll see", but this does seem to be a successful route. Of course I would like to have improved remeshing tools sooner, so I am conflicted



  15. #15
    Member
    Join Date
    Dec 2012
    Location
    Finland
    Posts
    123
    Thanks all for showing support. I think the reception has been about as good as I can realistically hope for given the circumstances. I was fearing complete silence. I don't think I'll rush to start the project based on this though. As said, it was a shot in the dark .

    I'm going to start this slowly by building a collection of individual scripts for doing specific things. Minimal ui, bad documentation and lots of convenient copouts. The cloth thingy is the easiest one to implement so I might start with that. Next I'll probably focus on the remesh part since it's probably the most popular one and my primary interest.

    I'd like to work on the hair system early on too, but I don't think I'll have the time to do it adequately. It largely depends how quickly I can get the vector fields working. Then if I can jury rig the existing hair system to generate fields, I could quite easily produce polygon geometry based on that.

    Rigging stuff and the field modeler probably get least priority. I doubt people are that interested and other solutions already exist for doing what they do.

    So maybe we'll have Polydrive Lite by the end of next summer . This comes with all the caveats mentioned before, so don't get too excited yet. It wont be good or convenient, but it will be useful. I will post updates of my progress here, and distribute the code though github or equivalent. Maybe I'll also start a blog or something. I don't know, I'll do as much as time permits.

    If you disagree with this working priority, have your friends spam this thread or something. I'll go mainly with what I perceive as popular.



  16. #16
    So here's my impression of your presentation:
    1. A giant wall of text with things that I have to think about to visualize in my head (don't make me think!)
    2. A reference to polygon hair
    3. One image that shows what might be an interesting deformation tool (A + B => C)
    4. A collection of images that don't immediately tell me anything (What aspect of these images is your project about?)

    Of these things, I'd consider only #2 and #3 as useful. You absolutely need to show a demonstration or at least a visualization of these things. Also, you mention these things that you have done, but you do not link to them.

    You really should look at Eclectiel's videos on how to present these things. In particular, his Bsurfaces project has earned him some undisclosed amount of money.

    Also, I'm not sure whether there is anything to be gained from using IndieGogo. You'd likely just be spending extra fees and time on fulfilling perks. All the exposure you can get, you will get from blenderartists and blendernation.
    Other developers have just done PayPal fundraisers, with varying success. 3000€ might be on the high end, depending on how desirable your features are for the general (paying) user.

    I'll go mainly with what I perceive as popular.
    My guess would be the PolyHair feature. Hair editing and Hair dynamics is something that's rather painful to do at the moment, at the same time we just got strand rendering for Cycles.



  17. #17
    Member
    Join Date
    Jul 2010
    Location
    Dominican Republic
    Posts
    1,569
    Zalamander is right the best project here is the polygon hair system that will make lots of thing easier , this will serve not only for hair but cloth, all king of accessories and polygon hair modeling is really laborious work and one of the most use technique on the industry.
    i'm working on a visual guide whit some ideas on how this have to work...

    one idea is this you already have poly spline in blender whit a control spline in the center of the generate polygon for example:
    - shift+A > curve > path
    - go to curve panel > extrude > rotate the curve 90 degree in X axis
    - enter edit mode t-panel > set spline type > poly
    if you see you have a strip of polygon whit a center control curve you can subdivided and add more strip, you can control offset from center curve, control the star bevel and end bevel factor the problem is you can not subdivide along the curve direction to make the polygon strip more concave only if you add another curve for taper....

    you can begins analyzing this method, make those poly strip grow from a selected surface, from vertex group. add option to control the begin and end of the strip to control the tip of the hair, automatic UV generator, option to select alpha hair to previsualize how the hair will behave and look those are some of my ideas....



  18. #18
    Member
    Join Date
    Jul 2010
    Location
    Dominican Republic
    Posts
    1,569
    Note: add a subdivision modifier and see what happens



  19. #19
    Member
    Join Date
    Jul 2010
    Location
    Dominican Republic
    Posts
    1,569
    Some benefit from this method is:
    - the user can generate bone - rigging from the generate curve making the poly hair to be animated and support soft body, collision etc...
    *-there is a code already in blender that generate bone from vertex, is the Skin modifier by Nicholas bishop
    - the same Skin modifier can serve as reference for this project...
    Note: Softimage is one the most use application in japan for anime style modeling and have some great tools for poly hair, curve hair modeling, here you can find some useful info on this site
    - http://www.cveld.net/modules/xpwiki/583.html
    - http://www.cveld.net/modules/xigg/in.../tag/Kristinka
    - http://www.cveld.net/modules/xpwiki/649.html
    - http://www.cveld.net/modules/xpwiki/181.html



  20. #20



Page 1 of 5 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •