secondlife / jira-archive

2 stars 0 forks source link

[BUG-229043] Expand llSetLinkPrimitiveParams Function "PRIM_TYPE" to have "PRIM_TYPE_MESH" #6993

Closed sl-service-account closed 7 months ago

sl-service-account commented 4 years ago

How would you like the feature to work?

Similar to having "PRIM_TYPE" as "PRIM_TYPE_SCULPT", LSL would allow for "PRIM_TYPE_MESH" when referencing the Mesh's UUID.

This would be added to the following functions: llSetPrimitiveParams(), llSetLinkPrimitiveParams(), llSetLinkPrimitiveParamsFast()

This would be an access-only feature (similar to Mesh Uploading), where a user has to get permission from Linden Lab to use the function. I'd be more than fine having it be a ~$100 USD fee, plus an additional waiting period after to help deter copybotters.

The script would also verify that the Object it's inside of, the Mesh UUID referenced, and the script itself is all the same Creator.

Why is this feature important to you? How would it benefit the community?

There are probably a lot more uses for this - custom cars that can swap out parts, bodywork - better scripted environments (trees/shrubs/grass/rocks) that swap out the proper seasonal textures. That's not for me though, I'm biased, I make breedables.

Breedables are very popular in SL. One of the key features of breedables are having "Physical Traits" to breed for, like Shorter Ears or a Fluffier Tail when compared to the normal variants. Right now we cannot create a full-mesh breedable, let alone a full animesh breedable, without sacrificing having physical traits. (Other than re-skinning the prims, or getting creative with materials/glow...)

Breedable companies are currently forced to either ditch physical traits, attach all possible traits to the mesh and just show/hide the ones that are relevant (which exposes the future content with CTRL+ALT+T), or create exponential amounts of combinations by stuffing all possibilities inside of "Boxed Up Rezzer Prims" that spit out the desired breedable during the birthing process. (Let's say we have 6 total hair traits, 6 ears, 6 tails... the math is 6 x 6 x 6 = 216 combos... and let us say we add 3 new wings, now we need 648 combinations.. okay we're adding 5 horns to the mix! 3240?!)

With sculpts we're good, we can create a single animal object that swaps out the tail, ears, hair, wings, whatever with llSetLinkPrimitiveParams PRIM_TYPE PRIM_TYPE_SCULPT... we just want to do that exact same thing but with Mesh.

The only argument I can imagine is fear of people 1.) obtaining a full-perm prim from a popular creator, 2.) obtaining the UUID for the desired mesh, then using that to swap the object into the desired mesh.

I would counter that copybotting is still a thing even without this feature, so it's only preventing legitimate creators from advancing their products. I proposed above multiple methods of deterring a copybotter - having to get banned after paying a $100 USD fee all while waiting a time period (to make sure that the $100 was non-fraudulent) is a pretty good method. I'm open to other speed bumps being added as well.

I guarantee this is brought up from time to time, so I apologize if I am bringing up a zombie request - but I would love for this feature to be implemented.

Links

Related

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-229043 | | Summary | Expand llSetLinkPrimitiveParams Function "PRIM_TYPE" to have "PRIM_TYPE_MESH" | | Type | New Feature Request | | Priority | Unset | | Status | Closed | | Resolution | Unactionable | | Reporter | Daemon Blackflag (daemon.blackflag) | | Created at | 2020-07-06T22:49:39Z | | Updated at | 2020-12-08T21:01:05Z | ``` { 'Build Id': 'unset', 'Business Unit': ['Platform'], 'Date of First Response': '2020-07-07T00:13:59.762-0500', 'How would you like the feature to work?': 'Similar to having "PRIM_TYPE" as "PRIM_TYPE_SCULPT", LSL would allow for "PRIM_TYPE_MESH" when referencing the Mesh\'s UUID.\r\n\r\nThis would be added to the following functions:\r\nllSetPrimitiveParams(), llSetLinkPrimitiveParams(), llSetLinkPrimitiveParamsFast()\r\n\r\nThis would be an access-only feature (similar to Mesh Uploading), where a user has to get permission from Linden Lab to use the function. I\'d be more than fine having it be a ~$100 USD fee, plus an additional waiting period after to help deter copybotters.\r\n\r\nThe script would also verify that the Object it\'s inside of, the Mesh UUID referenced, and the script itself is all the same Creator.', 'ReOpened Count': 0.0, 'Severity': 'Unset', 'Target Viewer Version': 'viewer-development', 'Why is this feature important to you? How would it benefit the community?': 'There are probably a lot more uses for this - custom cars that can swap out parts, bodywork - better scripted environments (trees/shrubs/grass/rocks) that swap out the proper seasonal textures. That\'s not for me though, I\'m biased, I make breedables.\r\n\r\nBreedables are very popular in SL. One of the key features of breedables are having "Physical Traits" to breed for, like Shorter Ears or a Fluffier Tail when compared to the normal variants. Right now we cannot create a full-mesh breedable, let alone a full animesh breedable, without sacrificing having physical traits. (Other than re-skinning the prims, or getting creative with materials/glow...)\r\n\r\nBreedable companies are currently forced to either ditch physical traits, attach all possible traits to the mesh and just show/hide the ones that are relevant (which exposes the future content with CTRL+ALT+T), or create exponential amounts of combinations by stuffing all possibilities inside of "Boxed Up Rezzer Prims" that spit out the desired breedable during the birthing process. (Let\'s say we have 6 total hair traits, 6 ears, 6 tails... the math is 6 x 6 x 6 = 216 combos... and let us say we add 3 new wings, now we need 648 combinations.. okay we\'re adding 5 horns to the mix!\r\n3240?!)\r\n\r\nWith sculpts we\'re good, we can create a single animal object that swaps out the tail, ears, hair, wings, whatever with llSetLinkPrimitiveParams PRIM_TYPE PRIM_TYPE_SCULPT... we just want to do that exact same thing but with Mesh.\r\n\r\nThe only argument I can imagine is fear of people 1.) obtaining a full-perm prim from a popular creator, 2.) obtaining the UUID for the desired mesh, then using that to swap the object into the desired mesh. \r\n\r\nI would counter that copybotting is still a thing even without this feature, so it\'s only preventing legitimate creators from advancing their products. I proposed above multiple methods of deterring a copybotter - having to get banned after paying a $100 USD fee all while waiting a time period (to make sure that the $100 was non-fraudulent) is a pretty good method. I\'m open to other speed bumps being added as well.\r\n\r\nI guarantee this is brought up from time to time, so I apologize if I am bringing up a zombie request - but I would love for this feature to be implemented.', } ```
sl-service-account commented 4 years ago

Lucia Nightfire commented at 2020-07-07T05:14:00Z

This use case is covered in the Mod Keys proposal. https://jira.secondlife.com/browse/BUG-139168

sl-service-account commented 4 years ago

Whirly Fizzle commented at 2020-07-07T11:08:26Z

2.) obtaining the UUID for the desired mesh, then using that to swap the object into the desired mesh. Not really sure if that is such a concern, seeing as if you have the mesh UUID, you can download the mesh data directly from the CDN & with a bit of fiddling (there is actually a griffer tool that does the fiddling part for you), reupload the mesh.

sl-service-account commented 4 years ago

Daemon Blackflag commented at 2020-07-07T16:12:57Z, updated at 2020-07-07T16:18:57Z

Lucia Nightfire -> https://jira.secondlife.com/browse/BUG-139168 -> I DO want those features to exist, as it would allow for even more situations of advancement... but that particular feature request is not all inclusive for what I would want to do.

For example, with my request I would be able to release new mesh content without forcing everyone to update their products. With your request I believe I am unable to do that and have to force an update when we upload new mesh to be included.

With my request I can have a database full of traits and their corresponding Mesh UUIDs, and we could hard code the day one released product to pull UUIDs from that database and have unlimited content without the need for users to update in-world.

Does your feature request handle that? I read through and I think it only covers "thinking ahead of time" with the mesh content. Correct me if I'm wrong!

Does "llSetObjectLinkParams(key mod_key, key id, integer link, list rules)" allow to set a Mesh UUID for example? or no..

sl-service-account commented 4 years ago

Lucia Nightfire commented at 2020-07-07T16:36:41Z, updated at 2020-07-07T16:37:06Z

No, Mod Keys does not allow mesh UUID "flipping". The feature would allow a "hot fix" method of updating a no-mod product though, even allow swapping out mesh links with new ones. I know there may be aesthetic issues involved, but its the best we're ever going to get I'm afraid.

LL developers in the server and content creation meetings on many occassions have stated they are not going to allow mesh UUID flipping due to the impact it has on the region, but most of all, because of potential IP theft.

You're welcome to attend the next meetings and ask though.

http://wiki.secondlife.com/wiki/Server_Beta_User_Group

http://wiki.secondlife.com/wiki/Content_Creation_User_Group

sl-service-account commented 4 years ago

Daemon Blackflag commented at 2020-07-07T19:22:05Z

Cool, I just wanted to put in some effort on my part which is why I wrote up this Jira request. Glad you brought up region impact, I wasn't even thinking about what sort of downside it would play in that regard.

To me this just says: "Hey Daemon, keep pumping out sculpt map breedables", granted I would probably deal with the Mod Keys proposal if I had to, it would just be annoying that users could rez out my rezzer object in No-Script land, "unpack" it onto the ground and ctrl-alt-t to see what the future traits are going to look like. My proposal would mean this is impossible until the first of its kind shows up on the grid - and that's perfectly fine.

Thank you for taking the time to talk it out with me, Lucia - I will definitely show up at the meetings and be "that guy" to bring it up at least once. I'm just trying to do my part in making sure it's never going to happen officially? Heh.

sl-service-account commented 4 years ago

Kyle Linden commented at 2020-07-08T18:11:53Z

Hello, and thank you for your feature request.

Incoming suggestions are reviewed in the order they are received by a team of Lindens with diverse areas of expertise. We consider a number of factors: Is this change possible? Will it increase lag? Will it break existing content? Is it likely that the number of residents using this feature will justify the time to develop it? This wiki page further describes the reasoning we use: http://wiki.secondlife.com/wiki/Feature_Requests

This particular suggestion, unfortunately, cannot be tackled at this time. However, we regularly review previously deferred suggestions when circumstances change or resources become available.

We are grateful for the time you took to submit this feature request. We hope that you are not discouraged from submitting others in the future. Many excellent ideas to improve Second Life come from you, our residents. We can’t do it alone.

Thank you for your continued commitment to Second Life.