MassFX v3: Dynamic Physics Painter

MassFx is an add-on that allows for piling & scattering of assets in seconds.

Whether you work in game cinematics, commercials…etc. You need to add details to your scenes with some assets and placing them by hand takes time to get a natural look.
bOLMAXYuj3

More info:

Blendermarket: https://blendermarket.com/products/massfx--dynamic-pile-generator

Gumroad: https://gumroad.com/products/hHuFj

4 Likes

Nice tool!

1 Like

Thanks! Hope you’re enjoying this addon.

Hello @Albertofx,

How can I contact you regarding plugin information?

I know you guys are waiting for a 2.8 version, but don’t worry! I’m working on new features & improvements.

Here’s a preview to the Physics Painter

v8THG74tNR

4 Likes

Very good!

Thanks!

Of course, things will be faster when spawning objects. You will be able to spawn collections as well.

Working on performance mostly, since physics by default are pretty slow. But should implement my own physics solver later on.

I’ve had it for over a year. Is very fun to use it. But for months I’ve switched to blender 2.8 and haven’t used it anymore. Knowing about the update is super news. Thank you!

spawning from collections.
HTvVokMNQg

3 Likes

Preview Brush
K5eGYsdTQI

Preview of upcoming MassFX features:

1 Like

MassFX version 3 is now available!

Make sure to update the add-on for Blender 2.8

Updates:

  • Drop or Paint assets using Blenders physics engine.
  • Particle based brush.
  • Simplified, User-friendly UI
  • Options at hand, both particle & physics settings.
1 Like

Any chance you’d make this an Active Tool? Seems to make the most sense for this type of functionality, and Boxcutter for instance makes fantastic use of it!

I’ve been thinking about it! Making it an active tool & including a cursor widget would make a lot of sense. I’ll see what I can do.

1 Like

Massfx v3 bug report.
Report a bug that occurred in the following conditions:

  1. If you move the screen after placing the object with the custom brush turned on and the start button pressed, the view of the screen will be outside the END range of the view.

As a result, you lose sight of the object.

The current solution is to use a custom brush and place it without moving the screen as much as possible.
Even if something goes wrong, if the object is in the center, press the Home button to return to the original screen.

  1. An error occurs if you apply an empty brush after placing an object. (?)

As a result, mfxbrush Object remains, and Massfx continues to run unless it is deleted.
At this time, if you try to force the collection selection and try to execute it, it will become unresponsive “unless you restart the blender”.

There are some similar errors in this case, but we don’t yet know the details that can be determined by the chain of bugs.

In any case, the following error occurs.

Traceback (most recent call last):
File “C:~\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\MassFX_v3.py”, line 556, in modal
context.view_layer.objects.active = brush.children[0]
IndexError: tuple index out of range

location: :-1

The current workaround for these bugs is to reset the frame with the R key if the frame is in a location other than 1 frame,
Even if you select a collection that you want to sprinkle, if “Object does not follow the mouse cursor” or “Object is not displayed”, you can avoid the error by canceling with ESC without executing it unnecessarily.

These are the current bugs I’m experiencing.
I hope you find it useful. :sweat_smile:

I’ve been experiencing a lot of crashes. This one occurred on the first stroke made after holding down Ctrl+scrolling to lower the height of the objects. While doing this operation the slightest movement of the mouse also causes the simulation to scrub forward. Which seems to lead to this crash.

Traceback (most recent call last):
File “C:\Users\johnm\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MassFX_v3.py”, line 1017, in instance_update
partsys = bpy.data.objects[‘mfxbrush’].particle_systems[0].settings
KeyError: ‘bpy_prop_collection[key]: key “mfxbrush” not found’
File “C:\Users\johnm\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MassFX_v3.py”, line 1013, in instance_update
Traceback (most recent call last):
File “C:\Users\johnm\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MassFX_v3.py”, line 556, in modal
context.view_layer.objects.active = brush.children[0]
IndexError: tuple index out of range

location: :-1

This leaves me with the plugin still displaying all its options in the N panel but not running. I’ve just noticed that if I then call the plugin using F3 and then ESC I can get back to its pre-run state.

I have noticed that when I pick an object (or collection) to use it “spawns” something like 11 meters above where I plan to drop it. I’m using metric system and mm. I wonder if it might be best to change the height control to be Shift+ScrollWheel instead of using the Control key?

It might be an idea also to add a wee button that sets the selected object to a passive rigid body for quickly setting sdomething for the objects to fall on to. It would save the user a couple of clicks.

Okay, after reviewing your bug reports, I will make sure the brush detects if it has child objects, otherwise it will reset to frame one. That will avoid that tuple index error. I will look into the other bugs as well. As for the suggestion for brush height, I will leave that up to the user by making it optional.(SHIFT or CTRL) & will make sure the active object has a passive as well.
I will be sending updates today.

I appreciate the bug reports. I was under the impression that it was ready, but not yet! :grimacing:

1 Like

Hey could you screenrecord the issues you are running into, so i can better see how to reproduce the errors. Thanks!

1 Like

Speaking of which, I forgot to report that I was inconvenienced using Massfx v3.

Currently, Massfx is a mechanism in which an object follows the cursor and the object is dropped by pressing and holding the left click.
However, following the cursor may cause the object to enter the ground object, or it may be difficult to quickly place it in a specific narrow area.

So, as the request, I would like you to create a “mode in which objects follow a 3D cursor” in addition to the … cursor.

The second is a function that can be adjusted by the height with the Ctrl key, but if the current height of the object is also displayed in the above menu, it will be easy to understand.

I hope you find it useful for your production. :grinning:

Today, there was a modified version of MassFX_v3, so I will talk about my impressions of using it immediately.

Previous bugs have disappeared, but are suffering from “new bugs”.
Also, there is no tutorial video at present, so I do not know how to place multiple objects with collection specification.

When there is no collection name currently in the specification of custom_index and custom brush is running, such an error has occurred.

Traceback (most recent call last):
File “C:~\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MassFX_v3.py”, line 356, in modal
update_item(self,context)
File “C:~AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MassFX_v3.py”, line 316, in update_item
partsys.instance_collection = bpy.data.collections[active_group]
KeyError: ‘bpy_prop_collection[key]: key “test” not found’

location: :-1

I don’t know how this bug works, but I can’t use the custom brush feature at all.

In addition, Blender fell when undoing when an error occurred and the add-on was still running.

In addition to this bug, the upper operation menu disappears when adjusting the height with SHIFT + mouse wheel.
Although the add-on works even in that state, it will be inconvenient because there will be no explanation.

Also, as I said last time, it is difficult to grasp the height of the object.
When it was first operated with a single object, the object appeared far in the sky.
I was tracking the results, but I couldn’t immediately determine where the object was.

I think it would be difficult to modify add-ons and add new elements, but we are looking forward to the next modification. :neutral_face: