Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Hi Everyone,
I've managed to build a complex Xpresso rig which I'd like to turn into a plugin,
I have no scripting knowledge besides copying and pasting or finding where the files should go so bare with me.
I would like to:
Hide my user data or transfer it to a script? it's currently on a null object and connected to an Xpresso tag
Add an Icon
convert my object plugin into a script or one file that people can download.
Sorry if I'm not specific but I'm having trouble figuring out what files should be in my folder structure and whats important or not.
Thanks!
Hi shir, thanks for reaching us.
With regard to your question, given that it's not in our mission to deliver finalized script or plugin to our community members, we are indeed committed to help our members to grow-up and become independent in coding in Cinema.
That said, there are a few points to clarify:
That said, I warmly suggest to start with our Python Documentaion and more specifically with:
Looking forward your additional notes, give best. Riccardo
Hi Ricardo,
Thanks for your speedy reply!
at a most basic level I would like to have the Xpresso rig exist as a file which can be loaded and then have my user data controls available for people to use, but I'm interested to know how I could completely replace the tag and user data with a script as well
I essentially just want to hide my Xpresso and user data so that people have the functionality of my rig without being able to edit the input fields.
The final intention of my rig is a downloadable object creator which contains custom controls.
Thanks, Shir
Hi shir, thanks for providing such additional information.
Considering the statement quoted you could consider to use Constant nodes in your Xpresso rig to get rid of the UserData and drive your xpresso from the inside. Then you could group your Xpresso schema in an Xgroup and lock it so that the inner logic is hidden to the final user. Finally you can consider to password protect your Xgroup in order to avoid other users to look into it.
Beside this "basic" approach, a second one would be to recreate your Xpresso rig from directly in a Python script responsible for creating the Xpresso tag, its nodes, port and connections and finally add it to your object.
Last but not least, with your development skill getting better and better you can consider to developer a Python (or C++) plugin implementing an ObjectData plugin class.
Best, Riccardo
Thanks Ricardo,
So I came across the solution of locking my Xpresso set up, protecting it and hiding it with layers but the last part of hiding user data may have been explained the wrong way,
Here is a screenshot of what I would like to hide from the "users" side: On the right hand side is the User Data menu accesable from the Attributes manager with my whole interface built in there, what I would like to do is hide all of that data from the "user"
I understand that this might need to be re-built in python using the correct string layout.
also from my research I would need to write some python to be able to add an Icon to my Null object in place of the C4D Icons: I would like to know if its possible to change the icons which appear on the left so that my object rig will appear with its own custom icon in the object manager.
Are there any step by step tutorials on here which can give me a basic tutorial on writing a plugin that has similar properties? for example a "hello world" script which include a few lines of user data in the attributes manager with buttons and sliders as well as basic folder structure and must haves for a c4d plugin?
Hi Shir, thanks for following up and providing your additional info.
Showing parameter in the Attribute Manager or a custom icon in the Object Manager is not such a big issue: you can start looking at Py-RoundedTube which is an ObjectData derived plugin where all such a stuff (and more) is shown. That said, the real question is instead to understand what your rig is actually doing and see if it's reasonable to implement the Xpresso functionality from a set of "primitive" functions you implement in your plugin or if would be instead easier to programmatically recreate the Xpresso rig in an XpressoTag then attached to the object generated by your plugin.
Actually this assessment can't be done from here where the final functionality and the complexity of your Xpresso network is unknown.
So far I do see three approches:
I'm sorry not be more helpful but, as said in the first post, we can't deliver turn-key plugins or scripts but rather help our customer to learn from our resources.