keenanwoodall / MeshModifiers

Don't use this - use Deform instead! Its way better!
The Unlicense
49 stars 6 forks source link

Edit mode support? #1

Open andybak opened 7 years ago

andybak commented 7 years ago

Personally I see 2 different use-cases for mesh modifiers:

  1. Animation and dynamic changes to game objects
  2. As a modelling tool - or a way to repurpose existing meshes.

Use case 2 would be incredibly enhanced by edit mode support. I've had a look at a few parametric objects such as https://www.assetstore.unity3d.com/en/#!/content/32907 and it doesn't look terribly hard to implement. There's probably a few tricky issues around garbage collection and memory usage.

What are your thoughts on this?

keenanwoodall commented 7 years ago

I'd love to to give it edit mode support! I just need to solve leaked meshes. Does the asset you linked me solve leaked meshes? I could look at how they solve it.

On Mar 26, 2017 11:04 AM, "Andy Baker" notifications@github.com wrote:

Personally I see 2 different use-cases for mesh modifiers:

  1. Animation and dynamic changes to game objects
  2. As a modelling tool - or a way to repurpose existing meshes.

Use case 2 would be incredibly enhanced by edit mode support. I've had a look at a few parametric objects such as https://www.assetstore. unity3d.com/en/#!/content/32907 and it doesn't look terribly hard to implement. There's probably a few tricky issues around garbage collection and memory usage.

What are your thoughts on this?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/keenanwoodall/MeshModifiers/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AJL3Kldprq8La6RBouRyGl1nWSit7KqEks5rpoyMgaJpZM4MpeOW .

andybak commented 7 years ago

I haven't used it much and I'm not 100% sure I know what you mean by leaked meshes. Is this related to the issue where adding [ExecuteInEditMode] to your script ends up applying the modifier every time you enter/exit play mode? (If so - isn't solving that simply a case of storing a copy of the original mesh? I guess that's pretty obvious - so I'm probably misunderstanding you).

The linked asset seems to work perfectly in both edit and play mode and a quick look at the code shows some intelligent caching and various optimizations that seem well thought out.

keenanwoodall commented 7 years ago

The solution is probably obvious; I don't think you're misunderstanding me :) I don't know how to properly dispose of the temporary editor mesh but I'm sure it isn't too complex.

On Mar 26, 2017 11:12 AM, "Andy Baker" notifications@github.com wrote:

I haven't used it much and I'm not 100% sure I know what you mean by leaked meshes. Is this related to the issue where adding [ExecuteInEditMode] to your script ends up applying the modifier every time you enter/exit play mode? (If so - isn't solving that simply a case of storing a copy of the original mesh? I guess that's pretty obvious - so I'm probably misunderstanding you).

The linked asset seems to work perfectly in both edit and play mode and a quick look at the code shows some intelligent caching and various optimizations that seem well thought out.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/keenanwoodall/MeshModifiers/issues/1#issuecomment-289294141, or mute the thread https://github.com/notifications/unsubscribe-auth/AJL3KqIt1pUTionQlcVqf8uqr2a47tO6ks5rpo6HgaJpZM4MpeOW .

andybak commented 7 years ago

Another related thought. Your modifiers system is a beautiful complement to parametric primitives. We'd essentially have a 3DS Max style modelling workflow inside Unity. This https://github.com/Syomus/ProceduralToolkit has animatable primitives, is available under an MIT licence - and from a very brief test seems to work well with [ExecuteInEditMode] added (although I made no effort to optimize or guard against memory leaks)

keenanwoodall commented 7 years ago

Just made some changes and i've got a hacky implementation working. Download the latest commit on github and give it a try! I haven't gotten to do much testing so it's probably buggy. If you run into anything weird, lemme know so I can take a look at fixing it. :)

On Sun, Mar 26, 2017 at 11:17 AM, Andy Baker notifications@github.com wrote:

Another related thought. Your modifiers system is a beautiful complement to parametric primitives. We'd essentially have a 3DS Max style modelling workflow inside Unity. This https://github.com/Syomus/ProceduralToolkit has animatable primitives, is available under an MIT licence - and from a very brief test seems to work well with [ExecuteInEditMode] added (although I made no effort to optimize or guard against memory leaks)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/keenanwoodall/MeshModifiers/issues/1#issuecomment-289294404, or mute the thread https://github.com/notifications/unsubscribe-auth/AJL3Kj5uf37xYHEuQhouKb6KTXgn3fGrks5rpo-agaJpZM4MpeOW .

-- Keenan

keenanwoodall commented 7 years ago

Hey again. I just made a new commit that reverts the editor support. I rushed the previous version out too quickly and it was much buggier than I thought. Getting this to work well in-editor will actually be pretty rough. If you still want to try editor mode out you can download a previous revision, but for now I'm not gonna support editor mode :(

On Sun, Mar 26, 2017 at 11:17 AM, Andy Baker notifications@github.com wrote:

Another related thought. Your modifiers system is a beautiful complement to parametric primitives. We'd essentially have a 3DS Max style modelling workflow inside Unity. This https://github.com/Syomus/ProceduralToolkit has animatable primitives, is available under an MIT licence - and from a very brief test seems to work well with [ExecuteInEditMode] added (although I made no effort to optimize or guard against memory leaks)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/keenanwoodall/MeshModifiers/issues/1#issuecomment-289294404, or mute the thread https://github.com/notifications/unsubscribe-auth/AJL3Kj5uf37xYHEuQhouKb6KTXgn3fGrks5rpo-agaJpZM4MpeOW .

-- Keenan

andybak commented 7 years ago

OK. I did take a quick look at the code. I'll maybe have a play myself if I get some time (like that ever happens!)