RuthAndRoth / Ruth

Virtual World Mesh Avatars
27 stars 15 forks source link

Scripting principles and functionality #34

Open manwapastorelli opened 4 years ago

manwapastorelli commented 4 years ago

I think we need to come up with a consensus about how to construct some of the scripts and addons. I have been working on making appliers work with materials as well as bakes on mesh. Both of those are working in my contrib folder for ruth.

However when it comes to the feet either... the script needs to be a little different to the main body (when it doesn't really need to be) or an extra prim needs adding to the feet as the root prim like it is with the body.

I also think it would be good to standardise the applier channels and the parameters passed from huds to the body/other attachments. At the moment we have a miss-match of different techniques for nails, feet, and body. There is also no real reason why the nails hud couldn't work with the same method as the body hud for applying textures as well as colours.

If we used the script I made as a basis that could also deal with full material details.

I am interested to hear others thoughts, my thinking is ruth and extra attachments for ruth should all use one channel and one parameter. Then Roth can be the same as ruth, only with a different channel used.

Sara

seriesumei commented 4 years ago

Sara, you are talking my talk here! I have just returned from a travel weekend and will get more specific tomorrow maybe but I wanted to at least touch base with you about this.

I have started documenting the HUD protocols in my wiki [0] to try and keep track of the different scripts in common use. I am building a combined HUD that should ideally be able to talk to the minor variations out in the wild, and then work on defining how we extend it for new functionality.

The first thing to do is to introduce a version identification so we know what we are working with.

The scripts in my Contrib directory are for the combined HUD I have working so far for Ruth, but much has changed and in anticipation of the revisions Ada is planning not all of that will be the same in the next release so I slowed down on it. However it would still be very useful for existing bodies.

I'll follow up tomorrow with more details, I need to unpack and recover a bit tonight.

Serie

[0] https://serie-ous.style/ss/ruth/hud/protocol

aiaustin commented 4 years ago

Just a note that I am not sure we should use different AppIDs (channel basis) for Ruth2 and Roth2. Definitely some attachments like the Elf Ears and many rigged mesh clothing items (like jeans) are unisex. Having twi versions just because of scripting would be a pain.

AdaRadius commented 4 years ago

@manwapastorelli Hi Sara! My opinion: the feet should not be separate from the body. We should pose the feet with a pose animation instead - shoe makers and owners can put the animation into the shoe. Because that's the way the ankle textures and rigs the best. After living with this mesh since 2017, I'm not even willing to separate the feet again, though I am guessing others will. :)
Maybe provide a simple script to put an animation into a shoe? I made several poses, based on fashion industry standards for heel height, and more may be needed. I haven't kept up with virtual shoe makers, and don't want to unless they're available legally in opensim. If people want to hand me dae or obj files for shoes they need poses for, I'm happy to make them.

aiaustin commented 4 years ago

In practice it seems easier than this. I just set the posable feet to one of the heights that Ada's posable feet have.. she provides 4 or 5 settings and even a ballet en pointe foot position which can be in the HUD. The all shoes I have come across seem to fit really well for the flat, medium and high heel variants of the poses... But then I also make sure the classic avatar shoe base is used to set the base height correctly to make the sole or heel exactly touch the floor.

AdaRadius commented 4 years ago

@aiaustin AHA thank you! I hadn't tried that. Nice to have you testing this :)

aiaustin commented 4 years ago

We can have a set of shoe bases to match the foot height of each pose in Extras maybe. I just use 0mm, 50mm and 100mm and they work well for flat, medium and high feet. We can make a set match your (5) heights. As I mentioned before we should make sure we label which of the ones provided eventually (in a HUD I assume) correspond to the usual flat, medium and high too.

manwapastorelli commented 4 years ago

I can only see one argument for having the feet as separate objects. By keeping them all rezzed on the body all the time you increase the render cost of the Avi permanently. I do not think this is a strong enough argument to actually do it.

Even if you disregard the inconvenience of swapping feet compared to just swapping the shape on a hud or automatically from a shoe script there are still other reasons. As a separate object, you often fight lighting affecting the main body and the feet differently. Additionally, there are sometimes visible lines in place as the visible LOD in the viewer and the body change at different times.

If we are going down the line of having shoes/clothes pose the feet, we should also make a method for content creators to save an alpha state. So when someone wears a jacket for example which requires certain points on the body to be alpha that can be set via the script. A number of clothing items do this with the popular bodies in second life already.

Doing that would also force the standardisation of clothing channels etc, which I feel is needed. Allowing us to provide an API/simple to use give away scripts for content creators. Such as record alpha and set alpha when the item is worn.

My gut feeling on the best way to do this would be to output the link names and faces, then let creators copy-paste that into a notecard which can then be read as an item is worn. In opensim that could be automated but not in second life.

aiaustin commented 4 years ago

Open issues are always there for all contributors for all to see Manwa. I hope this one is something that you and Serie (who is also looking at scripting and a new combination HUD) can continue to discuss and develop.

It would be good to involve @SundanceHaiku too, with his contributions to the Finger and Toenails and their HUD/Scripts.

SundanceHaiku commented 4 years ago

Ai and Ruth Developers,

You are more than welcome to use the Fingernail HUD in your development work. I'm afraid that I haven't been able to help with the Ruth effort, though I'm supportive and delighted to see that the team's valuable work goes on.

I've been pretty absorbed lately, working on a new mesh avatar, having started from scratch. It has a completely different topology than Ruth, and other than using some of my work in with the Fingernail HUD, the code is all new. To protect creators, the code is not open source. I'll have a free version, but I've put in so many weeks and hours that I'll need to sell a more advanced version. The code works in the SL environment, but the task of porting it to Opensim is a bit overwhelming at the moment, so that won't happen for some time.

Many good wishes to you and the Ruth team. Keep doing good things,

Sundance