Page MenuHome

Parenting Metaball to Empty Freezes Blender
Closed, ArchivedPublic

Description

System Information
Windows 7 x64 Professional
Intel Core i7-4770 CPU @ 3.5GHz
nVidia GeForce GTX 580

Blender Version
Broken: 82aa32c. Broken on Official 2.72b x64 as well

Parenting the metaball to an empty freezes blender. Not sure what else to say other than there are many metaballs in this scene and it freezes blender when parented. When it freezes it doesn't come back even after waiting an hour or two. I've tested some other metaballs other than the one I've selected in the scene attached and it freezes as well.

However it doesn't freeze when I "Parent (Keep Transform)".

Exact steps for others to reproduce the error


Based on a (as simple as possible) attached .blend file with minimum amount of steps

  • The objects should already be selected.
  • If not select "MBall.001" metaball then shift select the "Inner" empty.
  • Press Ctrl-P to parent
  • Select "Object" ("Object (Keep Transform)" doesn't freeze blender)

Event Timeline

Keen Foong (kfoong) raised the priority of this task from to 90.
Keen Foong (kfoong) updated the task description. (Show Details)
Keen Foong (kfoong) edited a custom field.

Problem reproducable with blender-2.72-b9d9df9-win64

Hey @Keen Foong (kfoong),
I'm not really sure what to do here. From the code, it looks like we don't support metas to be parented to objects correctly.
From ED_object_parent_set:

/* XXX currently this should only happen for meshes, curves, surfaces,
				 * and lattices - this stuff isn't available for metas yet */

I wasn't able to create a different situation that provokes a freeze like this, though.
If I'm right and we don't support meta parenting yet, we have two possibilities:

  • Add meta parenting support
  • Disable the operator for metas completely and handle it as a To Do

Of course, the first method would be the prefered one, but we shouldn't forget that meta objects aren't really maintained and supported, at all. So if this eats up too much time, we should just go with the second method.

@Campbell Barton (campbellbarton), what do you think? Would that be an easy fix/worth investigating?

We could also add this to BF Blender: Unconfirmed, where we could try to find scenarios leading to a similar freeze.

Julian Eisel (Severin) removed Julian Eisel (Severin) as the assignee of this task.
Julian Eisel (Severin) lowered the priority of this task from 90 to 50.

Removing project "Platform: Windows", since I was able to reproduce it on Linux.

Sergey Sharybin (sergey) changed the task status from Unknown Status to Unknown Status.Nov 25 2014, 2:25 PM
Sergey Sharybin (sergey) claimed this task.

The thing here is: after parenting the child metaball becomes really huge and requires loads of grid cells to be evaluated. So blender does not freeze, it just will take ages to recalculate the meta surface. If you parent with keeping transform then the size of the meta stays the same keeping computation time sane. You can see what's happening if you set meta resolution to 1 before parenting.

For sure the things could be optimized in metaballs, but that i'd consider a known TODO. Thanks for the report anyway.