lordescobar666
Members-
Posts
373 -
Joined
-
Last visited
-
Lich Evilynn VR (and SSE)
lordescobar666 replied to Evilynn's topic in Downloads - Skyrim: Special Edition Adult Mods
Ah, I also had this problem once. As far as I remember I was starting the new scene from the scene end hook of the currently running scene. The problem was that an actor participating in the old scene was also part of the new scene, and the old scene was still considered running until AFTER the scene hook has finished execution. An actor can only be part of at most one active scene so the new scene didn't start. I solved the problem by starting the new scene using a separate thread. This way the script hook could finish execution and the state of the old activity was set to stopped before the new scene was started. You can start a new thread by utilizing Papyrus' event mechanism (each event is started in a new thread). Just replace the code line that starts the new scene with a call to RegisterForSingleUpdate(0.1), and in the OnUpdate() event function you then start the new scene. -
Lich Evilynn VR (and SSE)
lordescobar666 replied to Evilynn's topic in Downloads - Skyrim: Special Edition Adult Mods
Sounds very much like a deadlock situation. It is caused by the way multi-threading is implemented in Papyrus. See here for more background information, the most important thing for you to know are the Rules 1-3 are most probably the reason for your problem. Rule 5 is the reason why it works with logging turned on. Read the rules carefully, and I also advice you to read the full page I linked above. Then try to find the places in your code where above rules apply, and refactor your code at that places to avoid deadlock situations (a deadlock happens when e.g. thread A waits for thread B, and thread B waits for thread A). If you find no way to avoid a deadlock, you can also insert Utility.Wait(0.1) at strategic places (is a good alternative to logging when you want to keep the log file clean) to force rule 5. -
Sexlab 1.63 is currently not compatible to Skyrim VR and sksevr. The reason is that it contains two skse plugins (SexlabUtils.dll and PapyrusUtil.dll) that need to be recompiled for sksevr (hoping that they don't add new hooks into the game engine, because then recompiling is not enough). Also Sexlab's version check probably needs to be patched because Skyrim VR reports a different version number than normal Skyrim SE. As others have already said mixing two different skse versions is bound to cause problems. Fetch the newest development snapshot of LOOT which supports Skyrim VR. @Ashal: Where can I get the source code for SexlabUtil and PapyrusUtil so that I can recompile them for Skyrim VR?
-
My bad, I got the name wrong. It's called OnItemUnequipped(). It's an event handler offered by the Actor script and the ActiveMagicEffect script.
-
But whenever an item is unequipped an OnUnequippedItem() Event should be emitted which gives you exactly this information.
-
Have I understand it correctly that the only thing F4SE is needed for in Four Play is stripping the involved actors? It should be easy to implement another stripping method that does not require F4SE by using a combination of Actor.UnequipItemSlot() and listening to unequip events to learn what got unequipped. Why is the normal version of Four Play not using this method, is there anything that speaks against it?
-
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
It's hard to say what the cause of the issue is. To get the skeleton out of the hkx, I had to manually add it to an existing animation, convert it with HCT into 32-bit hkx, then convert it into fbx with some tool I found on the internet, then import it into Blender and manually correct what the fbx importer messed up. On top of that I merged it with the skeleton from skeleton.nif (which has a similar story) to be able to rig the CBBE body. There are lot of steps where something could go wrong. The bones are still symmetric (when you ignore the precision error) so the cause seems to be something systematic and not some accidental movement of a bone. It was made with Blender 2.77. Anton outputs a custom format from Blender, and then uses his own tools to convert his custom format into Skyrim hkx. DexesTTP outputs an existing format from Blender/Max/..., and then uses his own tools to convert the existing format into Fallout hkx. I don't think there is much Anton could help. -
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
Thanks all for you kind words. I have now added the missing nif skeleton bones and rigged the CBBE body to it (Actually I did it 2 days ago, but then I received my HTC Vive and I got lost in virtual reality ). WorkingSkeletonWithBody.blend.rar -
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
I finally have a skeleton that produces correct animations. Let's ask my provisioner what he thinks about this: I think he is happy that he doesn't look like an abomination from hell anymore . And yeah, I am not the best animator . The cause for the skeleton problem was that Blender uses the y-axis as primary bone axis, while 3ds max and HCT use the x-axis. Also the bone orientations got messed up during the import process. After I found the correct import settings and corrected the bone orientation everything seems to be ok now. The skeleton may still not be perfect, but at least we have now a starting point. I think it would be a good idea to collect animations to use as testing set for HKXAnim, so animators start animating and send me your animations . I have attached a Blender project file with the skeleton. 3ds Max user have to wait for a kind soul to convert the skeleton to Max, my knowledge of Max is very limited and I don't feel up to the task. FO4AnimSkeleton.blend.7z -
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
I got the skeleton out of the skeleton.hkx (see attached files, you still need to manually set the scale to 1). However I have a strange problem: When I open the skeleton.dae in Blender the skeleton looks like a skeleton should look like. When I now make an animation with this skeleton in Blender, import the animation as fbx into 3ds max and generate a hkx, in game my character looks like all bones are broken when the animation plays. When I use the skeleton from the skeleton.fbx, in Blender it looks wrong (actually it looks exactly as my character in game when I use the dae skeleton), but when I make and animation with it, the animation plays correctly in game (besides that it is rotated 90° around the z-axis). Has someone a clue why that is happening? Does Blender rotate bones when it creates an fbx? skeleton.fbx.rar skeleton.dae.rar -
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
Glad to be of help. The "__types__" section is not really important. You can remove it completely from the file and havok content tools can still read it fine. I have attached another xml that may shed some light into the 10 number matrices. I created the anim06-havok.xml I posted above by converting it from the hkx with the havok standalone tool. But there is also the option to directly export an xml from 3ds max, and when I do this the resulting xml has a different format than the one produces by havok standalone tool or hkxpack, and it contains 12 element matrices. When you compare it with the anim06-havok.xml you see that the 4th and the 12th number are omitted in the 10 element matrix. I suppose that havok always save 3 x 4-element vectors, but may omit elements from that vectors in the xml output when they are not needed (translation/scale only needs 3 values, so screw that 4-th value). anim06-direct-export.xml -
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
I think I found a way to create custom animations without Havok Content Tools. Have a lok at the attached xml file. The interesting parts of the file are the animation itself (/hkpackfile/hksection/hkobject[class=hkaInterleavedUncompressedAnimation]) and the animation bindings (/hkpackfile/hksection/hkobject[class=hkaAnimationBinding]). The animation consists of transformation tracks (one track per bone). An entry of such a tranformation track consists of a vector with 10 elements, the first 3 are the bone position, the next 4 are the rotation quarternion, and the last 3 are the scales. The transformation tracks are stored in the "transforms" element clustered by frame. For example. line 324 in myanimation.xml is the entry for the Root bone in the first frame, line 325 is the COM bone in the first frame, line 401 is the root bone in the second frame, line 402 is the COM in the second frame, and so on. If I want to add a third frame I just need to append 77 lines with 10 elements each and fill in approbriate values. If I want to add more bones I just need to add more tracks. The animation bindings bind those transformation tracks to the bones defined in the skeleton.hkx. I posted the complete bone list somewhere above. The indices defined there need to match the order of the bone list. What we now need is a suitable skeleton we can use to create animations, and some scripts to generate the transformation tracks from a blender or max animation. And hkxpack needs to be fixed to create an actual working hkx from the attached xml. myanimation.xml -
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
I am getting strange results when I use HKXPack to unpack and then re-pack a hkx I created with havok content tools. I created the attached anim06-havok.hkx with HCT (it contains both an animation and a skeleton, the anim06-havok.xml is the corresponding xml output from HCT), then I unpacked it with hkxpack (attached anim06.xml), and re-packed it (attached anim06.hkx). The numbers in the xml outputs (e.g. /hkpackfile/hksection/hkaSkeleton/referencePose or /hkpackfile/hkaInterleavedUncompressedAnimation/transforms) are different. When I open the anim06.xml in the havok preview tool, then animation is completely wrong. Also the hkx files differ, but when I open the anim06.hkx in the havok preview tool, the animation is ok. When I use hkxpack to pack the anim06-havok.xml then havok preview tool won't even load the resulting hkx file. anim06.hkx.7z anim06.xml anim06-havok.hkx.7z anim06-havok.xml -
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
"Working nicely" is the wrong term. The workflow I currently use is convoluted as fuck and constantly changing. I am basically experimenting with the Havok Content Tools. I have already descriped my setup here. I have attached the rig I am using (it is still not perfect). When you export it into 3ds max you have to make sure that units is set to meter (max uses inches by default, which completely messes up the scale), and that the bones are "left as bones". I then export the pose with the havok content tools as xml, manually correct the animation bindings so that they fit the skeleton in the skeleton.hkx, and at last I convert the corrected xml with the havok standalone tools into a hkx file. As soon as I have a more stable workflow I will post a more detailed description. I also discovered that the skeleton.hkx not only has fewer bones than the skeleton.nif, but also additional bones which you cannot find in the skeleton.nif. Accounting for this I was able to get rid of the broken arm and the really long fingers, but now I have broken fingers. I definitely need to get the skeleton from the skeleton.hkx into blender to see if my currently used skeleton is causing this. I also successfully used hkaInterleavedUncompressedAnimation instead of hkaSplineCompressedAnimation as animation format. I think this could be a major breakthrough because the hkaInterleavedUncompressedAnimation is much easier to understand and generate (hkaSplineCompressedAnimation is the compressed form of hkaInterleavedUncompressedAnimation, and uncompressed stuff is always much easier to understand than their compressed counterpart). It stores a transformation vector with 12 elements per bone and per frame. We just need to understand what each of the 12 elements mean (e.g. the first three elements for the root bone control the actor movement), then it should not be a problem to generate those vectors from e.g. a fbx animation. FO4-CBBE.rar -
HKXPack/HKXAnim - Animations in FO4
lordescobar666 replied to DexesTTP's topic in Fallout 4 General Discussion
The fbx i posted is bad, it has the wrong offset, and also some bones have the wrong position (especially the under arms and finders). This can be corrected to some extend, but there is also something else I found out. The skeleton in skeleton.hkx has fewer bones than the skeleton in skeleton.nif. All the bones ending with _skin are missing, and the order of the bones seems also a bit different (but this could be a conversion artefact). Using only the subset of the bones that are also in the skeleton.hkx I was able to put a pose into the game which at least resembles a human beings. It has a unnatural streched spine, a broken arm and some very long finger(nails), but I assume that this is caused by wrong bone positions. Currently I am trying to get the hkx skeleton into blender. I found a very interesting tool for converting 2014.1 32-bit hkx files into fbx: havok2fbx. But how to get the xml output from hkxpack into the 32-bit format? Edit: For reference, this is the list of bones found in the skeleton.hkx (in correct order):