Where there's a will... there is a script.



  • @JAFO said in Where there's a will... there is a script.:

    @erogenesis

    Basically:
    Spawn a morph on prop at interval ____
    Rename each morph to frame# it was spawned from.
    Set limits to min 0 and max 1.
    That's about it.

    Yeah that's probably quite easy, I think.

    Oh and if anyone came up with a way to re-time animation for multiple figures in one swipe, they'd be a Super Hero in my book....LOL

    Also doable, although re-sampling keyframes in Poser 10 and below is tricky because nobody seemed to be phased by the fact that you couldn't get the actual dial value from the dial, without first consulting all its controllers and parameters to see if it wasn't getting screwed by something else... and yet the value just sits there staring back at you in the UI (which just blows the mind).

    More tomorrow, off to bed.



  • @erogenesis What is "comic onion skinning" First time I've ever heard the term.





  • @phdubrov Ah, okay, got it now. Thanks.



  • This is an animated GIF of a script I'm developing in Poser (give it a moment to load, its 21Mb). Poser can do its own bullet physics but it cannot apply much of it to figures (besides soft body), and it also takes a while to set up properly. This script will allow me to select any body part and let it swing on its own axis, in a range of keyframes, according to the movement of the parent actor. Its obviously not real time (yet), it just calculates the resulting angle and sets their keyframes. It requires no extra set up, except just a few variable that might need adjusting. It will also be able to ignore gravity and be applied to bouncing or lolloping body parts ;)

    ( ! some animated GIFs might run faster in different browsers)
    alt text

    PS: sorry if I came across a bit snobby in my first post, but I was just so happy to have made all these scripts and I get so frustrated with this negative attitude some folks have. Don't get me wrong it all still needs cleaning up and debugging if I want to release any of it, but its definitely blown new life into my Poser workflow! I hope this stuff inspires you all. Its all actually really simple to do.



  • @erogenesis
    I didn't know that poser used Python; this has given it a big plus in my book.

    The main reason I posted though, is to ask what software do you use for gifs?
    (Gifs can be greatly optimized, far from just raw AVI output; especially with simple shapes, and few colors, like that one. It can be reduced to < 4MB with no appreciable difference. This means that you could do smaller files, or longer clips with the same size files.)

    --3.66mb
    https://www.dropbox.com/s/4n66vy9392esre5/pendulum_swing_tests_2_by_erogenesiscgi-_optimized.gif?dl=1

    --Further reduced via simplified color
    --2.31mb
    https://www.dropbox.com/s/vnd5pykb7f8tg3u/pendulum_swing_tests_2_by_erogenesiscgi-_OPT.gif?dl=1



  • @mechanaut said in Where there's a will... there is a script.:

    @erogenesis
    I didn't know that poser used Python; this has given it a big plus in my book.

    Yeah its great. It opens doors! I knew it has python but wasn't familiar with it until a month ago, and was too busy doing other stuff tbh. I have lots of experience with C# and I thought that Python was like fortran or some basic stuff. Turns out its freaking easy!

    The main reason I posted though, is to ask what software do you use for gifs?

    Adobe Premiere lol. Yeah I should have actually done it through Photoshop, but honestly I didn't even think about optimizing it. What app did you use to reduce it?



  • @erogenesis
    I tend to use Jasc AnimationShop; but there are plenty of others. The reason I like it is that it has what Adobe lacks... a cull frames option; and it can evaluate avi files to detect duplicate frames—converting them to delays.

    Of course I do use Photoshop if I need compositing and effects. But I usually optimize it further in AnimationShop.



  • Like spreadsheets, scripts are great for own use but badly suited for distribution. They usually come without documentation so user hardly knows what to expect, they are usually made to serve a specific situation/purpose and performance in other situations is unclear. Last but not least the scripts do not always fill the undo stack, so if an un-documented script does not do what was intended, one cannot 'undo' the scene to the situation before using the script.
    The success of for example EZSkin is also due to it being documented.
    What one would want for is the scripts environment providing acces to tracable specifications, say in xml format giving short help and build a sort of metadata registry.
    Including the help (.txt, .htm, .pdf ?) in the .zip is not enough because once the script is installed that connection is lost.



  • @F_Verbaas said in Where there's a will... there is a script.:

    They usually come without documentation so user hardly knows what to expect, they are usually made to serve a specific situation/purpose and performance in other situations is unclear. Last but not least the scripts do not always fill the undo stack, so if an un-documented script does not do what was intended, one cannot 'undo' the scene to the situation before using the script.

    No kidding, and they are very annoying and ultimately completely useless. If I do release these scripts I'll make them as user-friendly as possible.

    But I think the message I was trying to get at here is that all this can be done inside of Poser, it just needs to be decided that it has to happen. Of course there's always the issue of time and resources, and having to prioritize, there's nothing one can do about that, but SM will listen to a unified voice if there is one. Its this attitude of that its too complex to make, too difficult to integrate, or just focusing on the problems and hurdles... or simply cannot be done, really doesn't help at all to convince SM to go a certain direction (usually by certain Poser fans and 'experts'). That kind of mentality irks me to no end and is almost insulting to someone that has experience in programming. Then again, some of the best features in Poser were first addons and made by other folks, so maybe that's just how it has to go?

    In any case, Poser has become SO MUCH FUN now and I hope I can share some of it in a meaningful way so that others can have fun too. Of course I do need to keep some of it to myself, I must be careful not to give away too many trade secrets.



  • @erogenesis
    Sorry I should have been more clear. I just made a general conclusion from the scripts I see offered now. Even those that come with Poser's default install come without any description or catalogue. Using them is a matter of trial and error.

    You have been very clear about need for robustness and consistency in Poser so I had not expected anything else from the scripts you mention than good documentation and compatibiliy. Should have mentioned that. Sorry again.

    The point I wanted to make is that to use the power of the scripting to the fullest it would be very good if Poser provided better facilities to support scripted extensions, maybe a guideline for them giving a 'format' for the user interface, requirements for the error handling (what happens if a step in the script fails?) Does it clear up temporary files it made? Infromation how to clear any persistent datafiles, and so on. Maybe a sort of 'quality mark'.

    Consequently, my post was intended as a support for the development you proposed.
    (en Nederlanders doen dat nou eenmaal door wat te zeiken, dat weet je toch?)



  • @F_Verbaas no worries I understood it I think. I also think that Poser could use a bit more of a smarter Python script organizer. And yeah, the road to improvement starts by identifying the problem, and usually that comes in the form of complaining bitterly about it :D like I prefer doing! lol



  • Most of the technical stuff you talk about goes right over my head, but it sure is good to know that time is being invested in a program that has potential with the right funding, and Python programmers. Keep on experimenting, and let us know what you find out so that we can dream big.



  • Awesome scripts!

    And, of course, you should create nice examples and animations of the flashier ones to include in your marketing pack and front-end advertising! Mind blowers = $$$ (AND, customer satisfaction, too.)

    "Hi forumgoers! Lookit what I just bought! <swiggity swoogity booty script animation sequence> I AM SO COOL! You can be with the cool kids, too, if you bought erogenesis's products like I did! I am so very, very, cool, now.... "

    :)



  • You had me at "Place in front of Camera". That is something I have been wanting ever since I first started playing with Poser back at Ver 4. That and a Duplicate selected would make my decade!

    -DP



  • @F_Verbaas said in Where there's a will... there is a script.:

    @erogenesis
    Sorry I should have been more clear. I just made a general conclusion from the scripts I see offered now. Even those that come with Poser's default install come without any description or catalogue. Using them is a matter of trial and error.

    You have been very clear about need for robustness and consistency in Poser so I had not expected anything else from the scripts you mention than good documentation and compatibiliy. Should have mentioned that. Sorry again.

    The point I wanted to make is that to use the power of the scripting to the fullest it would be very good if Poser provided better facilities to support scripted extensions, maybe a guideline for them giving a 'format' for the user interface, requirements for the error handling (what happens if a step in the script fails?) Does it clear up temporary files it made? Infromation how to clear any persistent datafiles, and so on. Maybe a sort of 'quality mark'.

    Consequently, my post was intended as a support for the development you proposed.
    (en Nederlanders doen dat nou eenmaal door wat te zeiken, dat weet je toch?)

    Poser does have the add-on framework. Just need more of Poser Python exposed to it.



  • It was possible to launch python scripts from inside pose or prop files. It is a major security leak, but could be a route to explore? It would bring script functionality under the same exposure as other content.



  • @krios said in Where there's a will... there is a script.:

    Most of the technical stuff you talk about goes right over my head, but it sure is good to know that time is being invested in a program that has potential with the right funding, and Python programmers. Keep on experimenting, and let us know what you find out so that we can dream big.

    absolutely!

    @morkonan said in Where there's a will... there is a script.:

    "Hi forumgoers! Lookit what I just bought! <swiggity swoogity booty script animation sequence> I AM SO COOL! You can be with the cool kids, too, if you bought erogenesis's products like I did! I am so very, very, cool, now.... "

    hahaha! If I can get that walking script done, then perhaps that might be a possibility lol!

    @digitalpanther said in Where there's a will... there is a script.:

    You had me at "Place in front of Camera". That is something I have been wanting ever since I first started playing with Poser back at Ver 4. That and a Duplicate selected would make my decade!

    I'll include that with PE! But duplicate selected? Doesn't Poser already have that? or did you mean something else?

    @F_Verbaas said in Where there's a will... there is a script.:

    It was possible to launch python scripts from inside pose or prop files. It is a major security leak, but could be a route to explore? It would bring script functionality under the same exposure as other content.

    Isn't that what the whole callback was about? I haven't yet looked into that.



  • @erogenesis said in Where there's a will... there is a script.:

    Isn't that what the whole callback was about? I haven't yet looked into that.

    No the callback is processing script code based on events in Poser, like moving a camera or changing a pose. What I referred to is a command 'run Python script xyz' in a library file.



  • @F_Verbaas said in Where there's a will... there is a script.:

    @erogenesis said in Where there's a will... there is a script.:

    Isn't that what the whole callback was about? I haven't yet looked into that.

    No the callback is processing script code based on events in Poser, like moving a camera or changing a pose. What I referred to is a command 'run Python script xyz' in a library file.

    ah yes, that is possible. Lali's Bits did that, and recently I built character CR2 that rely on scripts. But for some reason complex scripts don't run properly when activated through CR2. Its best to run them from the menu or Python palette.