new version Ghost Lights by one click script

functionfunction Posts: 278
edited May 2023 in Freebies

Since DAZ4.21 updated its ghost light function by adding the "Iray Visible to Primary Rays" property, it is somekind disturbing to make ghost light without seeing the instruction, don't know if anyone had made a script for this but I didn't find any, so I made one for lazy man like me.

Attached script works for DAZ version 4.21.0.5 or later, not made for 4.16 or earlier (they don't need, but maybe works). To use it, you should put this script together with the 2 dse files provided by Rob in a same directory, then in DAZ, select one or more props, click this script, done.   It also adds suffix "_GhostLight" for the props.

It applied high value luminance together with 0.00001 cutout opacity, to avoid mirror problem in the current DAZ version, all value can be modified in the surface tab.  

-----

Edit: now to comply with CC3, changed to a new attachment.

dse
dse
ToBe GhostLight.dse
3K
Post edited by function on

Comments

  • Richard HaseltineRichard Haseltine Posts: 97,233

    Please update the script to make sure it complies with the terms of the license for the sample used http://creativecommons.org/licenses/by/3.0/

  • functionfunction Posts: 278

    Richard Haseltine said:

    Please update the script to make sure it complies with the terms of the license for the sample used http://creativecommons.org/licenses/by/3.0/

    Ok, now I'm sure it complies. 

  • Richard HaseltineRichard Haseltine Posts: 97,233

    Encrypting the ascript does not remove the (very minor) obligations imposed by the license. You can rewrite the script without using the sampel code or you can adhere to the license terms - those are your options if you wish to distribute the script.

  • DaremoK3DaremoK3 Posts: 798
    edited May 2023

    @function :

    First, thank you, for the script.

    Second, why did you change to an encrypted version with no way to change the added suffix as you had before?

    So glad I downloaded yesterday...

    I was coming here today to thank you for the code study  --  I was following you on the scripting forum, and was curious about inclusion files as you were when you were writing this script.

    I can do this all day with Blender Python, but DazScript has me spinning with the different rules, and syntax  --  To find you can just use the same 'include' declaration was an eye opener, but I am still confused how you can access data/functions in a closed encrypted script.

    My question to you :  How do you know what you are calling from the include scripts if you don't know the names of the functions or variables you need to call?

    * EDIT:  I thought your Daz attribution was good, so I don't know what Richard is talking about  --  I saw full CC3.0 attribution.  I see him spouting this [stuff] over and over (and yes, Richard, it is warranted at those who do not attempt attribution, but you seem to split hairs at every turn to those trying to comply  --  Makes me want to stop trying to code for DS, and never release anyting I create to the public  --  Maybe, you should get Rob to create a 100% compliable header to download and insert for every script we create [or better yet, auto-create when script is saved -- like the first line declaring which version of studio was used when creating the script], and put it with the Samples directory  --  Maybe, like one we use for our Blender scripts for compliance, so we can stop guessing if we meet the requirements).

    Post edited by Richard Haseltine on
  • Richard HaseltineRichard Haseltine Posts: 97,233

    The attribution has to point to the sample(s) used, which will be included in the header when the script is downloaded (it used to be possible to copy/paste the code, which didn't have the header, but that was stopped because too many people were not including the attribution). The problem here was the script was actually linking to a forum post, not the sample script used.

    I'm not sure what you mean in resepct to Auto Creating - Daz studio wouldn't know which, if any, sample(s) had been used.

  • DaremoK3DaremoK3 Posts: 798

    Yes, Richard, I see what you mean  --  I saw the link to the thread, but did not see clearly a specific sample was used needing direct attribution.

    He had the CC3.0 Daz3d attribution -- That's the blanket attribution I was referring to for auto-create, but yes, one does need to attribute individual samples used as well.

    Thank you for the clarification, Richard.

  • functionfunction Posts: 278

    DaremoK3 said:

    @function :

    First, thank you, for the script.

    Second, why did you change to an encrypted version with no way to change the added suffix as you had before?

    So glad I downloaded yesterday...

    I was coming here today to thank you for the code study  --  I was following you on the scripting forum, and was curious about inclusion files as you were when you were writing this script.

    I can do this all day with Blender Python, but DazScript has me spinning with the different rules, and syntax  --  To find you can just use the same 'include' declaration was an eye opener, but I am still confused how you can access data/functions in a closed encrypted script.

    My question to you :  How do you know what you are calling from the include scripts if you don't know the names of the functions or variables you need to call?

    * EDIT:  I thought your Daz attribution was good, so I don't know what Richard is talking about  --  I saw full CC3.0 attribution.  I see him spouting this [stuff] over and over (and yes, Richard, it is warranted at those who do not attempt attribution, but you seem to split hairs at every turn to those trying to comply  --  Makes me want to stop trying to code for DS, and never release anyting I create to the public  --  Maybe, you should get Rob to create a 100% compliable header to download and insert for every script we create [or better yet, auto-create when script is saved -- like the first line declaring which version of studio was used when creating the script], and put it with the Samples directory  --  Maybe, like one we use for our Blender scripts for compliance, so we can stop guessing if we meet the requirements).

    Hi DaremoK3, you are welcome.

    No, people can not change the suffix function now per the encrypted script, sorry.

    For your question, to load another script, I don't need to know its function or variables, just select a prop and load that script fully, what I need is the result of loading that script, then continue mine. If you want to cite another script's function, there is another skill which I thought I seen before but never used it.

    By the way, you can see there are rare people post scripts in the script forum now, why? Because here requests CC3 now. I'm not familiar with the DAZ JS so that I have to read and try dozens other scripts before I can made mine, when I got the script works, I even don't remember where those sentences come from. Also I don't want my script looks like a scripts dictionary or a DAZ scripts list, encrypt is not a bad idea, isn't it?

  • Richard HaseltineRichard Haseltine Posts: 97,233

    function said:

    DaremoK3 said:

    @function :

    First, thank you, for the script.

    Second, why did you change to an encrypted version with no way to change the added suffix as you had before?

    So glad I downloaded yesterday...

    I was coming here today to thank you for the code study  --  I was following you on the scripting forum, and was curious about inclusion files as you were when you were writing this script.

    I can do this all day with Blender Python, but DazScript has me spinning with the different rules, and syntax  --  To find you can just use the same 'include' declaration was an eye opener, but I am still confused how you can access data/functions in a closed encrypted script.

    My question to you :  How do you know what you are calling from the include scripts if you don't know the names of the functions or variables you need to call?

    * EDIT:  I thought your Daz attribution was good, so I don't know what Richard is talking about  --  I saw full CC3.0 attribution.  I see him spouting this [stuff] over and over (and yes, Richard, it is warranted at those who do not attempt attribution, but you seem to split hairs at every turn to those trying to comply  --  Makes me want to stop trying to code for DS, and never release anyting I create to the public  --  Maybe, you should get Rob to create a 100% compliable header to download and insert for every script we create [or better yet, auto-create when script is saved -- like the first line declaring which version of studio was used when creating the script], and put it with the Samples directory  --  Maybe, like one we use for our Blender scripts for compliance, so we can stop guessing if we meet the requirements).

    Hi DaremoK3, you are welcome.

    No, people can not change the suffix function now per the encrypted script, sorry.

    For your question, to load another script, I don't need to know its function or variables, just select a prop and load that script fully, what I need is the result of loading that script, then continue mine. If you want to cite another script's function, there is another skill which I thought I seen before but never used it.

    By the way, you can see there are rare people post scripts in the script forum now, why? Because here requests CC3 now. I'm not familiar with the DAZ JS so that I have to read and try dozens other scripts before I can made mine, when I got the script works, I even don't remember where those sentences come from. Also I don't want my script looks like a scripts dictionary or a DAZ scripts list, encrypt is not a bad idea, isn't it?

    requesting proper CC3 adherence is not new, the terms of the license for the samples have not changed - and can hardly be considered onerous. Encrytping the script is not a solution, it is a (doomed) attempt at evasion. Please correct your script to adhere to the license under which you are allowed to take advantage of others' expertise to make your own task simpler.

  • functionfunction Posts: 278
    edited May 2023

    Richard Haseltine said:

    requesting proper CC3 adherence is not new, the terms of the license for the samples have not changed - and can hardly be considered onerous. Encrytping the script is not a solution, it is a (doomed) attempt at evasion. Please correct your script to adhere to the license under which you are allowed to take advantage of others' expertise to make your own task simpler.

    As I said, the attachment was re-edited and now it complies, and encrypted.   Be aware, I say 'don't want' not means I can not do. Encrypt is not evasion, it is a fully protection to any 'expertise' you mean.

    Look, it is not a good habit to complain something that only in your imagination. Alternatively, please point out what's wrong in the current attachment, and what need to be corrected now. 

    Post edited by function on
  • Richard HaseltineRichard Haseltine Posts: 97,233

    I am told that, among others, lines lines 49-78 and 146-219 are using code from the samples. If that is still true then, with the script encrypted so that no one can see the ehader, you need to put the CC 3 information into the forum post (or readme, if it was packed up).

  • DaremoK3DaremoK3 Posts: 798

    @function :

    Thank you, for the explaination.  I was wrong in my assessment  --  I believed you were retrieving specific data from Rob's scripts, but now I understand you fire those first and then your script kicks in.

    And, I was incorrect regarding 'include'  --  I do so much code study, and haven't had time to go back to code for Blender for so long (coding for DS), I was conflating BenderPy 'import' with all the C++ code study with 'include'.

    Also, not to dissuade you, but I believe Daz has decryption capabilities we users do not have access to  --  They created the way to encrypt, so logic is they have the reverse, so they can vet the scripts solicited to the store, new wanna-be PA's, or rogue freebie creators, to make sure they are in compliance.

    Regardless, thank you, function, for all your hard work  --  I hope to see you continue creating scripts for DS.

    Take care...

    Ken

  • Richard HaseltineRichard Haseltine Posts: 97,233

    DaremoK3 said:

    @function :

    Thank you, for the explaination.  I was wrong in my assessment  --  I believed you were retrieving specific data from Rob's scripts, but now I understand you fire those first and then your script kicks in.

    And, I was incorrect regarding 'include'  --  I do so much code study, and haven't had time to go back to code for Blender for so long (coding for DS), I was conflating BenderPy 'import' with all the C++ code study with 'include'.

    Also, not to dissuade you, but I believe Daz has decryption capabilities we users do not have access to  --  They created the way to encrypt, so logic is they have the reverse, so they can vet the scripts solicited to the store, new wanna-be PA's, or rogue freebie creators, to make sure they are in compliance.

    Daz Studio must be able to decrypt, if it couldn't it wouldn't be able to run the script at all.

    Regardless, thank you, function, for all your hard work  --  I hope to see you continue creating scripts for DS.

    Take care...

    Ken

Sign In or Register to comment.