Jump to content

[WIP] Furniture Interaction Framework - for NPCs and Player


Roggvir

Recommended Posts

Another question: will you include some standard interactions, i.e. ones based standard SL anims combined with vanilla Skyrim or Zaz furniture?  If not included in the framework, then perhaps in an example script such as the one you provided, or even just a list.  Nothing fancy, just simple get in furniture, have sex, and exit interactions :)

 

Also, where do the rffDoxxx spells come from in your scripts?  Are they included in the framework, or do they have to be created by the player (or both)?

 

Link to comment

Another question: will you include some standard interactions, i.e. ones based standard SL anims combined with vanilla Skyrim or Zaz furniture?  If not included in the framework, then perhaps in an example script such as the one you provided, or even just a list.  Nothing fancy, just simple get in furniture, have sex, and exit interactions :)

My plan is to have the Framework bare, completely clean and empty, without any interactions or furniture support that would make it dependant on any other plugin (SL or ZAP included),

and provide extension plugins adding interactions using all kinds of stuff that comes from SL, ZAP, Leito, ...etc.

And i do plan to release these extension plugins with as many interactions i can think of, but i dont really have any list, so i cant say how many and what are they gonna be like.

On the day1, there will be probably just few, because right now i just want to release it ASAP, but i will be updating those extensions as i go, adding as much stuff as i can.

And yes, there is a minimum Extension Example just to show people how to make plugins of their own.

 

Ideally, and by default, any interaction in any plugin should always be made available for all applicable Vanilla furniture, and of course all applicable furniture provided by the mod(s) it depends on.

 

Example:

ZAP related extension will have a "spanking on chair" interaction, because thats something ZAP provides animations for (thats why it wont be in SL related extension, because as far as i know, SL is not bundled with those anims).

So, if its not already obvious, this interaction will be made so it works with the spanking chair from ZAP (obviously), but also with any and ALL other chairs and bar stools in Vanilla game (with conditional support for any chair added by DLCs), as long as the furniture fits the anims (ie. the chairs shouldn't have arm rests, because the anims would make the actor clip through those, and i presume ppl would rather find another chair, than having to watch any visual glitches).

Every extension can provide new interactions based on new OR old animations, and bind them to new OR old furniture - it doesn't matter where any of those parts comes from, any of them, or all of them can be from Vanilla or any mod (including other extensions).

You can even make a simple extension that doesnt provide anything, but only updates interactions<->furniture bindings, to make all those interactions avaiable for a new chair mod you created.

 

I want to allow complete freedom when it comes to what people want to use.

I dont want to force any addon dependencies on people, if i can avoid it.

- not even using SexLab?? or, just wanna use this for some innocent dancing on a table, kicking stuff all over to make your 6yr old kid laugh? no problem.

- not into BDSM? ok, no problem, just don't download the ZAP related extension.

- want to have some extreme kinky stuff? ok, download the extreme kinky etension.

- or you dont want to have any extreme strange kinky pink stuffed aliens in your game? then do not download the kinky extension.

 

BUT the first release will be probably with just a few interactions, and all budled inside one file (until are the core funcitons 100% finalized, it makes it easier for editing stuff in CK, if it is all in one ESP, than constantly reloading and switching depending on in which file i want to save the changes i make).

 

 

Also, where do the rffDoxxx spells come from in your scripts?  Are they included in the framework, or do they have to be created by the player (or both)?

rffDo<something> spells come from Extensions, and have to be created by modders.

Since the Framework is bare and doesn't contain any interactions, there is no point to put any of such "interaction starting spells" into it.

But most importantly, magic effects of these spells are used to initialize and start individual interactions, so framework cannot define such spells, because framework doesn't know which interaction should do what - that is what extension does.

Usually, there will be as many of these spells as there are interactions defined in an extension, because EVERY interaction is somehow different, requiring different initialization code, thus requiring different magic effects to run such code.

If it seems weird using spells this way, then i agree, its horrible, but i consider it the best way how to make this whole thing work (i fond other ways, but equally weird at the very least).

(if anyone knows, how to make a script appear from thin air and start it, then let me know because i would be very happy to get rid of these spells)

Link to comment

Just dropping by, to let everyone know that i am not slacking off.

 

Everything works, i am just going over every line of code of every script, refactoring any dirty concepts into proper shape, removing dead code and functions that are no longer being used.

It will still take a while to finish this process, but i am not reinventing anything nor adding/replacing any functionality, i am doing this to remove garbage, to make the code a bit more readable and easier for anyone to debug, adding comments, trace messages, etc.

 

:-) I feel guilty of cluttering the forums with basically useless post just after 2 days from the last one, but i felt i should report something, because i know it can be annoying to wait for something not knowing how its going or what is going on.

 

EDIT: i improved the furniture scanner, much more simplified but neatly effective, and now using only 1 script instead of 3 (that's the kind of thing i am doing now, simplifying stuff :))

Link to comment
  • 4 weeks later...

So, i took a detour on the way...

- got pissed by Skyrim and CK again :)

- dabbled a bit into armor/outfit 3d modeling (nothing worth mention came out of it, but i learned something new).

- slapped together some almost working script that should automatize generation and installation of the voiceover plugins, but it still needs work.

...and then i couldn't restrain myself from yet another rewrite (resulting in some major improvements, so it was worth it - for me at least :)).

 

Now i am puting it all back together, because i took it all apart while rewriting the stuff.

Currently the most basic functionality works, now i must put back the undressing, picking up undresed items, and similar "small" things.

So, its back on track, it will be finished eventually :)

Link to comment

I just came across this thread - since I just reworked my entire mod setup, and I was looking for something that would help the furniture-involved animations actually happen ON furniture and not in mid-air. This sounds amazing, and I cheer on your efforts.  I'm just an end-user, with fuckall for coding or mod creation talent. Have a knack for getting already made stuff to work together, but that's about it. 

 

I'm going to be following your progress and look forward to trying this out!

Link to comment

 

Now i am puting it all back together, because i took it all apart while rewriting the stuff.

Currently the most basic functionality works, now i must put back the undressing, picking up undresed items, and similar "small" things.

So, its back on track, it will be finished eventually :)

Awesome! Keep it up!

Link to comment

(...) furniture-involved animations actually happen ON furniture and not in mid-air.

I doubt the animations from this framework will actually be happening on furniture markers either. If its reusing ZAZ resources, they will most likely be mid-air faked furniture scenes with one actor actually using marker and the other being teleported via script. Correct me if I'm wrong.

Link to comment

 

(...) furniture-involved animations actually happen ON furniture and not in mid-air.

I doubt the animations from this framework will actually be happening on furniture markers either. If its reusing ZAZ resources, they will most likely be mid-air faked furniture scenes with one actor actually using marker and the other being teleported via script. Correct me if I'm wrong.

 

Hmm, yes and no.

Definitely No to the teleportation - one of the main points of this framework is to get rid of such crap.

(that being said, there will be still cases when this does happen, but usually only if something, another NPC maybe, is blocking the path to the furniture - then the actor will get teleported to it, but in this case it is a failsafe we want to have).

 

Recently i changed the whole thing, so that none of the actors is actually really using any of the furniture.

They are just positioned on/around it so it looks that way (and you can't tell the difference of course, because visually there isn't any).

 

Anyway, i think what Mikalero means is that he hopes that there won't be any floating above the furniture, and that a REAL furniture will be used (instead of one that "magically" appears from thin air because it is an animation object bound to the animation).

And answer to both is yes, the animations happen on and around the REAL world furniture (placed in CK by vanilla game, or any other mod), and there is no floating, all actors are properly aligned with each other and the furniture.

 

For example, lets forget about sex, lets say you have an "interaction" that just consists of someone sitting on a chair, or on the side of a bed.

Well, the actor walks to the side of the bed (the real one, already placed in CK from vanilla game), and sits down on it - he is using animations that are already in game (the standard enter and sit on chair) and that i hijacked for this purpose, plus of course if someone makes dedicated anims for that, they can be used instead (thats up to the particular module extending the framework).

In case of a chair, you shouldn't be even able to tell the difference between how it looks when NPC goes sit on a chair using standard vanilla mechanics, and how it looks when he does the same using the methods of this framework.

 

Another example, where it won't be that pretty, would be "get fucked from behind while kneeling on chair".

It starts the same, actor will walk to the chair, but because we dont have any "entering" animation from standing pose to kneeling on chair, the actor will get to the intended pose on chair via position and animation translation - nothing i can do about that, i am not an animator, i dont have the skills to create such animation 9but if someone does, then it can be used, like with that chair example).

 

So, no mid-air stuff, no floating, and yes ON furniture (internally it doesn work like that, but it looks that way).

Link to comment

I'm just an end-user, with fuckall for coding or mod creation talent. Have a knack for getting already made stuff to work together, but that's about it.

 

This is spot on.

 

Jokes aside though, this looks very interesting and useful!

Link to comment

 

Recently i changed the whole thing, so that none of the actors is actually really using any of the furniture.

Out of curiosity, may I ask why you changed it?

 

 

This change happened on its own as a by product of other changes, it was not intentional.

 

I was rewamping how the interactions are started.

(you can now define event driven sequence of actions to be performed by any actor - ie. do this after other actor does this, then go over there, get in this and that pose, etc.)

And after i was done with it and changed few other related things, i realized i could also simplify things (at least from maintenance point of view) by having only one variant of actor script (so far i had two - one for actors in furniture, other for the rest), except the reason why i kept them separate was due to relaying on activate when entering such furniture.

Things had to be handled differently, and it was easier for maintenance to have it split in two scripts, instead of cluttered with dozen conditions.

 

And then i finally realized how dumb it all is...

i am also using Static object, not just activatable furniture, so you can say i am actually using THREE scripts

- one for actors not using any kind of furniture

- second for actors using activatable furniture

- third for Static objects

(last two were actually one script, but most related methods were almost in two versions, separated by conditions)

And i finally realized i can just deal with ANY kind of objects the same way i am dealing with Statics.

 

Now the furniture is used only to get its position and angle, so i know where to place the "pins" i use to make actors walk around and eventually lock them on.

Then i just block activation on it, and since that moment i don't touch it and only use my "pins".

This allows using exactly same code for what were previously three variants (using furniture object, using static object, using ground placement - no object for any actor).

They now differ only in where the first "approach" pin gets placed and how, which is now done via those new interaction-defined actions anyway.

Link to comment

So being able to use statics, does that include NPC idle markers as well as "seats" on walls and benches that the PC cannot use?

 

I would love the standing animations using the NPC idle markers leaning against the wall.

 

Static objects, yes...

As long as we're talking about non-activatable objects in the "WorldObjects -> Static" category in CK, but maybe not all of them - it may depend on how they are set, or what is in their NIFs (possibly causing the game to handle them in different ways, resulting in being undetectable by any means i know).

So far i just tested only the usual static objects like chairs, benches, or the ZAP static furniture - all of those are no problem, but walls and such? that i suspect may be different.

 

If you mean "Idle Markers", that are used by NPCs from master/idle package procedures, then currently NO...

For example, in Whiterun, near the well, there is an idle marker that young Battleborn is using to lean on a wooden pillar in front of Belethor's shop - these kind of "Idle Markers" may prove impossible to detect, but i didn't tried much yet.

IF i can detect these idle markers somehow, then support for them could be added, probably almost like for any furniture/static.

But i am afraid it wont be easy (if possible at all) to detect those markers (but can't really tell until i spend some time trying - it is on my list).

 

Link to comment
  • 4 weeks later...
  • 2 months later...

@Funnybizness : I spoke to Roggvir about three months ago. He had un-installed Skyrim and seemed doubtful he'd be able to follow up anytime soon. I've actually been logging in daily just to check this thread. 

 

I even built a mod that this would play excellently with and crossed my fingers.

 

I haven't given up hope. :)

 

Perhaps if he uploaded this, someone could pick it up and continue until he is able to get back to it.

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use