Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Fate/Extella and Fate/Extella Link .mtb animations

Post questions about game models here, or help out others!
Post Reply
Kotcrab
beginner
Posts: 31
Joined: Fri Jul 28, 2017 10:36 am
Been thanked: 23 times

Fate/Extella and Fate/Extella Link .mtb animations

Post by Kotcrab »

I figured out a way to extract Fate/Extella and Fate/Extella Link animations from .mtb files. The process is a bit complicated but basically it uses the game itself to decode frames. This was simpler to do than figuring out the format details.

Requirements:
- PC version of Fate/Extella or Fate/Extella Link
- Steamless: https://github.com/atom0s/Steamless
- Latest fate-tools: https://github.com/kotcrab/fate-tools/releases

Setup:
- Start Steamless and select game exe (either game.exe or fateextellalink.exe) then press Unpack
- This will create ...exe.unpacked.exe file
- Rename it to fate.exe
- From fate-tools copy animserv.exe and animserv.dll next to the fate.exe
- Run animserv.exe, if you see "server started" you're good to go

Note: this starts fate.exe and injects animserv.dll into it, you probably don't want to have Steam running during this

Using the Blender script:
- Export the model from Noesis and import it into Blender
- Save the Blender file somewhere
- Copy source model .mdl file next to the Blender file
- Copy .mtb files for the model next to the Blender file
- Open the import_mtb.py script in Blender and edit the config at the top
- You should change at least mdlPath and mtbPath
- Run the script

https://imgur.com/a/0UdgSOC

I'm sure this animation format is used in other games (header 80AE), animserv should be universal but the Blender script will need adjustments for different model types.
wansf
veteran
Posts: 99
Joined: Sun Mar 11, 2018 10:56 am
Has thanked: 7 times
Been thanked: 8 times

Re: Fate/Extella and Fate/Extella Link .mtb animations

Post by wansf »

could you make a easier way to import mtb like other blender script? im retarded to use this :(
Demonslayerx8
veteran
Posts: 99
Joined: Mon Jul 06, 2015 12:48 am
Has thanked: 26 times
Been thanked: 24 times

Re: Fate/Extella and Fate/Extella Link .mtb animations

Post by Demonslayerx8 »

I'm with wansf, I've followed the steps properly, but I'm having no luck with it in Blender 2.81
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4291
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1151 times
Been thanked: 2244 times

Re: Fate/Extella and Fate/Extella Link .mtb animations

Post by shakotay2 »

Kotcrab wrote: Thu Apr 30, 2020 10:47 pm I figured out a way to extract Fate/Extella and Fate/Extella Link animations from .mtb files. The process is a bit complicated but basically it uses the game itself to decode frames. This was simpler to do than figuring out the format details.
Very cool idea! 8)
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
Kotcrab
beginner
Posts: 31
Joined: Fri Jul 28, 2017 10:36 am
Been thanked: 23 times

Re: Fate/Extella and Fate/Extella Link .mtb animations

Post by Kotcrab »

demonslayerx8 wrote: Fri Oct 09, 2020 5:49 am I'm with wansf, I've followed the steps properly, but I'm having no luck with it in Blender 2.81
This is as simple as its gets. Feel free to post more details if you have a specific problem.
shakotay2 wrote: Fri Oct 09, 2020 12:38 pm Very cool idea! 8)
Thanks!
kurokozeref
beginner
Posts: 22
Joined: Tue Mar 13, 2018 6:56 pm
Has thanked: 5 times
Been thanked: 1 time

Re: Fate/Extella and Fate/Extella Link .mtb animations

Post by kurokozeref »

I failed thousand time trying to run script
i already open animserv as background here the command inside
animserv starting
found animation decoder at 0xc626c0
server started using port 54217
when i run the script and this come out
*accepted connection
i changed the script path and run , and it gimme this
Python script failed, check the message in the system console
Traceback (most recent call last):
File "C:\Users\Flyers\Desktop\source model\untitled.blend\import_mtb.py", line 212, in <module>
importMtb()
File "C:\Users\Flyers\Desktop\source model\untitled.blend\import_mtb.py", line 48, in importMtb
bpy.data.objects[blenderSkeletonTarget].animation_data_clear()
KeyError: 'bpy_prop_collection[key]: key "Armature" not found'
And another one
File "C:\Users\Flyers\Desktop\source model\untitled.blend\import_mtb.py", line 212, in <module>
importMtb()
File "C:\Users\Flyers\Desktop\source model\untitled.blend\import_mtb.py", line 48, in importMtb
and yes i create a folder called motion and put mtb in
Kotcrab
beginner
Posts: 31
Joined: Fri Jul 28, 2017 10:36 am
Been thanked: 23 times

Re: Fate/Extella and Fate/Extella Link .mtb animations

Post by Kotcrab »

Here is the problem:

Code: Select all

key "Armature" not found'
Your Blender scene doesn't have "Armature" object so either edit script config to use correct object or rename it in Blender to be "Armature". Maybe your exported model is missing skeleton, in that case re-export it from Noesis. I recommend using .dae format for export.
kurokozeref
beginner
Posts: 22
Joined: Tue Mar 13, 2018 6:56 pm
Has thanked: 5 times
Been thanked: 1 time

Re: Fate/Extella and Fate/Extella Link .mtb animations

Post by kurokozeref »

Kotcrab wrote: Mon Oct 12, 2020 6:03 pm Here is the problem:

Code: Select all

key "Armature" not found'
Your Blender scene doesn't have "Armature" object so either edit script config to use correct object or rename it in Blender to be "Armature". Maybe your exported model is missing skeleton, in that case re-export it from Noesis. I recommend using .dae format for export.
Thank you i export as fbx i didnt realise the armature name has changed to N_ALL
and it's work now
yourreason
ultra-n00b
Posts: 3
Joined: Thu Jul 16, 2020 9:15 am

Re: Fate/Extella and Fate/Extella Link .mtb animations

Post by yourreason »

Good work, but there one problem (may be only mine).
Isn't it supposed to be that the model is fixed in the Z axis and moves only along Y, X
Here an example: https://imgur.com/a/bPLqU9V
Is there any way to fix this? Or is it the way it should be?
Post Reply