Profile Picture

Getting started documentation for Python API?

Posted By barca-8 2 Years Ago
You don't have permission to rate!
1
2

Author
Message
Data Juggler
Data Juggler
Posted 2 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (13.9K reputation)Distinguished Member (13.9K reputation)Distinguished Member (13.9K reputation)Distinguished Member (13.9K reputation)Distinguished Member (13.9K reputation)Distinguished Member (13.9K reputation)Distinguished Member (13.9K reputation)Distinguished Member (13.9K reputation)Distinguished Member (13.9K reputation)

Group: Forum Members
Last Active: 9 Months Ago
Posts: 1.8K, Visits: 5.6K
In regards to C#, I doubt it, but it would sure be nice. I have asked for this feature with the Nvidia also for Omniverse, and haven't heard anything in over a year.

Creator of the free website:
PixelDatabase.Net
A Free Online Text Based Image Editor
https://forum.reallusion.com/uploads/images/6e6663e2-0ecf-447a-ab3d-d49d.png

0Calvin
0Calvin
Posted 2 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)

Group: Forum Members
Last Active: 3 Months Ago
Posts: 63, Visits: 449
Ah, OK. For some reason I thought it was a more fundamental framework change than that. Thanks!
mrtobycook
mrtobycook
Posted 2 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)

Group: Forum Members
Last Active: 9 Months Ago
Posts: 425, Visits: 2.7K
I don’t have a handy list, no, sorry :(

But mostly the code examples work for me. The thing that you have to change is that it needs to declare at the top that it’s an iClone 8 plugin - that’s the big new thing.

When I’m at my PC I’ll find the code im talking about and let you know :)

Don’t give up, there’s plenty of stuff that works fine. I believe the thing that “broke” stuff is mostly the stuff that changed in iClone 7 to 8 - in general I mean. If you know those things, I’ve found it fairly easy to figure out.

For example, animation layers (a fundamental change). And it changed entirely the way that keys (for bone animation aka motion layer) exist. In iClone 7 they didn’t exist until you sampled. In iClone 8 they do, on the lowest layer. But of course Expressions (morph targets aka blendshapes, as opposed to bones) still work the same as iClone 7 basically - the keyframes are ‘hidden’ until you sample. Etc etc.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - 
https://forum.reallusion.com/uploads/images/d11fc97b-7387-4f19-bb1e-0785.png
virtualfilmer.com | youtube

0Calvin
0Calvin
Posted 2 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)

Group: Forum Members
Last Active: 3 Months Ago
Posts: 63, Visits: 449
mrtobycook (7/8/2023)
I know it’s frustrating. I’m sure you already know, but I’m the wiki, the best way is to go to iClone 7 Python info not iClone 8. For a few months a few years ago, they did intense work on the iClone 7 Python stuff - there are lots of examples, and they even did a monthly example Script etc.

I know it doesn’t make up for the frustration you feel, but just wanted to make sure you knew that the iClone 8 Python stuff on the wiki is definitely very sparse but the iClone 7 stuff is better and far more useful. :)


Thanks for the encouragement. Do you happen to know *what* actually changed between iClone 7 and iClone 8 to break all the plugins? I've been trying to stay away from the code examples for iClone 7 because I'm not sure what will and will not work in iClone 8.
Thanks!
mrtobycook
mrtobycook
Posted 2 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)

Group: Forum Members
Last Active: 9 Months Ago
Posts: 425, Visits: 2.7K
Also check out my plugin in development! It’s Python with the iClone api. It’s a struggle to code etc as you say, but at least I’ve been able to start getting results :) a beta program is open and you can download it for free:

Https://virtualfilmer.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - 
https://forum.reallusion.com/uploads/images/d11fc97b-7387-4f19-bb1e-0785.png
virtualfilmer.com | youtube

mrtobycook
mrtobycook
Posted 2 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)

Group: Forum Members
Last Active: 9 Months Ago
Posts: 425, Visits: 2.7K
I know it’s frustrating. I’m sure you already know, but I’m the wiki, the best way is to go to iClone 7 Python info not iClone 8. For a few months a few years ago, they did intense work on the iClone 7 Python stuff - there are lots of examples, and they even did a monthly example Script etc.

I know it doesn’t make up for the frustration you feel, but just wanted to make sure you knew that the iClone 8 Python stuff on the wiki is definitely very sparse but the iClone 7 stuff is better and far more useful. :)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - 
https://forum.reallusion.com/uploads/images/d11fc97b-7387-4f19-bb1e-0785.png
virtualfilmer.com | youtube

0Calvin
0Calvin
Posted 2 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)Distinguished Member (1.1K reputation)

Group: Forum Members
Last Active: 3 Months Ago
Posts: 63, Visits: 449
I'm glad I found this thread. I started (trying) to write a plugin for iClone today. Now I see why there are so few of them, and even less for iClone 8. I've never been so frustrated with a programming project than I am right now. I just... I don't even have the words to describe how untidy, incomplete, and contradictory the documentation is. My guess is that some unpaid intern was messing around with it for internal use and the higher-ups thought, hey, we should open that up to the public. Then the intern found a better job about halfway through and left the company with no one else very interested in keeping up with anything. At least that it feels to me.

Seriously, though. Try using this for instance
some_time = RLPy.RTime(0)

This is all over the examples in the documentation. It doesn't work. You get the old "__init__() takes 1 positional argument but 2 were given" error. Did they forget "self" ? Who knows?
Fortunately I don't really need it. I was just trying to make a simple program to push a button and have a cube move as a test. Practically took me all day to hack and slash my way through it. Craziness.

OK, rant over. I feel better now. Have a good, everyone. Well, except for the Python API team. You guys can suffer a little.
mrtobycook
mrtobycook
Posted 2 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)

Group: Forum Members
Last Active: 9 Months Ago
Posts: 425, Visits: 2.7K
I agree, it’s quite frustrating.

I am glad they include it though, I’ve been able to achieve a lot with it.

I think perhaps just not enough people used it / showed interest when it was launched, and that is mostly why it’s like this. Also, it’s a free addition that they added to the software. They could easily just remove it entirely. And I hope they don’t.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - 
https://forum.reallusion.com/uploads/images/d11fc97b-7387-4f19-bb1e-0785.png
virtualfilmer.com | youtube

bad_character
bad_character
Posted 2 Years Ago
View Quick Profile
Veteran Member

Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 75, Visits: 563
I also think if you do know python that just makes the fact that the creators of API seemingly have little experience just more annoying. Method naming and such not following the practices of 99% of the python in existent. The inconsistent API. Many things use get methods that behave like 99% of python. Then you run into a method that takes arguments for the return value and returns a status of whether the get call worked? WTF. And if you look through the example projects, there is a bunch of weird esoteric little stuff you have to do for non trivial stuff that you’d never know if we’re not an iClone developer, that’s not documented. It’s honestly some of the worst documented, ugliest, abnormal API python I’ve encountered.
bad_character
bad_character
Posted 2 Years Ago
View Quick Profile
Veteran Member

Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)Veteran Member (532 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 75, Visits: 563
I think really easy is quite a stretch. All the code for the API is in a single undocumented python file. Completely undocumented. All of the various overview and getting started info is spread all over the place with no obvious path from the entry pages to get to half of them. Most of the example code and example projects, won’t work with iClone 8. Many of the projects are not even going to be updated for iClone 8. If the info is not wrong, it’s missing. If it’s not missing it’s incomplete. Anything that’s off, iClone crashes. The Python Console? Slightly better than useless. Without hooking up a debugger, you don’t even get a proper error message half the time. How to hook up a debugger? Good like finding that info.

I means if this is easy, the Blender python addon API must almost write the code itself in comparison.

1
2



Reading This Topic