Я создал новый пустой объект игры в иерархии. Прикрепленный к нему коробке коллайдера:Как правильно использовать невидимые стены? Только после того, как игрок выходил за край рельефа для некоторых, он запускает
И изменил эти настройки на Box Collider:
я установил это центр свойство 0,0,0 и установить размер х = 500 г = 600 г = 500 Я также включил IsTrigger (флажок установлен).
И это Terrian детали:
Ширина 500 Длина 500 Высота 600
Когда я смотрю на окна сюжетного кажется, как коробка по краям местности, как это должно быть: (Может быть, в правой стороне есть некоторое пространство между коробом и местности?)
Это сценарий, прикрепленный к пустому GameObject (InvisibleWalls).
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BoxCollider : MonoBehaviour {
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
}
void OnTriggerExit(Collider c)
{
Destroy(c.gameObject);
}
}
Это только для испытания. я добавил точку разрыва на линии:
Destroy(c.gameObject);
Просто чтобы проверить, когда триггер события. Игрок (ThirdPersonController) идет со скоростью 10. Когда он добирается до края рельефа, событие не запускается. Игрок продолжает ходить в эфире еще несколько секунд, и только тогда событие запускается и останавливается на точке разрыва, но затем игрок уже выходит за пределы местности.
Что я хочу сделать, это после того, как игрок касаясь стены инициировать событие и сделать что-то, например держать игрока, идущего на месте, так что стена блокирует его. Но теперь это событие срабатывает, когда игрок выходит из области местности.
Как я могу получить положение краев местности автоматической? Я видел видео. Идея велика, но если я хочу построить стену точно на каждом краевом крае местности? Я имею в виду, например, построить 4 куба автоматически на каждом крае местности с определенной шириной и высотой, но как я могу получить расположение/положение и ширину рельефа местности? Вместо этого перетаскивая стены один самостоятельно. –
Для этого потребуется немного скриптов. Вам нужно будет получить размер ландшафта и использовать его для размещения коллайдеров. (Центр рельефа) +/- размерОфракция в направлении/2. Например, с площадью 500x500 с центром в (0,0,0) вы разместите коллайдер на (-250,0,0), (250,0,0), (0,0,250) и (0,0 , -250). – Allen