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



  • 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.



  • @erogenesis Could you describe "complex"?
    I'm experimenting now with this option but with very straightforward scripts without importing more than poser module.

    About security risk: Blender has this option too (switchable).



  • Users are not aware of the possibility content can do anything beyond the radar of standard security software. The security risk therefore is in the likelyhood that people just load content from wherever without looking twice. A warning:
    xyz.pp2 tries to start a python script.
    What do you want to do?
    Allow Once/Allow Permanently/ Block/Delete script?
    would be a help already.



  • I really wish this forum had sub-forums. Like for nodes and for scripting.

    Anyway there used to be some really nice people on runtimedna when I first started that helped me with some scripting. I am not sure if they have come here or not. anyway one script I have which I believe is close to what someone was asking is to move a character and any objects attached to the character to infront of the selected camera:

    https://drive.google.com/open?id=0BxnCBXSb9V4jdy0tZ2ZCak5kQjA

    One note you might need to pan the camera up to see the character as it loads the feet at the very top of the camera view.



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

    @erogenesis Could you describe "complex"?

    I don't remember exactly but when we ran this one script from CR2 and the same from the palette, it behaved differently. It had something to do with loading smart props and then reparenting them to something else.

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

    One note you might need to pan the camera up to see the character as it loads the feet at the very top of the camera view.

    Mine has several options. Put figure in front of camera in its original rotation and vertical displacement, the same facing the camera, or centralized in the view of the camera. Another extremely useful script I have is 'place next to', and it works nicely in complex scenes. I can place any figure next to, or behind or in front of another at different distances.



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

    I really wish this forum had sub-forums. Like for nodes and for scripting.

    Anyway there used to be some really nice people on runtimedna when I first started that helped me with some scripting. I am not sure if they have come here or not. anyway one script I have which I believe is close to what someone was asking is to move a character and any objects attached to the character to infront of the selected camera:

    Technically, I think the Poser forum is a subforum of the Graphics Forum. In any case, why not ask ShrDavid or one of the Admins, to start a script forum? All they can say is yes or no.



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

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

    Like if I have a figure say V4 in a scene and am building a group scene want a whole mess of V4s in it. Rather than spawn new ones from the library I want to be able to have her selected and Maybe her accessories(clothing and such) and copy paste her. so there will be more than one and I can then move the dupe where I need it.

    If its something simple I am going to laugh.
    -DP



  • @digitalpanther Select the EDIT menu, scroll down and select Duplicate. That's it. Just make sure you have V4 or whatever figure selected. and anything she is wearing must be conformed to her. You can duplicate until your computer won't respond anymore.



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

    @digitalpanther Select the EDIT menu, scroll down and select Duplicate. That's it. Just make sure you have V4 or whatever figure selected. and anything she is wearing must be conformed to her. You can duplicate until your computer won't respond anymore.

    OK now I feel sheepishly stupid. DOH!
    -DP