Przerwanie animacji, po zakończeniu interakcji.

Programowanie w Unity.

Przerwanie animacji, po zakończeniu interakcji.

Postprzez batyskaf » 07 Lut 2021, 15:02

Zdecydowałem się zrobić swoją pierwszą grę i jestem zupełnie zielony w programowaniu.

Stworzyłem dla NPC skrypt, który odwołuje się do obiektu - atackCheck i jego promienia, gdy Player wejdzie w jego zasięg, odpala się animacja ataku. Co zrobić, by animacja wróciła do poprzedniej, gdy Player opuści promień obiektu atackCheck?


Kod: Zaznacz wszystko
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NPC1atack : MonoBehaviour
{

    public Transform atackCheck;
    public float atackCheckRadius;
    public LayerMask WhatIsAtack;
    private bool atack;

    private Animator anim;

    void Start()
    {
        anim = GetComponent<Animator>();
     }

    private void FixedUpdate()
    {
        atack = Physics2D.OverlapCircle(atackCheck.position, atackCheckRadius, WhatIsAtack);
    }

    void Update()
    {

        if (atack)
        anim.SetBool("Atack", atack);
   
    }

}
batyskaf
 
Posty: 4
Rejestracja: 07 Lut 2021, 14:51
Has thanked: 0 time
Been thanked: 0 time

Re: Przerwanie animacji, po zakończeniu interakcji.

Postprzez Ether_141 » 19 Lut 2021, 02:17

To już kwestia połączeń w animatorze. W momencie jak NPC wyjdzie z zasięgu obiektu attackCheck to wtedy ustawiasz tego boola w animatorze na false i już w samym animatorze robisz połączenie do tej wyjściowej animacji.
Awatar użytkownika
Ether_141
 
Posty: 529
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time


Wróć do Skrypty

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 5 gości

cron