Chaos Corona Forum
Chaos Corona for Cinema 4D => [C4D] Feature Requests => Topic started by: WAlban on 2023-04-14, 19:06:07
-
Hi, maybe someone thought of this already but would it be possible to implement a switch function for chaos scatter?
IMO the switch would make the work in editor much more fluid for example if used with camera clipping or just to render quick previews without these extreme parsing times.
Warmest regards,
Alban
-
You can use the C4D native approach, no? Uncheck the green checkmark so that the object is ignored (do that on the Scatter itself, and it disappears from viewport and render). Unless you are looking for something different, in which case let us know :)
-
Or perhaps you can set the scatter viewport display to ''None'' and it will still render when needed?
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=39851.0;attach=182110;image)
-
Great to see someone else mentioning this problem. I don't know why its not relevant enough. When you have really complex scene - when you have more than 10-20 chaos scatter objects you dont have time to switch off one by one. If you just put it in one folder and hide it - that doesn't make parsing time quicker.
I've also talked about this and no big help here:
https://forum.corona-renderer.com/index.php?topic=38100.msg204516#msg204516
My solution was and still is this one in the attachment. It turns off/on every scatter and proxy object in the scene. (ctrl + double click on chaos scatter and proxy objects). I bet it can be done in code but i'm not a programmer.
-
It seems painting them off in one click seems easier than multiple clicks to turn them off? Even grouping them in a null and turning that off in less clicks is also doable. The result is the same, one is faster and less time saving. This is just my personal opinion btw. ;)
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=39851.0;attach=182778;image)
-
Just wanted to add that we are working on a lister for C4d and it should be possible to do this. ;)
-
It seems painting them off in one click seems easier than multiple clicks to turn them off? Even grouping them in a null and turning that off in less clicks is also doable. The result is the same, one is faster and less time saving. This is just my personal opinion btw. ;)
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=39851.0;attach=182778;image)
I agree. But in a large scene - i don't stack my chaos scatter objects like this. I have "null" inside of null. Null with scatter, proxies and its distribute on objects - lets name that null cabbage. Another null is named trees, another grass bla bla. So to get to every scatter like in your nice example - i can't organize my scene like that. And in a heavy scene there is decent amount of scrolling in play.
In that example - my method wins ;) by far
Just wanted to add that we are working on a lister for C4d and it should be possible to do this. ;)
looking forward to this!
-
Here is the script for searching every proxy and chaos scatter object - then it turn it on/off.
Only problem is - it can't find proxies and scatters inside of nulls. So if anyone knows how to modify this code, please let me know.
import c4d
def main():
doc = c4d.documents.GetActiveDocument()
proxies = []
scatters = []
for obj in doc.GetObjects():
if obj.GetType() == 1035544:
proxies.append(obj)
elif obj.GetType() == 1058682:
scatters.append(obj)
for proxy in proxies:
if proxy[c4d.ID_BASEOBJECT_GENERATOR_FLAG]:
proxy[c4d.ID_BASEOBJECT_GENERATOR_FLAG] = False
else:
proxy[c4d.ID_BASEOBJECT_GENERATOR_FLAG] = True
for scatter in scatters:
if scatter[c4d.ID_BASEOBJECT_GENERATOR_FLAG]:
scatter[c4d.ID_BASEOBJECT_GENERATOR_FLAG] = False
else:
scatter[c4d.ID_BASEOBJECT_GENERATOR_FLAG] = True
c4d.EventAdd()
if __name__=='__main__':
main()
-
Try this! ;) One to turn them off, one to turn them back on. I suggest assigning a shortcut command for them. Have fun.
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=39851.0;attach=182829;image)
-
Thank you!! I'm really thankful for your reaction.
One bug I must notice - when you have scatter/proxy inside of a null - it works perfectly but notice the irony - when its not inside of null - proxy objects as a child of chaos scatter doesn't turn off/on.
Anyway - many thanks!!
-
No probs, here's an update. It will disable all proxies and scatters regardless if in a null or not. Also, if you execute it again, it will turn them back on :) There is a down side though, if some scatters and proxies are enabled and others aren't, it will enabled what was disabled and vise versa. So for it to work properly (for now), all must either be enabled or disabled.
-
Perfect!