Chaos Corona for Cinema 4D > [C4D] Feature Requests

Chaos Scatter - Switch ON/OFF

<< < (2/3) > >>

Beanzvision:
Just wanted to add that we are working on a lister for C4d and it should be possible to do this. ;)

mario3lhd:

--- Quote from: Beanzvision on 2023-05-04, 11:10:06 ---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. ;)



--- End quote ---

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



--- Quote from: Beanzvision on 2023-05-04, 11:27:59 ---Just wanted to add that we are working on a lister for C4d and it should be possible to do this. ;)



--- End quote ---

looking forward to this!

mario3lhd:
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()

Beanzvision:
Try this! ;) One to turn them off, one to turn them back on. I suggest assigning a shortcut command for them. Have fun.

mario3lhd:
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!!

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version