Глаза, которые следят за игроком

Общие вопросы о Unity3D

Глаза, которые следят за игроком

Сообщение HolleWrold 20 апр 2021, 20:01

Здравствуйте. Есть лицо персонажа, есть глаза (белые круги), есть зрачки (черные круги) и есть персонаж, который движется с разной скоростью вокруг этого лица. Зрачки должны следить за перемещением персонажа. Почти все сделал, но есть загвоздка в том, что не могу понять как запретить выходить за определенный радиус от центра и при этом все равно двигаться. Пока что только вот такой скрипт сделал:
public float speed; // скорость движения зрачков
public float distance; // дистанция от центра

private Transform playerTarget; // персонаж, за которым будут следить зрачки
public Transform center;

void Start()
{
playerTarget = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
}

void Update()
{
if (Vector2.Distance(transform.position, center.position) < distance) // если зрачки находятся в радиусе глаз - то они следуют за персонажем
{
transform.position = Vector2.MoveTowards(transform.position, playerTarget.position, speed * Time.deltaTime);
}
else
{
а тут я хз =((
}

}
HolleWrold
UNец
 
Сообщения: 17
Зарегистрирован: 20 июн 2020, 12:09

Re: Глаза, которые следят за игроком

Сообщение waruiyume 20 апр 2021, 20:46

Vector3.ClampMagnitude
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Глаза, которые следят за игроком

Сообщение HolleWrold 20 апр 2021, 22:19

waruiyume писал(а):Vector3.ClampMagnitude


Огромное спасибо! Все получилось)
HolleWrold
UNец
 
Сообщения: 17
Зарегистрирован: 20 июн 2020, 12:09


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 10