A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
  
 
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE General Discussion »[Utility] Bonobo - Halo 2/3/ODST Animation Extraction

Page 2 of 5 Go to page: · 1 · [2] · 3 · 4 · 5 · Prev · Next
Author Topic: [Utility] Bonobo - Halo 2/3/ODST Animation Extraction (141 messages, Page 2 of 5)
Moderators: Dennis

LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 02:18 PM    Msg. 36 of 141       
Quote: --- Original message by: Alpu
Yeah so im trying to import the .Jma animations to the model with that script yeah. this is what i got in the maxscript listener this time. i tried to work with the Halo 2 hunter

*snip*


Not sure what to tell you, I just tried that exact same animation in the same version of 3ds max and it worked. Have you restarted 3ds max since you first got the error? Sometimes when the script errors out it gets a little weird...


Alpu
Joined: May 21, 2019


Posted: May 21, 2019 02:28 PM    Msg. 37 of 141       
Yeah i did restart the program, my pc and also reinstalled the whole 3ds max 2019. but no luck. i remember something like this happening to me earlier too tough. i was ripping Ds3 and i got a script from a friend but it had this kind of problems too. idk whats causing it on my end :/ thanks for all the help anyways.


LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 02:37 PM    Msg. 38 of 141       
Quote: --- Original message by: Alpu
Yeah i did restart the program, my pc and also reinstalled the whole 3ds max 2019. but no luck. i remember something like this happening to me earlier too tough. i was ripping Ds3 and i got a script from a friend but it had this kind of problems too. idk whats causing it on my end :/ thanks for all the help anyways.


Wait a minute, I just noticed something in your maxscript listener dump. It seems the exported animations have a "," instead of "." in the decimal point values. What country are you in?

I'll look into fixing that...But in the meantime to be sure can you open one of the extracted animation files and mass replace all "," with "." then try importing?
Edited by LaikaGlove on May 21, 2019 at 02:38 PM


Alpu
Joined: May 21, 2019


Posted: May 21, 2019 02:42 PM    Msg. 39 of 141       
Yeah im finnish so in finland. ill try to fix that myself right now :D


YUP, it was literally just "," instead of "." and i replaced them in notepad and now it works. Thank you so much for all the help, and this amazing tool. i can finally get into extracting these.
Edited by Alpu on May 21, 2019 at 02:49 PM


Kavawuvi
Joined: May 24, 2018

Brrrrrrring Ha!


Posted: May 21, 2019 02:49 PM    Msg. 40 of 141       
Quote: --- Original message by: DeadHamster
Laika- I'm sure you intend to release the source, but along with what Vaporeon and Michelle have said, I'm gonna recommend an archived source be uploaded somewhere just as a backup. Nobody is going to make a fork while you're still active, and it'll ensure that if you suddenly disappear as quickly as you've reappeared, then we aren't stuck here with a partially-broken tool that could potentially do amazing things. Also, there's a lot of smart people here. Someone could definitely help out and figure some things out.

In the end you're well within your rights to tell all of us to f*** off and keep the source to yourself. This is a huge gift to the community and we have to be grateful for it. But the standard now is that everything is released open-sourced, unprotected in as accessible a format as possible.


If you don't want to do that now, maybe send Masterz an archive of the source? He doesn't know how to do anything with it, the rest of the community knows it exists with him, and you don't have to worry about someone making a fork and messing everything up while you're still around.

Something I do with many of my incomplete projects now is that, if I don't feel the source is ready to be posted, I'll regularly send copies of the source code (usually on every day I work on it) to a friend who lives far away from me. I've been doing this with Chimera, Dark Circlet, Invader, Salamander, and other projects.

If I suddenly disappear off the Internet for a long period of time (e.g. I get hit by a bus, Trump drafts me into the military, my house burns down, etc.), they will release the unfinished source code with the hope that someone else will finish my work. Also, if I lose the source, they have those copies I've been sending them.

Edited by Kavawuvi on May 21, 2019 at 02:51 PM


LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 02:54 PM    Msg. 41 of 141       
Quote: --- Original message by: Alpu

Yeah im finnish so in finland. ill try to fix that myself right now :D


YUP, it was literally just "," instead of "." and i replaced them in notepad and now it works. Thank you so much for all the help, and this amazing tool. i can finally get into extracting these.
Edited by Alpu on May 21, 2019 at 02:49 PM


Glad it's working.

Not sure if you want to do this, but you can change the decimal symbol in windows under Control Panel -> Clock and Region -> Change date, time, or number formats -> Additional Settings -> Decimal Symbol

That will change it in everything though, so do at your own risk.
Edited by LaikaGlove on May 21, 2019 at 02:58 PM


epicplayer
Joined: May 21, 2019


Posted: May 21, 2019 03:11 PM    Msg. 42 of 141       
Quote: --- Original message by: LaikaGlove

I think service pack 1 is required for .Net Framework 4.6 so that's good. Can you try running the Microsoft .NET Framework Repair Tool: http://go.microsoft.com/fwlink/?linkid=246062

You said .NET Framework 4.6 didn't install because you had 4.6.2 which should be backwards compatible with 4.6. Other than that I'm not sure, you may want to google around for people with similar issues running .net applications on windows 7.


Used the repair tool, nothing's helped yet.


VideoMixer
Joined: Jan 30, 2015


Posted: May 21, 2019 03:14 PM    Msg. 43 of 141       
Hard to believe this tool is actually out for the public to use. Thank you so much for releasing it! Works like a charm, so far!


Alpu
Joined: May 21, 2019


Posted: May 21, 2019 03:16 PM    Msg. 44 of 141       
Ah i didnt even know that i can fix it this way, thank you ONCE again :D


epicplayer
Joined: May 21, 2019


Posted: May 21, 2019 04:45 PM    Msg. 45 of 141       
Turns out my antivirus deleted a crucial file when installing the .net stuff...

Anyways, I was looking at some Halo 3 animations and noticed that if the animation has bone-scaling in it then the bones go a bit crazy with their size (Most noticable on the flood transformation anims).


LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 05:45 PM    Msg. 46 of 141       
Quote: --- Original message by: epicplayer
Turns out my antivirus deleted a crucial file when installing the .net stuff...

Anyways, I was looking at some Halo 3 animations and noticed that if the animation has bone-scaling in it then the bones go a bit crazy with their size (Most noticable on the flood transformation anims).


Nice, glad you fixed it.

About the scaling, one thing I noticed is that because Adjutant (or rather the amf2 importer script for it) imports everything as bones, you'll sometimes encounter weird issues like that because all bones influence each other.

If you import the open/close animations for the sparrow for instance you'll see that the hull kind of scales/moves with the cockpit. If you export the sparrow model as jms and reimport it with nodes instead of bones, you don't see that issue happening.

This might be what's happening with the flood animations as well, however I'm not sure what the solution would be...
Edited by LaikaGlove on May 21, 2019 at 06:07 PM


DeadHamster
Joined: Jun 8, 2014

https://discord.gg/Neu4EJM


Posted: May 21, 2019 06:22 PM    Msg. 47 of 141       
Can only open Halo 2 and Halo ODST maps, Cannot open maps from Halo 3.


Halo 2 extracts fine, Halo ODST gives this error;




----5/21/2019 5:53:12 PM----
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
at System.IO.BinaryReader.ReadInt32()
at Blam.IO.EndianReader.ReadInt32()
at Blam.Cache.CacheHeader.Read(CacheReader reader)
at Blam.Cache.CacheFile.ReadHeader(CacheReader reader)
at Blam.Cache.CacheFile.Read(CacheReader reader)
at Blam.Games.Game.LoadCacheFile(String fileName)
at Blam.Games.Game.LoadResourceCacheFiles()
at Blam.Games.Game.InitializeCacheFile(String fileName)
at Bonobo.ViewModel.MainViewModel.OpenFile()
at Bonobo.RelayCommand.Execute(Object parameter)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)


LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 06:32 PM    Msg. 48 of 141       
Quote: --- Original message by: DeadHamster
Can only open Halo 2 and Halo ODST maps, Cannot open maps from Halo 3.


Halo 2 extracts fine, Halo ODST gives this error;




----5/21/2019 5:53:12 PM----
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
at System.IO.BinaryReader.ReadInt32()
at Blam.IO.EndianReader.ReadInt32()
at Blam.Cache.CacheHeader.Read(CacheReader reader)
at Blam.Cache.CacheFile.ReadHeader(CacheReader reader)
at Blam.Cache.CacheFile.Read(CacheReader reader)
at Blam.Games.Game.LoadCacheFile(String fileName)
at Blam.Games.Game.LoadResourceCacheFiles()
at Blam.Games.Game.InitializeCacheFile(String fileName)
at Bonobo.ViewModel.MainViewModel.OpenFile()
at Bonobo.RelayCommand.Execute(Object parameter)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)


Which map are you trying to open? Do you have campaign.map, mainmenu.map, and shared.map all in the same directory as the map you're trying to open?


DeadHamster
Joined: Jun 8, 2014

https://discord.gg/Neu4EJM


Posted: May 21, 2019 06:41 PM    Msg. 49 of 141       
On further inspection for ODST I can extract some but not all. Jackal Hunter Marine are no good, Ghost Phantom Olifaunt Wraith and Banshee are fine, mongoose is not. Shotgun is fine, Needler is not. Always the "same" error.


For Halo 3 it just doesn't open the map or display anything.


Edited by DeadHamster on May 21, 2019 at 06:42 PM


LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 06:57 PM    Msg. 50 of 141       
Quote: --- Original message by: DeadHamster

On further inspection for ODST I can extract some but not all. Jackal Hunter Marine are no good, Ghost Phantom Olifaunt Wraith and Banshee are fine, mongoose is not. Shotgun is fine, Needler is not. Always the "same" error.


For Halo 3 it just doesn't open the map or display anything.

https://i.imgur.com/9Irhlf0.png
Edited by DeadHamster on May 21, 2019 at 06:42 PM


I'm looking into the issue with ODST right now, for Halo 3 are you trying to open campaign.map or shared.map directly or is it a regular map? If so which one?

If you're trying to open campaign or shared directly then you're going to have a bad time because there's no tag index for those, they're just resource cache's.
Edited by LaikaGlove on May 21, 2019 at 06:57 PM


DeadHamster
Joined: Jun 8, 2014

https://discord.gg/Neu4EJM


Posted: May 21, 2019 07:02 PM    Msg. 51 of 141       
Trying to open any of the maps posted in the screenshot above. None of them respond, the windows remain blank and no filepath shows up in the title bar.



LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 07:07 PM    Msg. 52 of 141       
Quote: --- Original message by: DeadHamster
Trying to open any of the maps posted in the screenshot above. None of them respond, the windows remain blank and no filepath shows up in the title bar.

<a href="https://i.imgur.com/TEAavRZ.png" target="_blank">https://i.imgur.com/TEAavRZ.png</a>


I just went through each map and opened them all successfully (except campaign and shared), perhaps your map files are corrupt?

In other news I've isolated the ODST issue, I'll publish a fix in the first post shortly after I do a bit more testing.

EDIT: Alright new download link posted in first post.
Edited by LaikaGlove on May 21, 2019 at 07:26 PM


DeadHamster
Joined: Jun 8, 2014

https://discord.gg/Neu4EJM


Posted: May 21, 2019 07:27 PM    Msg. 53 of 141       
Can confirm that after redownloading shared/mainmenu/singeplayer maps, the issue with Halo 3 is no longer existent and I can load those maps as well. Glad that I was able to catch something in ODST for you.


Bungie LLC
Joined: Dec 29, 2013

friendly neighborhood contrarian funposter


Posted: May 21, 2019 07:32 PM    Msg. 54 of 141       
Quote: --- Original message by: LaikaGlove

Nice, glad you fixed it.

About the scaling, one thing I noticed is that because Adjutant (or rather the amf2 importer script for it) imports everything as bones, you'll sometimes encounter weird issues like that because all bones influence each other.

If you import the open/close animations for the sparrow for instance you'll see that the hull kind of scales/moves with the cockpit. If you export the sparrow model as jms and reimport it with nodes instead of bones, you don't see that issue happening.

This might be what's happening with the flood animations as well, however I'm not sure what the solution would be...
Edited by LaikaGlove on May 21, 2019 at 06:07 PM


In regards to this issue, there's a solution: the AMF Importer from the last build of Adjutant was decrypted a few months back by Michelle, and a version of the importer was made to handle bones differently, by importing them as frames instead.

The maxscript(s) can be found here: https://github.com/gbMichelle/Halo_CE_Stuff/tree/master/Max%20Scripts


The Gravemind
Joined: Jul 26, 2016

I Am The Monument To All Your Sins


Posted: May 21, 2019 08:59 PM    Msg. 55 of 141       
Man I never thought this day would come. I refuse to believe i'm not dreaming.

Oh my sweet goodness: https://imgur.com/KVcH6xw

time to replace my crappy animations


Edited by The Gravemind on May 21, 2019 at 09:21 PM


DeadHamster
Joined: Jun 8, 2014

https://discord.gg/Neu4EJM


Posted: May 21, 2019 09:51 PM    Msg. 56 of 141       
I'm gonna go ahead and selfishly take the opportunity to interrupt and plug one of my own programs;


Fudd
was specifically designed to be used alongside Adjutant. It automates basic shader tag creation for Stock Halo 1, OpenSauce and Halo 2 Vista. So if anybody is using Bonobo with Adjutant to port content, it's worth at least checking out Fudd to see if it may help you streamline the process of creating shaders. Download

Now continuing your regularly scheduled program


LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 09:59 PM    Msg. 57 of 141       
So with people porting some content to CE, has anyone encountered the bug when you have a biped with > 40 bones?

This was always a major halo 1 engine limitation that I encountered back in the day and caused many headaches for me.


Tachikoma
Joined: Oct 13, 2018

Mobile Suit enthusiast


Posted: May 21, 2019 10:05 PM    Msg. 58 of 141       
The node limit was updated to 63 with patch 1.10


LaikaGlove
Joined: May 20, 2019


Posted: May 21, 2019 10:08 PM    Msg. 59 of 141       
Quote: --- Original message by: Tachikoma
The node limit was updated to 63 with patch 1.10


Is that right? I don't see that in the patch notes...

I encountered the bug in sapien while testing Bonobo, but obviously that was never patched.

There's another bug where if you have an IK point like the left hand marker for a gun, the child nodes are ignored so they kind of move around independently from the IK point. It's most noticeable on elites since they have long fingers.
Edited by LaikaGlove on May 21, 2019 at 10:11 PM


The Gravemind
Joined: Jul 26, 2016

I Am The Monument To All Your Sins


Posted: May 21, 2019 10:31 PM    Msg. 60 of 141       
Quote: --- Original message by: Tachikoma
There's another bug where if you have an IK point like the left hand marker for a gun, the child nodes are ignored so they kind of move around independently from the IK point. It's most noticeable on elites since they have long fingers.


Yeah I noticed the same problem with the elites.
Edited by The Gravemind on May 21, 2019 at 10:34 PM


epicplayer
Joined: May 21, 2019


Posted: May 22, 2019 08:31 AM    Msg. 61 of 141       
Quote: --- Original message by: LaikaGlove

If you export the sparrow model as jms and reimport it with nodes instead of bones, you don't see that issue happening.

This might be what's happening with the flood animations as well, however I'm not sure what the solution would be...

Edited by LaikaGlove on May 21, 2019 at 06:07 PM


I just exported a model as .jms from adjutant, but your jms import script isnt working when I try importing it to Max.

Once I select my jms model to be imported I get this error:
-- Unable to convert: Undefined to type: Integer


LaikaGlove
Joined: May 20, 2019


Posted: May 22, 2019 08:51 AM    Msg. 62 of 141       
Quote: --- Original message by: epicplayer
Quote: --- Original message by: LaikaGlove

If you export the sparrow model as jms and reimport it with nodes instead of bones, you don't see that issue happening.

This might be what's happening with the flood animations as well, however I'm not sure what the solution would be...

Edited by LaikaGlove on May 21, 2019 at 06:07 PM


I just exported a model as .jms from adjutant, but your jms import script isnt working when I try importing it to Max.

Once I select my jms model to be imported I get this error:
-- Unable to convert: Undefined to type: Integer


Like I told Alpu on the last page, Adjutant doesn't export jms correctly. I think it's mostly models with more than a single region that it screws up on. You're better off extracting to .amf, exporting from 3ds max with blitzkrieg/bluestreak, then using my script to import the resulting jms.

OR you could use the .amf importer Michelle fixed that Bungie LLC linked to in a post above if you're just trying to import with regular nodes instead of bones.


SBB_Michelle
Joined: Nov 4, 2015

This site brings me pain.


Posted: May 22, 2019 09:42 AM    Msg. 63 of 141       
Can confirm the node count upgrade.

Another worry though is that each node has its own set of matrices in memory, and objects only have so much memory to go around until they stop spawning because there isn't any space to put them in anymore. units being the heaviest on memory even without their nodes.

Remember to have some LODs where you removed the skinning from loads of bones. I haven't checked if that actually helps. But I know Bungie intended it to work that way.

Also, keep a check on the limit on animation data loaded in memory at a time. Too much data causes the game to just exception. A solution is compressing as many animations as possible. Luckily Halo's compression isn't that bad looking. Another solution is again removing nodes.

A lot of this is stuff I learned from having access to the old z-team h2 export tools.

A while ago I was working on a converter that directly converts amf to gbx models. I guess I should pick that up again sometime in the coming months.

Really though, use that amf importer that makes nodes/frames, the original amf importer does some broken things to bones, and you're better off not using it because of that.


epicplayer
Joined: May 21, 2019


Posted: May 22, 2019 06:59 PM    Msg. 64 of 141       
Not sure if it's just me but some animations don't seem to get exported at all. One example would be the Halo 3 elite flood's resurrect animation "combat:any:resurrect_front" which doesn't appear when exporting its animations.

EDIT Nevermind I'm just dumb and could only see the .jms animations.
Edited by epicplayer on May 22, 2019 at 07:00 PM


LaikaGlove
Joined: May 20, 2019


Posted: May 22, 2019 07:03 PM    Msg. 65 of 141       
Small update on implementing extraction for Halo Reach:

It looks like the raw animation data hasn't changed much in reach from what I can tell, so it looks like adding support should be fairly easy. The hardest (or most time consuming) part will likely be mapping out the changes to the animation tag definitions since it looks like there's been some major changes there.


epicplayer
Joined: May 21, 2019


Posted: May 22, 2019 07:06 PM    Msg. 66 of 141       
It seems like the .JMR animations can't be imported into Max, I get this error message:

-- Runtime error: animationRange cannot be set to a zero-length interval.

to be specific I'm importing the H3 Elite flood's "combat any grip" anim.

EDIT there also seems to be a problem with .JMT turning animations too, their root motion is messed up.
Edited by epicplayer on May 22, 2019 at 07:12 PM


LaikaGlove
Joined: May 20, 2019


Posted: May 22, 2019 07:21 PM    Msg. 67 of 141       
Quote: --- Original message by: epicplayer

It seems like the .JMR animations can't be imported into Max, I get this error message:

-- Runtime error: animationRange cannot be set to a zero-length interval.

to be specific I'm importing the H3 Elite flood's "combat any grip" anim.

EDIT there also seems to be a problem with .JMT turning animations too, their root motion is messed up.
Edited by epicplayer on May 22, 2019 at 07:12 PM

The problem with that grip animation is that there's only a single frame, which isn't possible in 3ds max. The Animation_Source_Importer script is subtracting 1 from the frame count on line 329 when it sets the frame interval. If you remove that subtraction that particular animation should work, but all animations will have an extra frame at the end when you import (not sure if that matters though).

There's no problem with the JMT animations from what I can see...


epicplayer
Joined: May 21, 2019


Posted: May 22, 2019 07:34 PM    Msg. 68 of 141       
Quote: --- Original message by: LaikaGlove

There's no problem with the JMT animations from what I can see...


It's definitly broken on the "turn and attack" animations for the flood as an example.


LaikaGlove
Joined: May 20, 2019


Posted: May 22, 2019 07:52 PM    Msg. 69 of 141       
Quote: --- Original message by: epicplayer
Quote: --- Original message by: LaikaGlove

There's no problem with the JMT animations from what I can see...


It's definitly broken on the "turn and attack" animations for the flood as an example.

Those animations use dx,dy,dyaw frame info, which is the same as the turn-left and turn-right animations. The turn-left and turn-right animations seem fine and their frame info is calculated in the same exact way, not sure why it would work on some but not others. Tell me if you see any other animations that are like that.

EDIT: I just compared my extracted flood combat elite's "combat rifle surprise_back" animations from Bonobo and CtrlAltDestr0y's h2 animation importer maxscript and they're exactly the same. I'm still not convinced there's an issue with them.
Edited by LaikaGlove on May 22, 2019 at 08:27 PM


DeadHamster
Joined: Jun 8, 2014

https://discord.gg/Neu4EJM


Posted: May 22, 2019 09:11 PM    Msg. 70 of 141       
-derp don't listen to hamster-


Edited by DeadHamster on May 22, 2019 at 11:18 PM

 
Page 2 of 5 Go to page: · 1 · [2] · 3 · 4 · 5 · Prev · Next

 
Previous Older Thread    Next newer Thread







Time: Sun September 15, 2019 1:47 PM 156 ms.
A Halo Maps Website