PDA

View Full Version : Vendor Request: User definable dicing.


Vizfizz
02-14-2006, 05:52 PM
Ok.. had a thought here..and was wondering if this was possible.

Dicer is a great utiliity for triangulating and adding additional geometry to an object for deformation and displacement purposes. Unfortunately it dices the entire model.

Could it be possible to selectively dice a model based on user defined weight maps?

Here's a couple of scenarios:

You're creating a displacement map on a piece of geometry and need more resolution. The displacement map is only going to cover a portion of the geometry. You activate strength maps on the existing geometry, paint an area where you need more resolution or "dicing" and then you activate the plugin. Only the portions of the model affected by the weight map is diced.

Or

You only need a portion of a model, say around the knuckles on a finger, to possess more geometry in order for bone deformers to work more smoothly instead of potentially breaking the mesh. You paint the geometry around the knuckle with a weight map, and the new dicer only triangulates that portion of the model. You export out a new model with the additional geometry and reskin to your skeleton. Knuckles bend more efficently now.

Again.... artist here... not a programmer. Is this possible?

NorthernLights
02-15-2006, 02:56 PM
Interesting idea. On the surface it seems possible. Given one triangle, you'd subdivide it a certain number of times base on the average weight of the original vertices. You could get fancy and subdivide base on interpolated weights of the previous subdivision...a recursive thing.

I can see one major problem though and that is that once you add vertices from a model, the weight map is now useless and has to be rebuilt because weights are stored in a 2D array with a one-to-one correspondence with the vertex array. To see the nasty effects, take an uber shape plane say 10 by 10 divisions and paint a weight map on it. Now go edit the plugin and up the divisions to 20 by 20. The weight map has garbage in it.

Another unfortunate pain is the fact that Camera knows nothing about weight maps so a plugin would have to store the maps in the control file which would make it huge. You'd really have to save the results as a FACT which sort of defeats the purpose of doing it as a plugin.

It raises some issues regarding the plugin API in general. First, weight map data should be accessible in Camera. Second, plugins should be able to tell Animator about a temporary/scratch/external data file that it might be using so that Animator can tell Renderama about it and Renderama can send it over to slave machines so that when the plugin is running in Camera it can find it. IMHO, plugins running in Camera should be able to query the entire animation data instead of just the current frame data.

Vizfizz
02-15-2006, 03:15 PM
Well.. couple of things.

1. So the weight map is now garbage. So what. Delete it and move on. Its only being used to modify an existing model so it works better within animator.

2. As much as it would be nice to have the plugin function during rendertime, I can only imagine it would be something that could potentially slow things down. I think the purpose of the plugin would be a part of the potential modeling "sub system" within animator. It would be positioned as a method to modify an existing model and enhance its geometry for deformations and then export the model out. If users have Swapper, it could be a means to an end.

If you can resolve the problem with Camera and make it a rendertime solution. Great.

Igors
02-15-2006, 03:46 PM
Dicer is a great utiliity for triangulating and adding additional geometry to an object for deformation and displacement purposes. Unfortunately it dices the entire model.

Dicer is not great imho. The Dicer's triangulation is primitive and produces non-planar geometry.

You're creating a displacement map on a piece of geometry and need more resolution. The displacement map is only going to cover a portion of the geometry. You activate strength maps on the existing geometry, paint an area where you need more resolution or "dicing" and then you activate the plugin. Only the portions of the model affected by the weight map is diced.

We learned this problem in past. Our conclusion is: "adaptive displacement" feature is only one way to go. Can be implemented only in Camera (not in plugin)

Vizfizz
02-15-2006, 03:57 PM
Igors: Dicer is not great imho. The Dicer's triangulation is primitive and produces non-planar geometry.

Ok.. fine. This plugin isn't dicer. It just does something "like" dicer. Its something new. Program it to make it better. ;)

My whole point for this suggestion it to provide a means within animator for a user to modify an existing model to better accomodate deformation and character requirements. As much as I'd like to see it operate through EI's entire rendering pipeline, its not really necessary. If a model is too low rez to work for a specific purpose, the only current choice of action is to take the model back into a modeling program, and insert more geometry. If animator could do that process for you, "dice" the area in question and then save out a new .fact model. The user then only needs to launch one program instead of two. Its a time saver.

Most of my suggestions are going to be that. Find methods to increase Animator's internal capabilities so it isn't so reliant on 3rd party packages. This doesn't mean that I want to make Animator a stand alone program. I think dedicated modeling packages are necessary for the complicated things. But there's still things we should be able to do in Animator to save us some time.

AzOne
02-15-2006, 04:24 PM
User definable dicing is something I've been thinking about lately. I'm on a project that requires some Image2Mesh terrains. I have had to mesh some terrains heavily to get the look required. I was thinking how nice it would be if I could define heavy meshing only for parts of my terrain that required it.

Igors
02-15-2006, 04:36 PM
Hi, Brian


Most of my suggestions are going to be that. Find methods to increase Animator's internal capabilities so it isn't so reliant on 3rd party packages. This doesn't mean that I want to make Animator a stand alone program. I think dedicated modeling packages are necessary for the complicated things. But there's still things we should be able to do in Animator to save us some time.

Well, Brian, your requests are very simple and.. very complex same time :)
The Dicer example. Of course, its triangulation can be improved (triangulation algorithms + weight maps adaptivity). But eventual effect is a little: it's not an adaptive displacement, and it's still limited by EI wmaps (as Blair noticed). That colds developers' enthusiasm very much cause nobody wants to spend his efforts for a theme with a little/problematic result. Note that in other apps such options are supported by host itself (even they are often implemented in form of plug-ins)

Hmm.. but it's a good theme for student's diploma work :)

Vizfizz
02-15-2006, 04:47 PM
Hey guys...

Yah.. that's me. Simple and complicated. lol.

I'm just throwing out ideas and if something sticks, great!

Giacomo_M
02-15-2006, 05:27 PM
Brian-

This proposal seems like a great idea...it ties in with what I posted recently about the practical usability of Encage. Being able to work interactively with lo-mesh proxies is something that I would *really* like to see.

Just FYI (AzOne), displacement maps in Form Z use something called "adaptive subdivisions-" when generating the mesh, the program only adds additional detail in areas where it's needed. I'm not sure if something like this could be incorporated into Dicer.

kevmo
02-15-2006, 06:00 PM
User definable dicing is something I've been thinking about lately. I'm on a project that requires some Image2Mesh terrains. I have had to mesh some terrains heavily to get the look required. I was thinking how nice it would be if I could define heavy meshing only for parts of my terrain that required it.


I think Dova is working on a Terrain plug, but not sure if it does adaptive meshing...

halfworld
02-15-2006, 06:26 PM
I think Dova is working on a Terrain plug, but not sure if it does adaptive meshing...

From the screenshot I saw, yes it does. I had actually forgotten about that plug... I wonder how finished it is.... :)
Ian

PS. Sorry for going OT.

Vizfizz
02-15-2006, 07:09 PM
Are you referring to Konkeptoine's Erosion? Or something more advanced?

Vizfizz
02-15-2006, 07:11 PM
How about it Blair...

Is this something that could be achieved with EITG's help?

Brian

halfworld
02-15-2006, 07:25 PM
Are you referring to Konkeptoine's Erosion? Or something more advanced?

To be honest I don't know what I'm referring too (that happens all too often ;) but I do know that is hasn't been released yet.
Ian

Vizfizz
02-15-2006, 07:38 PM
Maybe its the return of Hyper Deeper.. that would be nice.

Igors
02-15-2006, 07:50 PM
Maybe its the return of Hyper Deeper.. that would be nice.

Ahhhaaa... checking if "something sticks", right :) ?

Vizfizz
02-15-2006, 07:53 PM
I always wanted that piece of software, but never got around to getting it.

I'm hoping its sticking... like glue!!!

richardjoly
02-15-2006, 07:55 PM
If I remember correctly, the terrain plug-in preview was on the European EIAS Usergroup Meeting's DVD.

CGTalk Moderation
02-15-2006, 07:55 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.