*Update:
Hello, Proxify is now deprecated, now that there’s a better solution, say welcome to Lodify, a free LOD system that also can also act as a Proxy system. Check out Lodify in the devtalk thread Hopefully the blenderfoundation will officially implement a LOD/Proxy system one day, better than a simple python script.
Proxify Post
In my quest of having better performances when using Scatter (my particle distribution addon for environment and archviz artists) i tried to experiment with a “proxy” system in blender (with python).
By proxy i mean an approximative low resolution geometry used in viewport only, a necessity for archviz and environment artists,as our only options right now with demanding scenes are bounding boxes and not displaying the assets/particles at all (which is far from ideal).
"Proxify" is my 2nd attempt with proxies, and it uses an universal concept of meshdata-exchange (basically changing the mesh data automatically if toggle/render/rendered view).
Right now Proxify can:
- Individually assign proxies in
Properties>Object>viewport display>Proxify
with a pointer.- Toggle proxies at will.
- Toggle proxies automatically on rendered view (if allowed)
- Toggle proxies automatically on final render (if allowed)
- Support particles systems
- Support instancing/duplications
- Support animation (if vgroups assigned for proxy mesh)
- Batch toggle proxies (on/off/toggle to scene/selection). (all batch action are available in
Properties>Scene>Proxify
)- Batch assign proxies with a naming system.
- Batch remove proxies.
- Batch hide/unhide/store proxies to collection.
- Protect the data, as the pointer object can be deleted and everything will still work fine.
- Individual data/options if you’d like to freeze the proxy toggle on rendered view, final render ect…
- Support for external api, operators are thinked with override args in mind, so that other addon can access Proxify operators easely
for more cool rigs check out blender pirate on the market, thanks for letting me play with your rigs !
you will find a new tab in viewport Properties>Object>viewport display>Proxify
, where you can choose your proxy object
and another tab in Properties>Scene>Proxify
for (batch)toggling everything and other ops.
Download Latest Version below
All versions
v1 : Proxify V1.py (original)
v2 :Proxify V2.py (added ALT and CTRL click support see gif)
v3: Proxify V3.py (added more ALT&CTRL support, and UI overhault see here)
v4: Proxify_V4.py (added compatibility for 2.81 or above, alldesp_post
handlers broke)
v5: Proxify_V5.py (73.8 KB) (added automatic proxy generation)
The code is free and open source, and it will be shipped and well-integrated within Scatter next update. I hope that other addons will also ship with proxify they can let me know if there is some specific api needed, or explanations with some unclear operators or args.
i really think that proxies are too important to not be shared with everyone, hopefully it can also convince the institute to give us more viewport display options this stuff is way too important. Bounding boxes is old stuff from the 90’s. it’s time for something better, Proxies is a minimum, display as point cloud should also be considerated
Tutorial
https://www.youtube.com/watch?v=72JWIyRnSZ8&feature=youtu.be