Hit stop

The hit stop feature posted on X, but despite setting the game speed, duration, and target to stop in TakenDamageSettings just like in the image below, neither the player nor the enemy receives a hit stop effect.

Could you please let me know if there is a correct way to use this feature?

Also, it seems that the duration of the hit stop can be changed per attack skill. How should I set this up?

Thank you in advance.

I cannot seem to replicate, the hit stop at 50% (and other %’s) worked in my situation:

Here is my setup:

Thank you for preparing the video.

However, it’s disappointing that the hit stop doesn’t seem to be triggered, likely because the speed is at 50%.
Besides attaching the TakenDamageSettings node to adjust hit stop speed and duration, is there anything else we should do?

You can set the hit stop to be stronger than 50%. It worked when I set it to 0% as well.

That was all I had to do, other than make sure the collision layers and masks were set accordingly for the HitArea and AttackArea.

Thank you for introducing the video. Just to confirm, is it okay if, for example, the player’s attack collision (AttackArea2D) is set to Layer 3 and the enemy’s damage collision (HitArea2D) is set to Mask 3? When the player’s attack hits the enemy, it transitions to a damage reaction, so there didn’t seem to be a problem. I tried setting “TakenDamageSettings” in that state, but hitstop still didn’t work. Please let me know if there are any collision settings or anything else I should check.

Yeah if it is working then that is the way it is detecting. I sometimes get confused if it’s the Attack detecting the Hit or the Hit detecting the Attack :sweat_smile:

Can you send your project to pgmmv-support@gotchagotcha.jp so we can look into why it’s not working in your specific project?

Thank you.
The project file has been sent to pgmmv-support@gotchagotcha.jp. Please check it.

I’d love to hear if you find any other incorrect usage of features besides hitstop. I’ve tried various ways to set conditions for when the attack collision hits and when it doesn’t, but it just doesn’t work.

Hito_T-san

Hello, we have reviewed the data you provided with our development team.

In the project you submitted, there were two major issues:

  1. When the attack animation (08_G_attack1) is triggered, the monitoring property of AttackArea2D is turned off.
    When monitoring is off, the node stops monitoring its own behavior, causing it to stop functioning.

  2. The collision layer and mask settings are incorrect.
    If you only need to fix this specific issue, changing the enemy’s HitArea2D to “Layer 2: Mask 3” and the player’s AttackArea2D to “Layer 3: Mask 2” will make it work.
    For more information on the concepts of collision layers and masks, please refer to the following article:

    マニュアル: 衝突の設定CollisionLayerとCollisionMask

Thank you very much.

With the implementation of points 1 and 2 that you provided, the hit stop is now functioning.

Currently, the hit stop feature is required on the player side. However, for enemies, since the animation of vibrating left and right upon taking damage must be played, we have been developing it without applying hit stop via TakenDamageSettings.

The state progression when an enemy takes damage only once and the player does nothing is as follows:
“Damage State 1” → After a certain time (0.4 seconds) → “Knockback State” → After a certain time (0.2 seconds) → “Blow Away State” → After a certain time (0.2 seconds) → “Ground Slam State” → After a certain time (0.2 seconds) → “Bounce” → After a certain time (0.2 seconds) → “Down” → After a certain time (0.2 seconds) → “Get Up” → “Idle”.

In the case of taking consecutive damage, if an attack hit occurs during “Damage State 1”, the flow transitions to “Damage State 2”.
Additionally, if an attack hit occurs during “Damage State 2”, “Knockback State”, “Blow Away State”, or “Bounce”, it transitions back to “Damage State 1”.

The contents of “Damage State 1” and “Damage State 2” are intended to set horizontal movement, vertical movement, and jump speed to zero, or to set movement-related configurations to zero using the “Object Movement” action of the executed action, so that the enemy stops completely in mid-air while playing the vibration animation.

However, no matter what I do, the knockback → blow away movement seems to be carried over while playing the damage animation, and it does not stop in mid-air for a certain period.

Ideally, there would be a checkbox in the TakenDamageSettings hit stop item like “Play Animation”, but…

Is there a way to use states to “stop for a certain period when attacked in mid-air”?

Thank you for your assistance.

If you simply want to stop the object in mid-air, why not set its vertical and horizontal movement speeds to 0%?

Even when setting the numerical value of the damaged state or the execution action, it looks like this, but the knockback movement does not stop. Is there a different setting somewhere?

I also tried changing the execution action to “Self” or similar, but the movement still does not stop.

Thank you for your help.

I see, so the migration has already started. In that case, adding a “Stop” action to the “Template Migration” execution action should have allowed you to halt the migration.

I tested by disabling “Template Movement,” but the movement did not stop.

Even with “Prevent Falling from Steps” checked, the same issue persists.

The character continues to move constantly, even when hit by an attack while being launched.

I see. I reviewed the screenshot you provided, but it appears gravity is not being ignored.

Please enable “Ignore gravity effects” and set “Gravity influence (%) to 0” to 100%.

I believe this will likely achieve the desired behavior.

Thank you!

It works exactly as hoped.