Creature/Npc Editing

Involved development of the OpenMW construction set.
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Creature/Npc Editing

Post by aesylwinn »

Maybe we could get a mod for some Rayman inspired races?

June 30th
I looked outside my fence today. My neighbors are behaving strangely. Time to head back inside.

Image

On a more serious note, I am running into a couple of issue. One issue is that finger bones seem to be missing for females. The other is that some parts are getting culled when the camera gets close (probably a bounding box issue). Any thoughts on the fingers?
Lamoot
Posts: 176
Joined: 22 Apr 2016, 12:03

Re: Creature/Npc Editing

Post by Lamoot »

This is looking nice, should make it much easier to know where stuff is in the world. I mean the white boxes work to an extent, but not nearly as well as seeing actual characters.
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Creature/Npc Editing

Post by akortunov »

aesylwinn wrote: 30 Jun 2018, 20:44 On a more serious note, I am running into a couple of issue. One issue is that finger bones seem to be missing for females. The other is that some parts are getting culled when the camera gets close (probably a bounding box issue). Any thoughts on the fingers?
I suggest you to open a pull request, if you are looking for help. It will allow other developers to test this feature and maybe track down these issues.
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Creature/Npc Editing

Post by aesylwinn »

I'll open a PR with what I got. I just haven't had the time to focus on this for the past week or so. When I left off, I discovered that female hands have bones that male hands don't... My code is largely based off of what is in the game engine. I'll be looking into how the engine initializes osg/resource loaders to see if something is happening there.

Code: Select all

recordType: Npc
is female

Bones in skeleton:
bip01
bip01 head
bip01 l calf
bip01 l clavicle
bip01 l finger0
bip01 l finger01
bip01 l finger1
bip01 l finger11
bip01 l finger2
bip01 l finger21
bip01 l foot
bip01 l forearm
bip01 l hand
bip01 l thigh
bip01 l upperarm
bip01 neck
bip01 pelvis
bip01 r calf
bip01 r clavicle
bip01 r finger0
bip01 r finger01
bip01 r finger1
bip01 r finger11
bip01 r finger2
bip01 r finger21
bip01 r foot
bip01 r forearm
bip01 r hand
bip01 r thigh
bip01 r upperarm
bip01 spine
bip01 spine1
bip01 spine2
chest
groin
head
left ankle
left clavicle
left foot
left forearm
left hand
left knee
left upper arm
left upper leg
left wrist
neck
right ankle
right clavicle
right foot
right forearm
right hand
right knee
right upper arm
right upper leg
right wrist
shield bone
tri chest
tri groin
tri head
tri left ankle
tri left clavicle
tri left foot
tri left forearm
tri left hand
tri left knee
tri left upper arm
tri left upper leg
tri left wrist
tri neck
tri right ankle
tri right clavicle
tri right foot
tri right forearm
tri right hand
tri right knee
tri right upper arm
tri right upper leg
tri right wrist
weapon bone

Bones in left hand:
bip01
bip01 l clavicle
bip01 l finger0
bip01 l finger01
bip01 l finger02
bip01 l finger1
bip01 l finger11
bip01 l finger12
bip01 l finger2
bip01 l finger21
bip01 l finger22
bip01 l finger3
bip01 l finger31
bip01 l finger32
bip01 l finger4
bip01 l finger41
bip01 l finger42
bip01 l forearm
bip01 l hand
bip01 l upperarm
bip01 neck
bip01 r clavicle
bip01 r finger0
bip01 r finger01
bip01 r finger02
bip01 r finger1
bip01 r finger11
bip01 r finger12
bip01 r finger2
bip01 r finger21
bip01 r finger22
bip01 r finger3
bip01 r finger31
bip01 r finger32
bip01 r finger4
bip01 r finger41
bip01 r finger42
bip01 r forearm
bip01 r hand
bip01 r upperarm
bip01 spine
bip01 spine1
bip01 spine2
left hand
right hand

Error: RigGeometry did not find bone Bip01 R Finger12
Error: RigGeometry did not find bone Bip01 R Finger22
Error: RigGeometry did not find bone Bip01 R Finger3
Error: RigGeometry did not find bone Bip01 R Finger31
Error: RigGeometry did not find bone Bip01 R Finger32
Error: RigGeometry did not find bone Bip01 R Finger4
Error: RigGeometry did not find bone Bip01 R Finger41
Error: RigGeometry did not find bone Bip01 R Finger42
Error: RigGeometry did not find bone Bip01 R Finger02
Error: RigGeometry did not find bone Bip01 R Finger3
Error: RigGeometry did not find bone Bip01 R Finger4
Error: RigGeometry did not find bone Bip01 L Finger12
Error: RigGeometry did not find bone Bip01 L Finger22
Error: RigGeometry did not find bone Bip01 L Finger3
Error: RigGeometry did not find bone Bip01 L Finger31
Error: RigGeometry did not find bone Bip01 L Finger32
Error: RigGeometry did not find bone Bip01 L Finger4
Error: RigGeometry did not find bone Bip01 L Finger41
Error: RigGeometry did not find bone Bip01 L Finger42
Error: RigGeometry did not find bone Bip01 L Finger02
Error: RigGeometry did not find bone Bip01 L Finger3
Error: RigGeometry did not find bone Bip01 L Finger4
https://gitlab.com/OpenMW/openmw/merge_requests/25
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Creature/Npc Editing

Post by akortunov »

Take a look at animation.cpp and npcanimation.cpp. In these files we handle NPC bodyparts.
IIRC, we do not handle every finger separately - we handle whole "Left Hand" and "Right Hand" bones.
aesylwinn wrote: 14 Jul 2018, 03:44 When I left off, I discovered that female hands have bones that male hands don't...
That is strange. IIRC, fingers 3 and 4 are only used in first-person meshes (and animations) and by some creatures.
Basic NPC skeletons have only fingers 0-2. So you try to load 1st-person hands for females.
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Creature/Npc Editing

Post by aesylwinn »

Thanks for the help. I was wondering if vampirism/lycanthropy could be detected from the editors perspective. These sorts of things seem to depend on scripts in a few of the cases I've looked at.
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Creature/Npc Editing

Post by akortunov »

aesylwinn wrote: 15 Jul 2018, 02:18 Thanks for the help. I was wondering if vampirism/lycanthropy could be detected from the editors perspective. These sorts of things seem to depend on scripts in a few of the cases I've looked at.
It seems you are right.
Currently OpenMW treats NPC as vampire, if he has an ability with ESM::MagicEffect::Vampirism magic effect.
Morrowind adds such ability ("vampire sun damage") manually via AddSpell console command.
TES CS renders NPCs as vampires only because developers manually assigned vampire heads to them.
Lycanthropy is handled via BecomeWereWolf/UndoWereWolf console commands, so I doubt that we can do anything here.
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Creature/Npc Editing

Post by aesylwinn »

Here is what I plan to do:
1. NPC's with a spell named 'Vampirism' will be rendered as vampires (this excludes effects added in scripts because that would be overly complicated).
2. NPC's with 'Sanies Lupinus' (aka werewolf blood) will not be rendered as werewolves.

If any modders think this should be done differently, let me know.

I plan to have the functionality to display werewolves implemented, but without any way to view them... though perhaps they could be rendered when the lighting is changed to night? :lol:
User avatar
lysol
Posts: 1513
Joined: 26 Mar 2013, 01:48
Location: Sweden

Re: Creature/Npc Editing

Post by lysol »

aesylwinn wrote: 18 Jul 2018, 01:16 though perhaps they could be rendered when the lighting is changed to night? :lol:
Haha. That would be a pretty fun and kind of intuitive feature.
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Creature/Npc Editing

Post by aesylwinn »

Image

What are those guards doing!

Made some progress recently. There's quite a bit more to this feature than I first thought. In any case, I will be cleaning up my changes so far and update my MR. After that, it will be a couple weeks before I can work on this again. I'll be finishing up my internship and travelling back to my university. :? During that time, if someone want to pick this up, feel free to do so.
Post Reply