Friendlyskies AoI Forum

You are not logged in.

Announcement

#1 December 6, 2009, 8:17 pm

SlugFiller
Mostly Harmless
Registered: October 8, 2009,
Posts: 20
Reputation :   

Unveiling: Center-Gon Mesh plugin

Having finally reached a point where all of the internal structures are graphically editable, and all of the tools have decent icons, I've decided it's finally time to release the first pre-alpha of my center-gon mesh plugin for others to play around with (and tell me what they think).

The plugin can be obtained here.

It is still at a very early stage, much earlier than I would have desired (I did get distracted for the last couple of weeks, which pushed back my release date). It has no animation support, and the subdivision is still not finished. The tools available are just the bare minimum too, not even all of the basics for making editing the thing comfortable.

It can still be used to make pretty static models with decent smoothness, although a lot of the work would have to be done very manually.

Also, I didn't post the API docs for the plugin on the site, even though it has pretty extensive docs. I'm wondering if I should have taken the time.

Well, I hope someone enjoys this release, and I hope to get a newer release with more features completed, sooner rather than later. I do have a couple of other projects I have to work on, but I hope to make some progress with this plugin as well.

Offline

 

#2 December 7, 2009, 5:18 am

utrrrongeeb
Sentient Primitive
From: Eastern Canada
Registered: August 27, 2005,
Posts: 402
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

I tried it, but it has some serious conflicts with OpenGL -- errors everywhere. Turning OpenGL off makes it work alright.

So far I've only managed to make one face, but then again I haven't read any instructions or looked at the example.


neutral utrrrongeeb [Art] formerly amateurmodeller
Win Win Win Honorable count3

Offline

 

#3 December 7, 2009, 7:39 am

mayid
Live Duplicate
From: Argentina
Registered: March 29, 2009,
Posts: 997
Reputation :   
Website

Re: Unveiling: Center-Gon Mesh plugin

I'd like to see some pictures about what the plugin do. I can't really figure it out. COuld that be?


Comunidad en español:
www.aoi-castellano.com.ar/ForoBB/index.php
Comunidad de aprendizaje.

Online

 

#4 December 7, 2009, 10:21 am

Siri
Forum Android
Registered: December 19, 2008,
Posts: 173
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

Hi,
...here the same. With OpenGL I had several crashes. Without OpenGL it works. Only the freehand selection behaves weird from time to time. It starts an AoI-unit (y-axis) away from the cursor.

I've made some Center-Gon-Mesh-Flowers wink

Greetings
Siri

http://www.friendlyskies.net/aoiforum/uploads/thumbs/407_screenshot-blume.jpg

http://www.friendlyskies.net/aoiforum/uploads/thumbs/407_blume.jpg

Last edited by Siri (December 7, 2009, 11:01 am)


I'm a featherless friend of Blue cool

Offline

 

#5 December 7, 2009, 1:13 pm

Vidiot
2000 posts? Insane.
From: Hamburg
Registered: November 3, 2004,
Posts: 2019
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

Without JOGL it was fine.
Is it intended to create vertices only at 0,0,0 ?

But it looks already powerful.
Slugfiller, except the points metioned on the website to Center-gons,
what is their main advantage?
Maybe they do better with Ngons - but in this alpha - it looks a little weired due to it´s subdivision (a similar outline as ngon from PME can be seen in the image, too).

http://www.friendlyskies.net/aoiforum/uploads/thumbs/5_cgon.jpg

I´m really curious where this is going towards to.
The list of vertices and edges, faces is good - but how to handle objects with 1000 or 50.000 faces?

Greetings
Harald


Don´t start chasing rainbows - get caught by them.
Deutsches Portal für Art of Illusion

Offline

 

#6 December 7, 2009, 5:23 pm

SlugFiller
Mostly Harmless
Registered: October 8, 2009,
Posts: 20
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

I find it odd that people have problems with JOGL, since I use it with JOGL and have no issues.

@Siri: I'm rather impressed by what you did there. It's certainly more impressive that what I've created thus far. I would have liked it, though, if one of the views had the projection turned off.

As for your comment regarding the freehand - I am actually calling AoI code for that one, so it should work exactly as it does in the triangle mesh editor. If you think there's an issue, and can reproduce it with the triangle mesh editor, then perhaps you should take it up with Peter. If it doesn't appear in the triangle mesh editor, then I might need to have a closer look there.

@Vidiot: I created this for 3 reasons:

1. The "quadric" subdivision. First, it maintains the size of the object - a cube results in (roughly) the contained sphere, whereas in "approximation" you get an object that is smaller by roughly 10%. It also handles straights better - two adjacent faces on the same plane form a straight line between the centers, whereas in "approximation" and "interpolation" you get "humps".
As a test case, consider applying smooth subdivision to an object that went through two steps of linear subdivision. With current methods, you would get a "lumpy surface". With quadric you get a surface with flat areas connected by smooth edges - sort of a "beveled" version of the original object.

2. I wanted manual generation and editing. First, the only thing worse than my mouse is my hand, so being able to get positions in by keyboard is a must. Second, I don't like extrusion modeling. Consider the "hand" modeling tutorial. At various steps it asks to make "10 extrudes" here and "5 extrudes" there, and it's quite obvious that if you get the number wrong, it would be next to impossible to go back and correct things. This requires too much pre-planning, and I prefer to be able to add my details one at a time. PME makes things a bit better by adding the "slice" tool from LightWave, but it still has its limitations.
Even with the pre-alpha you can already delete and recreate faces anywhere in the model, but once I add "split edge", "weld vertices" or "split face by edge" commands, it will become much simpler. My main goal is that you wouldn't need to make your model at a specific order, you could start with anything and keep changing it until it looks just right.

3. I really didn't like AoI's attitude on animation. For vertex animations, you need to convert the object into an actor, which means its topology cannot be edited anymore - more pre-planning. You can also have skeleton animations, but AoI has a unique skeleton system which uses a 4-axis bone, instead of the usual 6-axis bones used in any other program. The 4-axis bones are practically unusable, since they have no origin offset and are difficult to get in the right base angle to ensure freedom later on. It takes 2 AoI bones to do what one bone does in any other program.
But even if AoI had proper bones, a linear system still has issues even with simple object. Consider a bending straw - you would need a bone at every joint (if not two, just to make it bend smoothly), and if you want the entire thing to bend, you still have to animate each bone separately. You can do this with gestures, but, once again, you have to convert to an actor, and then you can't go back and make fixes.
I intend to add an animation system that would work much like the procedural distortion track, except that it can be applied to individual vertices within the mesh. This is the main idea behind "transformations". The green skeleton button on the top of the view would toggle between viewing the base mesh (good for editing the vertices), and viewing the transformed mesh (for previewing the transformations). In fact, transformations would be the next thing I'll add.
These transformation would be controlled by "avars", which work a lot like the custom texture parameters for procedural textures. Multiple transformations can be controlled by the same avar, or you could have a transformation that is not avar dependent (not animable). So, for instance, you could have a single avar which controls the bend of a straw along its entire length.
There would also be transformations for controlling the parameters, so you could, for instance, have an avar which raises an eyebrow, also change a parameter which would cause a wrinkle to appear on the forehead as a displacement map (having the parameter as the W of a 3D procedural texture would work).

I also took the opportunity to add various other things I needed, like a UV mapping that is not as volatile and can be edited with direct relation to the mesh, or the super-sampling view for better textured preview, face and vertex counters, and other such features.

You are right that the subdivision looks weird - that's because it is incomplete and has bugs. I've mentioned this in another thread - most of the issues with the subdivision are a problem of the math that produces it more than that of the code. I may have to completely rethink the geometry I'm using, and try to get the desired effect some other way.
You may also notice that "approximating" and "interpolating" don't do any subdivision. I intend to add standard butterfly and Catmull-Clark there. But right now, subdivision is not my main priority, since I'll need a lot of rethinking before I can get it right, and the mesh-type can already be used for low-poly models without any subdivision.
Regarding you example, specifically, if you delete the face (keeping the edges) and switch to wireframe view, you would see the outline the face is supposed to have (had it been working properly).

As for your question regarding many-faced objects. Well, first, you don't have to use the list - the selection tools allow the usual methods of selection. It is mostly intended either as a convenience, when you don't want to reach for the mouse (in cases where it is indeed convenient), or for pathological cases, like selecting a vertex behind a vertex (although that could also be done with the mouse by moving it in place, or by hiding the undesired vertex.
Also, once the quadric subdivision works properly, a high-quality model should no longer require more than 400 or 500 vertices. The subdivision, with some displacement mapping for details, should be more than sufficient to create the equivalent of a hand-edited high-poly model. That is, after all, the main purpose of the plugin - to do more using less.

Regarding the creation of vertices - the idea is that you'd have the move tool selected, then you'd create a vertex, move it into place, create a vertex, move it into place, rinse repeat. This is why it automatically selects newly created vertices.
Later on, I'll add a "polyline" tool which allows you to simply click where you want a vertex to be created, provided there is no vertex already there. It would also create edges automatically, saving some effort. I might also make another version which attempts to also create faces automatically.

I have noticed that in all of the screenshots of my editor here there are tools which I do not recognize, and do not appear on my editor. What are those?

Offline

 

#7 December 8, 2009, 8:35 am

Nik777
Moderator
From: Sydney, Australia
Registered: December 5, 2004,
Posts: 1116
Reputation :   
Website

Re: Unveiling: Center-Gon Mesh plugin

Wow!

I actually tried this yesterday and started posting my initial impression (but failed to submit it). After about 2 minutes trying to get a point somewhere other  than (0,0,0), I found the move tool, and the workflow of keeping the Move tool selected and simply adding new points (presumably why you have two separate tool palettes).

I am certainly a mesh-modelling neophite, but if I've understood correctly, this is really powerful because:

1. It allows a face to have curvature based on its centre relative to its vertices, rather than relative to its vertices and surrounding faces - yes?
2. It supports very direct editing of the mesh itself.

@Slugfiller: thanks for the excellent explanation and information on the planned features.
Would you mind if I cut-n-paste that text and create a Help page that you can include with the plugin to get neophites like me started?

I have noticed that in all of the screenshots of my editor here there are tools which I do not recognize, and do not appear on my editor. What are those?

I believe they are from a plugin, but after a bit of searching on SF, I couldn't acually find which one. I thought it was one of TroY's that provides tools for measuring things in AOI.

Cheers!
Nik


Honorable
I would not be a member of any club that would have me as a member
- Groucho Marx

Offline

 

#8 December 8, 2009, 9:10 am

SlugFiller
Mostly Harmless
Registered: October 8, 2009,
Posts: 20
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

After about 2 minutes trying to get a point somewhere other  than (0,0,0), I found the move tool, and the workflow of keeping the Move tool selected and simply adding new points

I don't know if you mean "2 minutes" as a lot or little, but I prefer to read the fact that you figured it out on your own to mean that it's sufficiently intuitive.

(presumably why you have two separate tool palettes).

Actually, the one on the right is not a tool palette, it is a "command palette". The buttons there are just that - buttons. Once pressed, they are not "selected", they simply perform their action, like a menu item.
The ones in the current release also have equivalents in the menu itself (unlike the tools), but this is not guaranteed for all future commands. It is also possible to add additional command as a plugin by implementing "slugfiller.centergon.commands.CenterGonCommandPlugin".

1. It allows a face to have curvature based on its centre relative to its vertices, rather than relative to its vertices and surrounding faces - yes?
2. It supports very direct editing of the mesh itself.

You seem to have gotten the gist of it.

Would you mind if I cut-n-paste that text and create a Help page that you can include with the plugin to get neophites like me started?

Which text. From the website? From the rant above? I don't see anything there that would be helpful for "newcomers". I should probably write a more comprehensive and readable help.

I was planning on making a tutorial for making a "dice" model, complete with a parameter-mapped texture. However, I am about to be swamped with work, so I may have to postpone that a bit. I'll see what I can accomplish.

Offline

 

#9 December 8, 2009, 11:12 am

Truth
Mad Scientist
From: Parallel universe
Registered: December 22, 2007,
Posts: 351
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

Good work.

Runs fine with JOGL.

The tools need be better and smart.

I'm used to subdivision modeling, this will take time to get acquainted with.
LOL, I had imagined an editable mesh with editable curves at place of face edges, so that a face can have a
curvature, and this is so close.

Last edited by Truth (December 8, 2009, 11:17 am)


-----------------------------------------
guitar snowglomp laptop zzzz
_____________________________

Offline

 

#10 December 8, 2009, 3:10 pm

Vidiot
2000 posts? Insane.
From: Hamburg
Registered: November 3, 2004,
Posts: 2019
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

SlugFiller wrote:

..., since I use it with JOGL and have no issues.

Today no problems with Jogl - any ghosts appearing here? smile

SlugFiller wrote:

@Vidiot: I created this for 3 reasons:

Thanks for you excellent explanations

SlugFiller wrote:

2. ... PME makes things a bit better by adding the "slice" tool from LightWave, but it still has its limitations.
Even with the pre-alpha you can already delete and recreate faces anywhere in the model, but once I add "split edge", "weld vertices" or "split face by edge" commands, it will become much simpler. My main goal is that you wouldn't need to make your model at a specific order, you could start with anything and keep changing it until it looks just right.

Weld vertices, recreate faces and split face by edge are called "collapse", "close boundary" and "add lope" in PME - it´s not Wings - but sometimes better. But I hear your words and I *very* curious where this is going to.

SlugFiller wrote:

3. I really didn't like AoI's attitude on animation. ...

I totally agree! I would like to see "modifiers" or "gizmos" here, like in C4D or Max.
This would give absolute control without having to cope with skeletons.

SlugFiller wrote:

I also took the opportunity to add various other things I needed, like a UV mapping that is not as volatile ...

Better UV editing is welcome! The standdard UV editor is rarely beeing I assume.

SlugFiller wrote:

...a high-quality model should no longer require more than 400 or 500 vertices. The subdivision, with some displacement mapping for details, should be more than sufficient to create the equivalent of a hand-edited high-poly model. That is, after all, the main purpose of the plugin - to do more using less.

If you put in displacementpainting, then: Yes. Else I´m concerned a little about the total success. At least this is exact one of the reasons for Francois to code clayapp...
http://claydotapp.sourceforge.net/
So being able to handle 1000 - 10.000 faces with good "answer times" is worth considering.

SlugFiller wrote:

I have noticed that in all of the screenshots of my editor here there are tools which I do not recognize, and do not appear on my editor. What are those?

Daily Helpers ("Troy Tools")

Greetings and thumbs up!
Harald


Don´t start chasing rainbows - get caught by them.
Deutsches Portal für Art of Illusion

Offline

 

#11 December 8, 2009, 4:11 pm

Siri
Forum Android
Registered: December 19, 2008,
Posts: 173
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

Hi Slugfiller,

... I've tested the freehand selection tool of the triangle mesh editor today, but it works quite normal.

I've started modeling a cartoon chicken. So things went a little bit harder for the Center-Gon Mesh plugin today wink Closing an open part of the mesh with faces causes a crash one time, but most of the time the plugin works fine. Maybe I did something wrong.

The problem with the freehand selection tool appeared again, but after closing and reopening the editor the tool worked normal again.

Thank you for the detailed information about the plugin smile

Greetings
Siri

http://www.friendlyskies.net/aoiforum/uploads/thumbs/407_hahn.jpg

Last edited by Siri (December 8, 2009, 4:12 pm)


I'm a featherless friend of Blue cool

Offline

 

#12 December 8, 2009, 8:36 pm

SlugFiller
Mostly Harmless
Registered: October 8, 2009,
Posts: 20
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

Well, I just wrote and posted a "quick" tutorial detailing the basic tools on the website linked above.

While writing the tutorial I stumbled upon a serious bug which could cause the editor to freeze if attempting to add a face connected to two other faces with inconsistent normals. So, all the early birds should probably get the updated version now.

@Siri: Okay, wow.
Are you this good with all of the mesh types, or just mine?
And, how are you so far ahead of me in my own mesh type?

Vidiot wrote:

So being able to handle 1000 - 10.000 faces with good "answer times" is worth considering.

Well, all my ops are worst case O(n*log(n)), unless adding non-constant texture parameters (not counting the model's internal parameters available via the editor), so speed-wise it should run smoothly.
The question becomes about actually editing a model with 10000 vertices, which seems implausible.
Usually models with such polycount are generated automatically, either by subdivision, or with 3D scanning. In the prior case, since the subdivision can be done at render time, "on the fly", so there is no need to store the subdivided vertices in the model itself and have them interfere with the editing. In the latter case, the model should probably be simplified using "unsubdivision" algorithms (e.g. repeated weld nearest vertex pair) to make them more editable.
In either case, it is fairly unlikely that a human would make a 10000 polys model "by hand", regardless of the method used (except for subdividing and then not touching the result).

Consider the chicken posted by Siri, above: 93 vertices, 92 faces, under 100 on both counts, but it looks like a very high-quality model (even with the buggy incomplete subdivision algorithm).

Offline

 

#13 December 10, 2009, 11:24 am

Nik777
Moderator
From: Sydney, Australia
Registered: December 5, 2004,
Posts: 1116
Reputation :   
Website

Re: Unveiling: Center-Gon Mesh plugin

Hmmm,

This is just a thought - more like a dream actually...

Would it be possible to include an option to build a centre-gon mesh from construction lines?

When I first got involved with AOI, years ago, I was trying to build a 3D model of a boat design I had assembled.
The problem I ran into was there was no easy way to import the design information (a series of curves in plan and elevation) into a 3D mesh.

Looking at Siri's chicken, above, I realise that it could easily have been built from lines (effectively contour lines) from plan and elevation views:
Points would be created wherever a plan and elevation line cross, creating an intersection between the two.
Vertices are created between these points, effectively along the contour lines.
Faces are created to fill the spaces between connected vertices;

Et voila! We have a 3D mesh from 2D (CAD) data!

I know others would really welcome this ability as well.

I guess I should also have looked at the Polymesh tool for this when it first came out, but I didn't immediately see how it might address some of the problems that I had encountered with the default trimesh. But given the way a Centre-gon mesh can be built up from points and vertices, it seems natural it would support automation of this.

Other applications would be:

* creating 3D models of other industrial shapes from CAD data, such as cars, components, etc;
* creating 3D models of cartoon and realistic people, animals, etc from hand-drawn line-drawings;

I presume I could dig around in the plugin code and work out how to drive it myself (and indeed perhaps even the PolyMesh plugin), but it might be a fairly easy job for someone who already knows the code?

Just a thought / request.

Cheers!
Nik


Honorable
I would not be a member of any club that would have me as a member
- Groucho Marx

Offline

 

#14 December 10, 2009, 11:58 am

SlugFiller
Mostly Harmless
Registered: October 8, 2009,
Posts: 20
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

As I've mentioned, the center-gon mesh plugins exposes new plugin categories, among them a "command" plugin for creating your own commands.

I'm not sure about the mathematical practicality of what you're discussing, but if you have an algorithm in mind, you can easily write a command plugin that would do just that - take the selected edges and somehow cross them into an object.

I did plan to eventually make a "loft" command or tool, but that's probably months away.

The problem then becomes that of importing your curves. This is supposed to be supported by the "paste" command, but it is not yet implemented, so you would have to input them manually (or create your own "import from scene" command).

Offline

 

#15 December 11, 2009, 10:22 am

Siri
Forum Android
Registered: December 19, 2008,
Posts: 173
Reputation :   

Re: Unveiling: Center-Gon Mesh plugin

Hi Slugfiller,

thank you... but I don't think I'm far ahead. I'm just interested in modeling, but I have some experience in subdevision/box-modeling only.

The tutorial is a good help and I have no longer problems to add faces with the updated plugin. Thank you smile

500 vertices seem to me a little for a high-quality model. To model a young face for example is maybe not a challenge, but an older face surely is. Displacement has its limits too, if it comes to overlapping wrinkles or animation. So there will be surely parts of the mesh where you can't reduce vertices significantly, but we will see what is possible and how far one can go. (The examples are PME-meshes).

http://www.friendlyskies.net/aoiforum/uploads/thumbs/407_two-faces.jpg


I suppose the strategy to build up a mesh with the Center-Gon Mesh plugin has to be a little bit different from subdevision modeling methods. So before I've started modeling the chicken I've had a closer look at spline/nurbs-modeling. I guess this comes closer to what is needed here and it works quite good for the cartoon chicken.

Greetings
Siri

Yes Nik, you are right. I 've made the chicken exactly that way icon_eek

Last edited by Siri (December 11, 2009, 10:28 am)


I'm a featherless friend of Blue cool

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson