| 
				
				наслаивание коллайдеров
				 | 
 | 
| 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
 |  
| 
 | 
 |    |