Jump to content

Animation causes black screen (no crash) - camera issue?


Hoamaii

Recommended Posts

Hi guys,

 

Working on a mod using Vanilla anims, I encountered a strange issue. Most anims work just fine and creating new idles does too except one:

 

I've been trying to use the CoupleHolding animations which only play in game in the Intro quest (part of a package).

 

- If I use the Furniture and activate it (in sync with another actor), my game still renders but I just get a fast screen swirl and return to MT idle - basically nothing much happens other than causing nausea.

 

- If I create custom idles and try to call them from a script, my screen turns black. The game keeps playing, I can hear the sounds keys make when responding (opening my Pipboy or jumping for instance) and task manager shows the game is still running - but screen remains black nonetheless and I have to force quit.

 

I'm guessing these animations may not have a camera attached which may (or not?) explain these two issues.

 

Anybody knows how to force attach a camera to an .hkx file?

 

Many thanks in advance :).

Link to comment
Share on other sites

You're right, now that you mention it, it does sound a bit like that - on my second test, it even triggered the loading screen (just black screen with the little green icon playing at the bottom right) but got stuck there.

 

I'm fairly at ease with manipulating animations in the CK and with scripts, but my knowledge of behavior files, subgraphs and hard coded stuff is very limited to say the least. These custom idles play perfectly fine in the CK (in the actors render window or the idle markers tab), but they're probably part of a complex scene in the opening quest where we have very little to no control of our character.

 

I suspect I'm dealing with several hard-coded issues here, camera is probably one (judging by how trying to activate the furniture version of it flips the camera around wildly) and FadeOutGame is very likely another one, but that's probably not all. In the CK, it's listed in the FurnitureFull along with the BarberShop one. And the Vanilla furniture marker for it doesn't even show a furnitureMarkerNode - very little information in Nifskope for F04's animations compared with Skyrim.

 

I see you've worked with Flipdeezy on some similar mods to the one I'm working on (he used one of my Skyrim mods' assets for one of his SSE mods - small world!..), I sure appreciate your help, Steve 40!.. Thanks!

Link to comment
Share on other sites

Well, I tried to force the game to Fade In again or force target the camera on player thru script, checked the SubGraphs data in the CK (these animations are natively set to 3rd person for the HumanRace and my script does ForceThirdPerson) - but haven't got any better luck so far.

 

The only difference is now it switches directly to the loading screen (so I guess force fading in with Game.FadeOutGame had some effect) - my Papyrus log briefly shows "VM freezing" though, immediately followed by "Reverting Game" and "Loading Game" before displaying hundreds of the usual warnings from Vanilla scripts, so I guess something in these animations forces the game to restart, but I can't figure out what because they do play perfectly in the CK.

 

I'm sort of short of ideas what to try next... Anybody has any suggestion?

Link to comment
Share on other sites

Progress at last!..

This animation "scene" comes in a set of 5 seperate .hkx files which I've precisely timed to play in a rather fluid move - when I play each of them separately, they all work in game except the "enter" idle, which is an "EnterFromStand" - I've set it to dyn_Activation which usually starts fine with "PlayIdle" in any other type of anim, this one doesn't maybe because it was initially designed for a Furniture use (just a thought - because it plays fine in the CK as an idle). This "EnterFromStand" anim doesn't cause any issue in game anyway, it just doesn't play then the actor plays the other idles in turn as scripted.

So the game freezing and restarting is caused by something else than the animation itself. Since it's meant to be played simultaneously by two actors (but it is not a paired anim), I use "Game.FindClosestActorFromRef" to target a nearby actor, position him next to the player and get him/her to play another set of 5 idles in the same time. Though my script compiles fine and my Papyrus log shows no error, I'm thinking I'm missing something. I've noticed that in the Vanilla game, the actors which play this animation in a package are set as "Ghost" - perhaps I should cast "SetGhost" to my actors but I have no idea what this does, or what effect it may have when used on the player. Anybody can tell me?

 

Other thoughts is I may also need to "setRestrained" my second actor or maybe disable its AI for its idles to play properly together with the player's. Not sure that's enough to explain the game freezing and restarting - but now I'm wondering if I don't have a Havok issue there too.

 

I'll try a few things tomorrow and post my script if I get stuck again.

 

Any other suggestion or input very welcome!.. Thanks :).

Link to comment
Share on other sites

Oooh darn!.. after testing all idles and functions one by one, it turns out that at least one of my issues was in the least suspected function of all:

 

"Game.FindClosestActorFromRef(Game.GetPlayer(), 512.0)" systematically returns the Player itself and NO other actor, however close!.. :wallbash: So basically, the game was trying to get the player to play 2 different sets of idles with itself... maybe enough to freeze the game...

 

That sort of baffles me, I've used that function a lot in Skyrim and it was working perfectly fine...

Link to comment
Share on other sites

Alright, in case it may help anyone else, this is what I've sorted out so far:

 

1 - calling MoveTo(...) on the Player will almost systematically cause the game to Fade Out - so that may have been one of my initial issues.

2 - FindClosestActor(...) or FindClosestActorFromRef(Game.GetPlayer(), radius) will systematically return the player - second issue. I've started a new thread on this one as I'm trying to find solutions.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...