674327b40cda4

674327b40dcb9
2 Guests are here.
 

674327b40e2d2endwars

674327b40e334
Hello there!

I wanted to share with you an idea I had for a while and find out if it is at all possible. (along with which tools to use. I can't for the life of me find a working blender import/export plugin) This will make it possible to add mouth animation at certain NPC in the game and it will make it relatively easy. This method is largely inspired from the Vampire Redemption game, where they use basically the same system. (Losely speaking) We basically only need to add a single joint to the models, please see the below image:



This joint will be connected to the head joint. (I called it "chin" in the image) Polygons that make up lower lip/mouth, lower teeth and chin will be assigned to this chin joint. Each time chin joint moves down, mouth will open.

How would we utilize this joint? Each time a living NPC speaks in front of the player, said NPC usually uses a unique animation that's only used during that. (Like the first hologram NPC talking and shooting himself in the head or dying NPC who reaches and speaks to the player) We would need to edit those animations ever so slightly to add movement to the chin joint. This can be done in a way to match the speech. (Like I said, this is basically what Vampire Redemption game does and it will work for sure.)

Since most most humanoid enemies in the game are horribly mutated, they don't need this, this is only for the living NPC's.

So, what do you think? Is this a good idea? Does it have any chance of working?

Lastly, I intend to help out will the model/texture work, I need to find a blender import/export plugin as I don't have 3ds max. Could any of you give me pointers?

674327b40e5edendwars

674327b40e643
This sounds like an awesome idea. If this has any chance of working, please please do it! It would do wonders for immersion. And it would be useful for custom story mods as well.

This is something I imagine devs would do if they just had a few months to polish. Just brilliant.

674327b40e722voodoo47

674327b40e76c
NewDark actually supports Soldier of Fortune style mouth animation (just texture changes, really), a proof of concept video is posted on TTLG.

while not exactly amazing, this would work well enough with the vanilla Thief/SS2 AI models, I'd imagine.

674327b40eaa1endwars

674327b40eaed
Yeah, but that's not what I am trying to do. That's just texture animation and it looks... odd to say the least. Not to mention, while it would work for the vanilla models, it wouldn't work with the Rebirth models, because mouth area needs to be flat for that method to work and Rebirth models have actual lips.

Anyway, I am not even sure if what I suggested would even work with the engine, we need a proof of concept and I can't even figure out how to edit AI models, joints and animations. Only proper blender plugin I could find was for static models.

Maybe @RocketMan or @Paynamia would know if this could be made to work. In any other game, doing this kind of thing wouldn't be impossible, but I can't be sure about Dark engine.

674327b40ebdfvoodoo47

674327b40ec28
I'm (wildly) guessing that once the mouth joint is added, a custom motion would have to be generated with the (new?) motion editor. so the questions you are asking here are, "can we add a custom joint to a model?", and "can we create a motion for it?", I guess.

I'm pretty sure the list of joints Dark recognizes is hardcoded/non-editable, but not sure whether this would actually pose a problem.

674327b40f07cendwars

674327b40f0d0
I'm (wildly) guessing that once the mouth joint is added, a custom motion would have to be generated with the (new?) motion editor. so the questions you are asking here are, "can we add a custom joint to a model?", and "can we create a motion for it?", I guess.

I would guess pretty much the same thing. Motions (or as I called it, animations) would need to be edited as well. When I said it would be relatively easy, it was based on my previous experience, but since I have no experience editing SS2, I have idea.

Since I don't have access to 3ds max, I can't use the new motion tool, so this makes it impossible for me to even test if it would work.

I'm pretty sure the list of joints Dark recognizes is hardcoded/non-editable, but not sure whether this would actually pose a problem.

That's what I am afraid of. Which is why I am not sure if it can be done or not. It sure would be nice if it was possible.

674327b40f191endwars

674327b40f1e1
If this works, it would be brilliant, but if it is hardcoded, it might not be possible at all. It is sad. It was a great idea.

I am sure someone here might be able to help you. They have done many great things here.

674327b40f27evoodoo47

674327b40f2c7
It's not like people haven't managed to work around the engine limitations before.

674327b40f5bcRocketMan

674327b40f610
I don't have sufficient technical knowledge to answer with certainty but my gut feel is the same as Voodoo's.  Chin movement requires limit planes that don't yet exist to define the stretchy polygons and a new joint.  I doubt you can just add these without altering the code to expect them.

However if you want to put the issue to bed, you could do exactly that and add 2 planes, a joint, give them appropriate names and if you post it here I'll compile it for you.

674327b40f70aendwars

674327b40f754
Sorry for the late reply. Thank you for the offer, but even after hours of trying, I still can't seem too import files into the blender at the moment. Only import plugin I could find either crashes blender each time I try, or it simply doesn't load the model and the joints properly. I tried using older versions of blender, but no joy. Most likely case there is something wrong with the plugin I downloaded.

It is 2 AM here, I will try again tomorrow.

EDIT: If you could point me to correct plugin to use, this would be a lot easier.
« Last Edit: 11. January 2021, 09:43:00 by endwars »
674327b40f8b9
If the engine supported arbitrary skeleton definitions, it would be possible to create characters with jaws, fingers, tails, wings or tentacles in any combination. As far as I know, this wouldn't even affect the skeleton, animation sequence and database formats. But the engine has only a few predefined skeletons for the hardcoded creature types.
674327b40fa8b
Or you could just draw a mask on each NPC's face, and have Shodan remark how the Covid situation is *still* ongoing, so everyone should wear a mask. Even the androids.

But seriously, whilst I would like to see movable mouths (even better if they are synced with the individual sound that the NPC is making at that precise moment) if it's not possible then I don't think it's that important. It would certainly be important if the games' graphics were more realistic, but given the large gap between the NPC's appearance and something approaching reality, I don't feel like the lack of a moving mouth harms the immersion. Most of the immersion in the game comes from the atmosphere and the convincing way that NPCs can appear randomly (unlike in Prey 2017, where the random appearance of enemies is more predictable, due to the more limited spawing points and Prey's NPCs not being able to wander too convincingly), and the well done, though sometimes sparse, environmental details of the ship. The living areas could do with more personalisation and private possessions, to make them more convicning, though.

674327b40fb75
Also I think there are like 2 short occasions where human NPCs speak in SS2. And I cannot imagine this working for hybrids without unintentional comedy.

674327b40ff2eendwars

674327b40ffad
Kolya
I also think if it works this should be only used in human NPC's.

I can think of at least 3 instances human NPC's talking. One hologram, one dying and one behind glass.

I never reached the late stages of the game so I cannot be sure.

JDoran
I would say rebirth human NPC models are kinda closer to being realistic compared to the original. So this method would work well on them. Since majority of the players use the updated rebirth models, this would compliment it nicely.

I really believe this will work. I would try it myself, but my modelling knowledge never got past milkshape 3d.
« Last Edit: 11. January 2021, 21:20:25 by endwars »

674327b4102e8unn_atropos

674327b410336
And I cannot imagine this working for hybrids without unintentional comedy.

674327b41045f
*cough* So I went to the doctor and I said: Whenever I drink tea I have this piercing pain in my eye?
And she said: Have you tried taking the spoon out of the cup?

*sparse clapping*

Thank you! Thank you everyone!

674327b410596endwars

674327b4105e6
After hours of trying fruitlessly, I was finally able to import a model to the blender. Issue seems to be on my end but I am not sure.

I imported the gunghost model to test it, I noticed mesh itself has a lot of issues that needs to be corrected, but it at least has an open mouth, so it would be easier to work with. I decided best way to do this would be to add the extra joint to the neck (like a branch) since it would require less movement for more realistic mouth movement. But then I realized I have no idea how to extract the armature (or skeleton or whatever you might call it) in order to add the extra joint. Any help?

Also, meshes themselves could be a lot smoother, but most vertices (body parts) seem to be disconnected for some reason. Is there an engine related reason it is this way? Can I edit to improve these models without worrying about breaking them? Lastly, if I improve these models, would anyone be willing to compile them?

674327b410806endwars

674327b410855
endwars
So... how goes the project? Any progress?

674327b410adfendwars

674327b410b2e
lastmaster
To answer your question.. not great.

It seems System Shock 2 doesn't use conventional joints, but an archaic system of boxes and planes.

At first I was a bit confused when RocketMan said to add two plains to make it work, but after extensive research, I kinda understand. What I don't understand is, if I did that and if it had a chance of working, how could I possibly limit the effect to the mouth area only? There is no way to assign specific vertices to any joint tell the game "these are the only verts this joint will move".  I imagine the whole area between the two plains would move, which would be too finnicky and not at all desirable.


See the below image:


If you could assign only the selected areas of the mesh, it would work brilliantly. But as far as I can tell, there is no clean way to do this.

674327b410feesarge945

674327b411045
lastmaster
1 Hologram? If you mean the ghosts, there's at least 2 that talk at length. There's the "I can't seem to find my card. Can someone let me out" guy in medsci1, and there's the *totally not goggles* headshot ghost in engineering.

There are problably more talking ghosts in the game.

Kolya
So I told my friend Dan about a new data wafer I found on Tau-Ceti V. I didn't know what to call it

When I asked for a name, he responded "I don't know, I haven't seen it yet. Show Dan"
674327b411323
It seems System Shock 2 doesn't use conventional joints, but an archaic system of boxes and planes.
It's the model compiler that uses this system, not the game. In the compiled models, vertices are bound to bones in a fairly conventional way.

674327b4113bbendwars

674327b411404
So... how would I utilize that?
2 Guests are here.
You've really made the grade. And the papers want to know whose shirts you wear.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
674327b412078