Напиши скрипт: Скрипт где ты в меню, выбираешь персонажа, после напиши на этом персонаже технику боя, в которой будут анимации и с третего удара у противника будет включатся Ragdoll.
После напиши скрипт на 4 атака за этого же персонажа, они также будут с анимациями и наносить урон, атаки будут запускатся на кнопки 1-4 1 атака на кнопку 1, вторая на 2, третья на 3, четвертая на 4
Также сделай ульту: по нажатию на G у игрока будет включатся анимация, и будут новые 4 атаки с уроном и анимациями. Ульта будет длится 1 с половиной минуту.
csharp
using UnityEngine;
public class CharacterController : MonoBehaviour
{
private Animator animator;
private bool isUltActive;
private void Start()
{
animator = GetComponent<Animator>();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Alpha1))
{
Attack(1);
}
else if (Input.GetKeyDown(KeyCode.Alpha2))
{
Attack(2);
}
else if (Input.GetKeyDown(KeyCode.Alpha3))
{
Attack(3);
}
else if (Input.GetKeyDown(KeyCode.Alpha4))
{
Attack(4);
}
else if (Input.GetKeyDown(KeyCode.G))
{
ActivateUltimate();
}
}
private void Attack(int index)
{
if (animator.GetCurrentAnimatorStateInfo(0).IsName("Idle") && !isUltActive)
{
animator.SetInteger("AttackIndex", index);
animator.SetTrigger("Attack");
}
}
private void ActivateUltimate()
{
if (animator.GetCurrentAnimatorStateInfo(0).IsName("Idle") && !isUltActive)
{
animator.SetBool("IsUltActive", true);
animator.SetTrigger("Ultimate");
Invoke("DeactivateUltimate", 90f);
}
}
private void DeactivateUltimate()
{
animator.SetBool("IsUltActive", false);
isUltActive = false;
}
public void EnableRagdoll()
{
// Включить рэгдолл для противника
}
}
Для анимации атак и ульты мы будем использовать аниматор в Unity. Создадим необходимые анимации для персонажа, а именно: Idle (покой), Attack1, Attack2, Attack3, Attack4 и Ultimate. Затем создадим переходы между этими анимациями, указав необходимые условия и транзиции.
Теперь, при использовании данного скрипта, когда игрок нажимает клавиши 1-4, мы выполняем соответствующую атаку, если персонаж находится в состоянии Idle и ульта не активна. При нажатии клавиши G мы активируем ульту, проигрываем анимацию Ultimate и запускаем новый набор атак.
Чтобы активировать рэгдолл у противника после третьей атаки, необходимо добавить в анимацию третьей атаки соответствующий кадр, на котором мы вызываем метод EnableRagdoll() из скрипта противника.
csharp
using UnityEngine;
public class EnemyController : MonoBehaviour
{
public void EnableRagdoll()
{
// Включить рэгдолл для противника
}
}
Теперь у нас есть скрипт, позволяющий управлять персонажем, выполнять атаки, использовать ульту и активировать рэгдолл у противника. Просто добавьте скрипт CharacterController к персонажу и укажите необходимые анимации и условия в аниматоре Unity.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет