[0x1298FEDD] Error?

[0x1298FEDD] Error?

Hi.
I've got this message while characterproxy integration.
Itriedclimbing a rock-shapedrigidbody and linearVelocity seemed not bad.

-------------------------------------------------------------

.\\Collide\\Mopp\\Machine\\hkpMoppAabbCastVirtualMachine.cpp(521): [0x1298FEDD] Error : Unknown command - This mopp data has been corrupted (check for memory trashing), or an hkpMoppBvTreeShape has been pointed at invalid mopp data.

-------------------------------------------------------------

Can you explain which causethis error?
Thanks.

3 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.

I have another question.Does Havok use internal timer for calculating velocity?I update characterproxy occasionally, not every frame.I accumulate time slices (=elapsed Time) and manually update by loop.For example.--------------------------------------------------------------------------------------void Integrate(float elapsedTime){ m_elapsedTime += elapsedTime; if (NeedIntegrate() == false) return; for (int i = 0; i < m_elapsedTime / 0.05f; ++i) { input->m_velocity = m_characterProxy->getLinearVelocity(); <----------- input->m_position = m_characterProxy->getPosition(); m_characterContext->update(input, output); m_characterProxy->setLinearVelocity(output->m_velocity); m_characterProxy->integrate(stepInfo, m_input->characterGravity); }}--------------------------------------------------------------------------------------But if "m_elapsedTime" is long enough "m_characterProxy->getLinearVelocity()" value is very very fast!(velocity's vector length is almost infinity.)So I guess there is a internal timer for calculating velocity instead of stepInfo. Isn't it??

Hey sanbyme,

The error that you're encountering is due to corrupt moppcode. As the error mentions, this can be caused by the code either being generated/used incorrectly (ie: being built for a shape that it isn't used with at runtime), or the code's memory is being corrupted by something else in the runtime. A few questions:

  1. How are you building your hkpMoppBvTreeShape?
  2. Are you generating it in your runtime, or loading it in from a
    serialized file? If it's the later, you might want to make sure you're
    serializing it properly, and you might initially want to try building it
    in the runtime immediately before it's being used.

I'd also recommend trying to generate and use your mopp shape within the existing 'MoppDemo' demo code just to see if there might be a memory corruption issue at play.

As far as the character proxy issue goes, there's no internal timer that would be doing anything behind the scenes... the character proxy simply tracks its own velocity and updates this by solving its desired input velocity against its contact manifold 'constraint' planes. It's hard for me to tell in looking at your code, but are you ever zeroing-out 'm_elapsedTime'? Are you setting up your 'stepInfo' to be what looks like should be (in this case) .05f?

Chris

Developer Support Engineer
Havok
www.havok.com

Connectez-vous pour laisser un commentaire.