Страница 1 из 1

Анимации

СообщениеДобавлено: 26 апр 2017, 18:37
kekeksey
Как сделать, чтобы анимация применялась когда объект(персонаж) находится около объекта(стена).
Стена должна исчезать, анимация уже есть, как реализовать вызов анимации. Может быть через координаты или можно как-то ещё? С#

Re: Анимации

СообщениеДобавлено: 26 апр 2017, 19:40
NOVA
Может быть
If (Vector3.Distance(Этот объект, другой объект)<1.5f)
Если стен много, то не пойдёт.
Надо прописывать теги на объекты, вешать коллайдеры, рейкастить, а потом уже либо VoidOnColliderEnter либо этот же дистанс.

Re: Анимации

СообщениеДобавлено: 26 апр 2017, 19:45
Tolking
триггеры поставить где это нужно...

Re: Анимации

СообщениеДобавлено: 26 апр 2017, 19:50
NOVA
Tolking писал(а):триггеры поставить где это нужно...

Так-то да, только триггеров в сцене может быть навалом. И на каждый будет срабатывать анимация. А если учесть, что это стены. А стены непроходимые не только для физических объектов, а ещё вероятно и для света, то по-любому придётся вешать коллайдер, который не триггер.
Хотя можно залинковать пустышку и навесить на неё триггер. Если охота кривизны исполнения.

Re: Анимации

СообщениеДобавлено: 26 апр 2017, 21:17
Tolking
NOVA писал(а):Так-то да, только триггеров в сцене может быть навалом. И на каждый будет срабатывать анимация.

Это как-же надо згородить чтобы на каждый триггер срабатывала анимация? Вообще-то триггеры делают имменно для того чтобы выполнять то-что нужно. В один тригер попал - перешел на другой уровень, в другом урон получил, в третьем анимацию проиграл...

Re: Анимации

СообщениеДобавлено: 26 апр 2017, 21:35
NOVA
Tolking писал(а):
NOVA писал(а):Так-то да, только триггеров в сцене может быть навалом. И на каждый будет срабатывать анимация.

Это как-же надо згородить чтобы на каждый триггер срабатывала анимация? Вообще-то триггеры делают имменно для того чтобы выполнять то-что нужно. В один тригер попал - перешел на другой уровень, в другом урон получил, в третьем анимацию проиграл...

А ну да точно. Триггер то на стене висит. Вошёл игрок в стену и стена отправила игроку команду в духе. Анимация проиграйся.

Re: Анимации

СообщениеДобавлено: 28 апр 2017, 00:32
Meduza
kekeksey писал(а):Как сделать, чтобы анимация применялась когда объект(персонаж) находится около объекта(стена).
Стена должна исчезать, анимация уже есть, как реализовать вызов анимации. Может быть через координаты или можно как-то ещё? С#


Синтаксис:
Используется csharp
void OnTriggerEnter(Collider other)
                {
                        if (other.tag == "Player")
                        {
                                GetComponent<Animation>().Play(название анимации.name);
                        }
                }
 

Стена у тебя исчезает. Какая-то анимация. Для чего? Бог его знает. Чтобы удалить объект
Синтаксис:
Используется csharp
Destroy();

Сам вопрос задан некорректно. Для начала научись нормально составлять свои вопросы. Мы тут не гадалки. Советую 'хотя-бы' https://docs.unity3d.com/Manual/index.html почитать.

Re: Анимации

СообщениеДобавлено: 28 апр 2017, 09:41
kekeksey
NOVA писал(а):
Tolking писал(а):
NOVA писал(а):Так-то да, только триггеров в сцене может быть навалом. И на каждый будет срабатывать анимация.

Это как-же надо згородить чтобы на каждый триггер срабатывала анимация? Вообще-то триггеры делают имменно для того чтобы выполнять то-что нужно. В один тригер попал - перешел на другой уровень, в другом урон получил, в третьем анимацию проиграл...

А ну да точно. Триггер то на стене висит. Вошёл игрок в стену и стена отправила игроку команду в духе. Анимация проиграйся.
Спасибо большое)