ag12 Posted May 8, 2016 Posted May 8, 2016 There's also an 'official' Java library, called Java3D, that can import some other file formats, namely 3DS and X3D, taht can be exprted by Blender. If these formats are aslo availale as 3DsMax output formats, then I'll go for that. 3DS files are available as output by 3DSMax. It's where the file format comes from in the first place - so it seems like you've found yourself a very good candidate to proceed. It's exciting watching this progress - best of luck to you, sir.
DexesTTP Posted May 8, 2016 Author Posted May 8, 2016 3DS files are available as output by 3DSMax. It's where the file format comes from in the first place - so it seems like you've found yourself a very good candidate to proceed. It's exciting watching this progress - best of luck to you, sir. So, finally I decided to go with the Collada format, which can be exported both by Blender and 3DsMax. It's kind of the standard for all the animation files, so I guess it's the best of all worlds. I'm finishing to figure out the transforms to apply to get the HKX data from the Collada data, but the results I have already are extremely promising. I have as always no ETA on the tool, but I may say that an early version could be finished for maybe... next week ? Keep in mind that by "early version" I don't mean something that works, just something that kind of give results. edit: I think I finished the algorithm itself, and uploaded it to the HKXAnim repo. This is the only thing on there for the moment. The HKXAnim repo can be found here. If you want to check out the algorithm I'll implement. Now, there is only to test if it holds up... and to actually implement it I guess.
b1zz Posted May 8, 2016 Posted May 8, 2016 really cool to read through and see they major progress you guys have had. we all appreciate all the work u guys do to move modding forward
lordescobar666 Posted May 8, 2016 Posted May 8, 2016 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
ag12 Posted May 8, 2016 Posted May 8, 2016 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? All I read from this was "I got an animation into the game. It was rotated 90°. Fuck it. I got an animation into the game!" Sorry for the utterly useless post - I have no clue.
AsariX Posted May 8, 2016 Posted May 8, 2016 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? Not entirely sure, but I believe Blender does have Z and Y axis switched when compared to some other 3D software. (or something like that, at least, I have heard about the 90° rotation thing before somewhere, and that it had to do with the axis being different)
volfin Posted May 9, 2016 Posted May 9, 2016 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? Blender's default FBX importer is unfortunately garbage. I assume what you see when you import skeleton FBX is this: This is like this because of Blender's Bad FBX importer. Now there's a Japanese guy who has written a better FBX importer for Blender, which is based on using Autodesk's FBX SDK. so it's far, far more accurate. When I import your skeleton FBX with that, I get this: Skeleton appears far more correct. However as you see it's rotated 90 degrees on the X axis (as well as technically 180 degrees on Z. ) this may or may not account for the 90 degree rotation you're seeing. You should be able to import it with this plugin, try different rotations of the skeleton in blender, and see what works in the game. I'll have to hunt up the info on the Japanese plugin. EDIT: The FBX plugin consists of two components. First is the actual blender plugin, you can download here: http://blenderfbx.render.jp/ Currently it only works for blender 2.73 through 2.76 due to Blender changing Python versions in the latest 2.77. I am sure he will update it for 2.77+ soon. Second part is the converter exe portion you can get here: http://umconv.render.jp/home/ These converter EXE files you place in your Blender directory in the "umconv" folder. for example: C:\Program Files\blender-2.76b-windows64\umconv The plugin will use these to do the conversion to-from FBX using Autodesk's SDK. Good luck.
D_ManXX2 Posted May 9, 2016 Posted May 9, 2016 Blender rotation bug has always been a problem with any bethesda game, especially visible when using blender then export to 3dmax. i am not sure but how is the script for 3dmax right now ?? the older scripts for 3dmax never worked right when usinmg blender templates for games like oblivion and fallout 3/nv it was due to the bone named bip01NonAccuum witch does not seem to be there when importing in 3dmax so it will always rotate in the wrong direction. not sure how they even fixed it. btw i was hoping people will make fully working scripts for blender this time around, that way we will be able to use stuff like this in newer blender: http://www.loverslab.com/topic/18497-organic-rigging-for-blender-267-and-higher/ That way you can create animations even more fluid.
maxwellfoto Posted May 9, 2016 Posted May 9, 2016 really cool to read through and see they major progress you guys have had. we all appreciate all the work u guys do to move modding forward this guys better betsheda stuff !!!
nutluck Posted May 9, 2016 Posted May 9, 2016 Didn't follow half of the recent posts but it seems progress is being made and just posting to offer support. In the way of... way to go guys... level of support.
DexesTTP Posted May 9, 2016 Author Posted May 9, 2016 All I read from this was "I got an animation into the game. It was rotated 90°. Fuck it. I got an animation into the game!" Sorry for the utterly useless post - I have no clue. Thank you for the support ^^ LE666 indeed have already got animations kind of through the whole thing already, by exporting them from 3DsMax... but not with tools we can provide to the general public yet. The thing we're discussing about here isn't this kind of port, but a simple converter for everybody to be able to make FO4 animations, be it from Blender or Max. btw i was hoping people will make fully working scripts for blender this time around, that way we will be able to use stuff like this in newer blender: http://www.loverslab.com/topic/18497-organic-rigging-for-blender-267-and-higher/ That way you can create animations even more fluid. The thing is that Blender (and 3DsMax) both use either Python or C++ as base for these import/export/convert scripts. Python There's actually two problems in Python : no librairies, and no code obfuscation. There isn't a really useful Python binary file creator/analyzer - the closest we have is PyFFI and it's already hard enough to use it for Nif files. I have no idea what would be required to implement the "delayed data retrieval" part of HKX files into PyFFI (I know that it isn't handled yet). Tthe biggest problem is that coding a Python interface for HKX files will require something like a "nif.xml" file, or hardcoded constructs for only some of the elements. However, while the nif.xml file was discovered organically over time by the NifTools team, the whole "hkx.xml" file equivalent I use is actually extracted from the game engine, and it would break the EULA to disclose it. I got around the problem in Java by obfuscating the filem, meaning making it unable to be retrieved from the compiled file. As the Java code is in a single big blob, nobody could just "replace" part of the code to make it dump this XML file, or at least if he can do that it can extract the data directly from the FO4 game, so that makes HKXPack pretty safe to be distributed. Sadly, there's no simple way to obfuscate data in Python as all the source code can always be fragmented, especially if I want to make it open source. C++ A C++ library to write (and maybe read) HKX files would be way too close to the official, not-free Havok library to be accepted by Microsoft. This would actually be even worse because even though the "extracted" data wouldn't be disclosed, the whole library would call for a takedown request. To make it simple, the only languages we could provide converters for are languages not supported by Havok (to not blindly "copy" something they have) and languages that allow obfuscation (to not disclose Havok's internal data). I only know of a select few languages that could correspond to these criterias (Java, Go, Haskell, Cobol...) and from these I guess only Java (and maybe Go, but I don't use Go) are used today. What we could try to do is hooks to the Java code. I have no idea how I'd proceed for that, be it in Python or C++. What I hope will happen, however, is that the COLLIDA data will provide all the relevant information extracted from the Blender scene and that the exact replica of the Blender animation can be created in HKX format. I also forgot to say : I'll in fact be a little less available that I thought this week, so I may not have a prototype version as soon as I would have wanted (probably not this sunday then). Sorry for that, I'll try to get to it as soon as I can
D_ManXX2 Posted May 9, 2016 Posted May 9, 2016 Have you tried contacting Gerra ?? http://www.loverslab.com/topic/13140-pose-converter-089i-10302014/ He has managed to get some coversion going on from different bethesda game maybe the 2 of you can figure out how this is done for fallout 4 ??
lordescobar666 Posted May 10, 2016 Posted May 10, 2016 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
Guest Posted May 10, 2016 Posted May 10, 2016 ... My biggest and sincere congratulations on what you did so far.
nhgb6 Posted May 10, 2016 Posted May 10, 2016 Dexes, this is great work. Thank you so much. I'm following this project and just wanted to encourage you to keep up the good work.I'm encouraged that lordescobar got results using the plugin that shall not be named, but I think in the long run we are going to need Dexes's program to make custom animation commonplace.
mike24 Posted May 13, 2016 Posted May 13, 2016 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. Thank you so much for your work!
DexesTTP Posted May 13, 2016 Author Posted May 13, 2016 3DS skeleton yet? Not until someone else make it. I can't do it, and Lordescobar can't do it. You're welcome to try to do that of course. The idea is "just" to convert or remake the Blender project into a 3Ds project. (I'll try to make some progress this week-end, but no promises about results :/ as I said, things popped up and I don't have the time I thought I would have.)
Stein1771 Posted May 13, 2016 Posted May 13, 2016 ... Somebody give this person a medal! And while doing this, also give one to DexesTTP and CPU!
pipdude Posted May 13, 2016 Posted May 13, 2016 Not until someone else make it. I can't do it, and Lordescobar can't do it. You're welcome to try to do that of course. The idea is "just" to convert or remake the Blender project into a 3Ds project. (I'll try to make some progress this week-end, but no promises about results :/ as I said, things popped up and I don't have the time I thought I would have.) That one is beyond my 3D capability. I know just enough to follow a guide to animate (and barely that). By the time I figured it out, there will be 3 skeletons to choose from here. Thank you for working on this between actually important things.
lordescobar666 Posted May 14, 2016 Posted May 14, 2016 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
DexesTTP Posted May 14, 2016 Author Posted May 14, 2016 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 ). That's cool However... I don't know how to animate :/ If someone cold create a sample animation from this project and transfer it to me, I'll try to continue the exporter from there. (just a .blend project should be fine) Ideally, I would like if possible for each bone of the project to be included in the animation in some way... but this isn't a requirement as of now. I'll try to extrapolate if you can't manage to make an "all bones animation" easily. (I struggled to animate that for a good 30 mns and didn't even manage to add a keyframe, that's how sad it was.)
tazdotnet Posted May 14, 2016 Posted May 14, 2016 (I struggled to animate that for a good 30 mns and didn't even manage to add a keyframe, that's how sad it was.) it could be worse: i am totally lost when looking at any animation program - i don't even know what a keyframe is... now that is sad
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now