Author Topic: Ideas for increasing the awesomeness that is MeshMixer :)  (Read 804 times)

wandererBC

  • Newbie
  • *
  • Posts: 6
    • View Profile
Ideas for increasing the awesomeness that is MeshMixer :)
« on: May 28, 2011, 10:45:32 PM »
Hi Ryan,

First a warning, this is a long post. ::)

Just wanted to say i'm a big fan of Meshmixer and your other work and offer a few ideas of my own  ;D.  

I guess you could call me a 3D sketching fanboy as I've been following the work you and several other researchers have published over the years (Most notably Takeo Igarashi, and Olga Sorkine.) regarding sketch based interfaces for 3D graphics modeling.  I tried out Shapeshop back in the day and loved a lot of things about it (when it wasn't crashing  ;)), but by the time I discovered it ,it seems you already stoped releasing public builds of it and the forums over there were filled with spam, otherwise i would have posted comments along time ago. :P

I've been playing with the last few versions of Meshmixer (03- 06) and love it!  It's pretty clear that it's the successor to Shapeshop especially since youve stated you want to add a lot of the features that only ever made it into your research builds (see this post on the forrums:  http://meshmixer.com/forum/index.php?topic=350.0).

Anyway, here are few requests for specific improvements to the way a couple of things work.  And som ideas I've had for a while for some additional tools in MM.

Import / Export:

1.  I've found that when I export models from some applications in .obj format (most notably using the free 3rd party export plug-in for SketchUp basic), that they are converted to a collection of unlinked triangles.  I was wondering if we could get an option in MM to weld all polys together on import, thus eliminating my need to use another application first to fix the files before bringing them into MM.

2.  I've imported some free models I've found on various websites, and a few of them have had self clipping geometry or internal structures that were un-necessary for my purposes.  This is very time consuming and annoying to try to correct in MM, and was wondering if there was any kind of option that could be added to delete internal geometry on a mode's import.

3.  When exporting to Shapeways, it can be useful to hollow out an object before having it printed to help reduce costs.  An export feature that would automatically hollow out your model (with user adjustable internal wall thickness), would most likely be useful.

Navigation & placement:  

1.  Some kind of 3D navigation widgets for pan, scaling, and rotating as are found in most other 3D packages would be welcome, as would a ground plane that could be toggled on or off. Also a way to lock the axis of which ever direction the user is moving / rotating the object in would be nice.

2.  Now that we have the ability to import more than one object at a time, how about the ability to easily place one object in space in reference to another.  The way this could work would be to select areas  on both (assuming this only works for 2 objects at a time) objects with brush or lasso tools, and have a way to designate which object is primary and which is secondary.  A list of options would then be given to the user, such as "make adjacent", which would move the second object so that it's selected area would be in direct contact with the primary object's selected area.  Other options could include "Move Parallel," which would align the two objects so that there selected areas were facing each other, but maintaining as close to there original distance apart as possible, "move perpendicular", and "rotate around (I hope these are now self exploratory from their names.)

Refrence:

1.  The ability to import both background images for reference, and images directly onto a plane in 3D space that would be manipulable with all of the standard Meshmixer tools.

New tool requests based on your own previous work and research:

1.  More parametric stuff as described in the videos from the road map post.  Specifically, scince we already have extrusions as of mm05 I'm interested in the ability to make bulges and creases using the lasso selection, or multiple lasso selections, as well as getting the ability to make instance copies, some kind of mirror tool, and a layer system, all of which you show in this vid:  http://www.dgp.toronto.edu/~rms/pubs/SurfaceTreeEG08.html  I know the sculpting brushes can already do some of these things, but I've never been very good at this type of modeling in programs that use it.  While it's fun, more often than not I wind up with an ungangly mess.

2.  Base object creation via sketching of blobjects - AKA Shapeshop.  That's it basicly, get the basics of Shapeshop into Meshmixer, pretty please!

3.  Warp Curves:  Meshmixer deformation nodes on steroids! I've wanted to have a tool like this since I first saw that paper last year! http://webhome.csc.uvic.ca/~graphics/msugihara/WarpCurves/index.html  Another idea - If /when shapeshop blobject creation  gets added, have the sketch spline automatically be converted to a warp curve upon the blobjects generation, to allow for tweaking the objects shape.

4.  Push pull lasso selection boundry curve:  I think you mentioned this is something you would like to see make it into MM in another post, and well, so would I.

New tool requests based on Olga Sorkine's previous work and research:

1.  Silsketch - If I had to choose only one new tool that could be added to Meshmixer ever, it would be one that works as closely as possible to this one. http://www.youtube.com/watch?v=6G2YSP9Ad_k http://www.cg.tu-berlin.de/menue/forschung/projekte/sbm/  I know that having both this and warp curves might seem redundant, but i think they both have their strengths and weaknesses.  This seems to be best for quickly iterating on a shape, where warpcurves look to be better for more precise positioning similar to deformation nodes.

2.  SIMOD:  This as a check box option for all current and future freeform deformation tools in MM, specificly it's feature preserving ability.  http://iparla.inria.fr/publications/2007/BSS07a/

New tool requests based on Yotam Gingold's previous work and research:

1.  Shading-Based Surface Editing:  See video on http://cs.nyu.edu/~gingold/shading/- reminds me of a bit of a cross between a lot of your procedural work and Silsketch which I mentioned above; and well, I like it and would like to see something similar in MM  :).

A few ideas of my own:

1.  Generate object from grey scale sketch:  As seen in the video here http://www.youtube.com/watch?v=c7NWpn-k6Ng.

2.  Array sketching: Using either parts or already in scene objects. See this video for reference. http://vimeo.com/9084198  This was developed as a script for an early revision of blender 2.5 beta, but no longer functions with their current api in the latest version and the author does not seem inclind to update it.  i imagine the version in MM using warp curves instead of a spline, but with nearly the same functionality either way.

3.  Spheroid Curves:  A hybrid of Warp curves and blobject generation that could be used in ways similar to the method described in the research shown here by Takeo Igarashi and Yotam Gingold http://www.designinterface.jp/en/projects/2D3Dmodeling/ as well as the curves tool in 3D-coat; see video: http://www.youtube.com/watch?v=kF1IAsFkSuc

4.  Skeletal system to warp curves on import:  If an imported model contains skeletal data for animation / posing, it would be converted into an internal  collection of linked warp curves for manipulation inside MM.  This could be away to quickly pose pre-riged characters without having to impliment a bone system of your own.

And thats it!.  I don't want much do I, lol.  :D :o

What can I say except that I've spent a LOT of time thinking about this stuff over the years.

Do I expect I'll get everything I've asked for?  Not necessarily, but if I've given you any interesting ideas or have shown another user something interesting that they would also like to see implemented, than at least that's something.

Later.

wandererBC

P.S.  I apologize for any grammatical mistakes or overly long run on sentences.
« Last Edit: May 29, 2011, 11:23:55 AM by wandererBC »

RMS

  • Administrator
  • Hero Member
  • *****
  • Posts: 569
    • View Profile
Re: Ideas for increasing the awesomeness that is MeshMixer :)
« Reply #1 on: May 28, 2011, 11:26:04 PM »
Long post! Interesting though. Clearly we are thinking along the same lines =)

Also pretty cool that you follow all this research-side stuff. Pretty rare for a CG artist....are you a graphics grad student or something? ;)

Anyway lots of good ideas in there. Definitely I have thought about many of these things, especially from the other research papers. Some of the stuff out there requires some work to implement, or may be hard to integrate into a system that is supposed to scale to millions of triangles (SIMOD-style techniques could conceivably help there although there are trade-offs). But definitely a lot of that work has motivated meshmixer.

Thanks for the suggestions.

(Some of the links in the last section are missing, I would be interested to see them.)

wandererBC

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Ideas for increasing the awesomeness that is MeshMixer :)
« Reply #2 on: May 28, 2011, 11:34:42 PM »
I just re-editied the post and added the links.

Actually I'm more of a long time CG hobbyist, more than a real artist, yet.  Really I dabble a lot, and have yet to find a 3D modeling interface in nearly any program that I'm super comfortable with, which is where my interest in a sketch type interface comes from.  It just seems to be such a natural idea I don't know why any of the big commercial developers haven't tried something like it ages ago.

Recently I've become more interested in 3D modelling as a way of getting things made (3D printing, rapid prototyping, CNC machining) and have recently gone back to school to get my degree in product design and model making; which involves a lot of hands on learning on exactly these types of machines, though not so much the 3D printing yet.

Anyways that's my story and i'm sticking to it!  ;D

Keep up the good work.  ;)
« Last Edit: May 28, 2011, 11:39:03 PM by wandererBC »

wandererBC

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Ideas for increasing the awesomeness that is MeshMixer :)
« Reply #3 on: May 29, 2011, 01:43:07 AM »
I first started following research in CG (mostly modeling tools and interface design) after stumbling across a video of Takeo Igarashi's Teddy software back when it was first released.  At the time I was trying to learn the trueSpace software and not much liking the interface (long before Microsoft acquired and killed it.), and was always on the look out for the next cool thing from any of the major mid-level 3DCG package developers of the time.  The ideas presented in Teddy blew me away, and over time, as fewer and fewer real innovations seemed to come from the big mainstream developers I began to realize that most of the truly exciting stuff was happening in university R&D programs.  So I started searching out papers and presentations about interface ideas and modeling tools similar to those presented in Teddy (and later Fibermesh, and then Shapeshop.).  Now though , once every few months when I hit a lull in new information about any of the myriad of things i'm interested in, I trawl my favorite researchers' sites to see If anything new and cool has popped up on the radar.  

One of my biggest frustrations with research in CG though is how much of it never seems to make it out of the universities and into anything the end user will ever get to play with (that isn't a quickly thrown together demo for a conference somewhere).  I don't care whether it's commercial, free, open source, or what have you, just so long as i might have a chance to use it if I want to someday.  Otherwise, what's the point of putting videos of all that research up on Youtube or Vimeo or wherever; where the viewership will invariably be largely non-academic in nature.  It's like saying to all the CG artists who stumble across it "Hey see this really cool thing I can do that you'll never get to do! (cue Nelson's laugh from the Simpsons)."  Aargh! >:(

Must calm down.  Must not use fist of death!

Ok I'm better now.

Oh if your interested, a few of my favorite research projects (that I can, as a layman, actually understand) from the last few years besides the stuff I listed above are:

Diffusion Curves - http://artis.imag.fr/Publications/2008/OBWBTS08/ http://artis.imag.fr/Publications/2009/Orz09/ http://artis.imag.fr/Publications/2009/WOBT09/ http://artis.imag.fr/Publications/2009/Orz09/ (I think diffusion curves could have potential as a method of surface deformation in 3D modeling, possibly by using grayscale colors to map height values on to an object's mesh.)

Analytic Drawing of 3D Scaffolds - http://www.dgp.toronto.edu/~rms/pubs/DrawingSGA09.html  This one may seem familiar :)

EverybodyLovesSketch - http://www.dgp.toronto.edu/~shbae/everybodylovessketch.htm

A sketch-based interface for clothing virtual characters - A sketch-based interface for clothing virtual characters

Context-Aware Garment Modeling from Sketches - http://www.cs.ubc.ca/nest/imager/tr/2011/ContextAwareGarments/#models

Structured Annotations for 2D-to-3D Modeling - http://www.designinterface.jp/en/projects/2D3Dmodeling/ Yes I know I posted this one before, still gonna post it again anyways.

Modeling-in-Context: User Design of Complementary Objects with a Single Photo - http://www.designinterface.jp/en/projects/modelingIC/

Easy Mesh Cutting & Paint Mesh Cutting - http://www.math.zju.edu.cn/ligangliu/CAGD/Projects/EasyMeshCutting/default.htmhttp://www.math.zju.edu.cn/ligangliu/CAGD/Projects/PaintMeshCutting/default.htm These two projects together seem to offer features very similar to a hybrid version of both Mesh Mixer's lasso and brush selection tools together, with a little bit of Silsketch thrown in.

Stylized Lighting for Cartoon Shader -http://www.olm.co.jp/en/rd/2009/06/stylized_lighting_for_cartoon_e.html

Illumination Brush - http://www.youtube.com/watch?v=s1z9qro5rZ4 This might be a good way to control the lighting in MM (would be especially useful if there was a way to get that info out of the program and into another app such as Blender).  Also might be nice for setting up lighting to bake to your textures.

Locally Controllable Stylized Shading - http://www.olm.co.jp/en/rd/2007/07/siggraph_2007_paper.html

The Sketch L-System:
Global Control of Tree Modeling Using Free-form Strokes - http://133.11.9.3/~ijiri/SketchLSystem/index.html

A Sketching Interface for Terrain Modeling - http://133.11.9.3/~hiren/projects/terrain_modeling/index_e.html (Why does this feel familiar)  ;)

Spatial Keyframing for Performance driven Animation -http://133.11.9.3/~takeo/research/squirrel/index.html Might be useful if you ever feel like adding simple animation capabilities to MM, also I like how you can manipulate the placement of objects in a scene by dragging their shadows on the ground plain.

That's it for now.  There are a couple more I can't remember where to find, maybe I'll post them later if your interested and I can locate them.





« Last Edit: May 29, 2011, 11:43:36 AM by wandererBC »

RMS

  • Administrator
  • Hero Member
  • *****
  • Posts: 569
    • View Profile
Re: Ideas for increasing the awesomeness that is MeshMixer :)
« Reply #4 on: May 29, 2011, 01:54:35 PM »
Yea, the transition from university to research to commercial software is kind of difficult. There are a lot of reasons, but the most significant one is that often it is hard to see how to integrate it. For example a lot of the stuff you mentioned really only works with triangle meshes. But artists (who buy software) say the won't use it unless it is quad-only, or preserves their UVs, or whatnot. THe reality is that the actual 3D-surface-design step is a small one in most industry pipelines, but is the only thing most researchers consider.