наслаивание коллайдеров
|
|
borisyashin | Дата: Пятница, 30 Июня 2017, 10:12 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Нужно, чтобы была платформа, через которую снизу, сбоку... можно перепрыгнуть, но сверху она удерживает. теперь нужно, чтобы для игрока это работало, как я описал, а враг просто проходит по ней. Насколько допустимо сделать в платформе 2 объекта с разными слоями, оба имеют коллайдер. первый слой взаимодействует лишь с игроко - он меняет isTrigger на тру/фолс. Второй слой лишь с врагами - у него чисто коллайдер без тригера.
сейчас ипользую что-то вроде этого C#Выделить код
public class throughPlatform : MonoBehaviour { private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.name == "foot") GetComponent<Collider2D>().isTrigger = false; if (collision.gameObject.layer == 9) { collision.GetComponent<Rigidbody2D>().gravityScale = 0; collision.GetComponent<Rigidbody2D>().velocity = Vector2.zero; } } private void OnTriggerExit2D(Collider2D collision) { if (collision.gameObject.name == "foot") GetComponent<Collider2D>().isTrigger = true; if (collision.gameObject.layer == 9) { collision.GetComponent<Rigidbody2D>().gravityScale = 1; } } да layer.toString() почему-то не работает, позже буду разбираться
плюс, если оба _враг уже на платформе, а игрок нет: плаформа все равно должна работать, как я описал. P.S. изменить платформу добавлением объектов в unity не предлагайте, нужно, чтобы все проходило в tiled,а в unity лишь добавить скрипт, мзменить коллайдер на триггер
|
|
| |
EchoIT | Дата: Пятница, 30 Июня 2017, 10:20 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| borisyashin, вообще можно менять состояние платформы в зависимости от того, выше неё игрок или ниже. Остальное в целом можно так сделать, как вы написали.
Долгожданный анонсик: State of War
|
|
| |
borisyashin | Дата: Пятница, 30 Июня 2017, 12:10 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Ну, так, допустимо сделать два коллайдера в одном месте ? Враги лишь с одним взаимодействуют - в project setting - physic2D поставить. тогда для врагов вообще ничего писать не нужно. Так-то скорей всего на мелком платформере сработает, а насколько рационально это делать не понятно
Сообщение отредактировал borisyashin - Пятница, 30 Июня 2017, 12:13 |
|
| |
EchoIT | Дата: Пятница, 30 Июня 2017, 12:40 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| borisyashin, допустимо, почему нет. В более сложной логике с этим могли бы быть проблемы, но в вашей ситуации я их не вижу.
Долгожданный анонсик: State of War
|
|
| |