-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cinema4D Integration #497
Comments
def main():
print "Hello World!"
main() As such, this can definitely be used to run code at startup.
This Posted a question regarding adding a Custom Menu with Custom Python Commands to Cinema4D's top menu bar on the Maxon forums as the Enhance Main Menu example left out how to register custom Python commands and add them to the menu. |
Useful links for future reference: |
Found an odd bug with Cinema4d where Python scripting gets broken, this is noticable in Extensions > Scripts Manager... (Shift + F11) where the Execute button remains disabled. The command line log shows:
It seems to happen whenever an empty value is in the
Found the issue in This bug is something to be wary of when we would launch it through the Launcher. |
Here are some progress previews: Avalon Qt interfaces opening fine Here's the quick and dirty draft integration: BigRoy@99bd8bb Note:
|
They actually do show in the UI at the bottom of the Window menu item unless you open a document in code with Still it's confusing. 🗡🐉
Fixed with BigRoy@9dd09ae |
Did some quick investigating into how one could create and prepare instances for publishing. In Maya we use Create publish instances in C4DUserData tags on a node For Cinema4D I couldn't find any "selection sets" or "object sets" or "containers" that would allow picking a specific set of nodes for exporting - so that didn't seem like the right way to go. I looked at Layers, but they are exclusive for objects (can't be in two layers at the same time) and are used for rendering too which is an area you wouldn't want any clutter to go. Then I looked into Tags which seemed pretty nice, however it seems they are always applied to a single node and never shared. Nevertheless that definitely seemed like a nice direction because you can colorize them the way you want, give them a custom icon and there seems to be a "Stub" Tag called "UserData" which would be perfect. You can add custom attributes to the tag that allow the customization per tag we need. However the downside is still that it would only allow choosing a specific root note, not specific objects you want to include - but I guess there isn't a simple way to do that in C4D anyway. UserData tags would be a good way forward. Or... Inclusion Data on a Null with Inclusion UserData field Or, a single Here's the User data field in the Manage User Data interface: Also, this Topic seems related to UserData In-Exclusion fields in C4D and Python access too. |
Another way of creating instances for publishing using "selection sets" was described on Avalon Gitter, linking it here for future reference. Thanks! Here it is in the Maxon Cinema4D documentation on Selection Object |
Progress on this Integration will likely slow down on my end because of two reasons:
So if anyone needs this in production feel free to still hit me up, and definitely use the above things as a basis. Regarding Pyblish and pyblish plugins for C4D definitely look in the Pyblish for Cinema4D topic and check in with Andre Anjos as he'll be happy to share details too. |
Integrate Avalon with Cinema4D
This issue is about Maxon's Cinema4D and building a cinema4d integration for Avalon.
Cinema4D has grown popular amonst many new small-to-medium sized studios because of its ease-of-use. With that stable user base now growing into larger productions it could be great if Avalon could allow them the stable growth to run animation productions efficiently.
Unlike Blender it seems Cinema4D does have some code related to threading which means it could be slightly more trivial to get things up and running nicely.
Implementation notes
C4D_PLUGINS_DIR
and there's alsoC4D_SCRIPTS_DIR
python_init
. However I'm not sure yet whether you can have multiple and/or set an environment variable to keep it contained inside Avalon. However it seems that Plugins (described above) are actually initialized on C4D start either way so that's likely the road we'll need to take.The text was updated successfully, but these errors were encountered: