Мне интересно, как предотвратить проигрывание плеера определенной текстуры на территории Unity. Я создал скрипт, который определяет, на какой текстуре находится игрок. Для движения я использую скорость твердого тела, поэтому у меня нет проблем с коллайдерами. Заранее спасибо :)C# Unity - Предотвращение проигрывателя от стояния на определенной текстуре ландшафта
0
A
ответ
0
Я хотел бы сделать что-то вроде этого:
Во-первых, создать глобальную переменную lastPos:
Vector3 lastPos;
Затем установите его на игроков текущей позиции на Start:
void Start() {
lastPos = player.gameObject.transform.position;
}
Затем в редакторе установите последнюю запятую в текущую позицию игроков. Затем используйте оператор if, чтобы проверить, находится ли проигрыватель на недопустимой текстуре. Если игрок находится на инвалидной текстуре, установить его положение обратно lastPos:
void Update() {
if (playerOnInvalidTexture) {
player.gameObject.transform.position = lastPos;
}
lastPos = player.gameObject.transform.position;
}
По сути это ставит игрока в действительном положении, когда на инвалидной текстуре.
Не работает ... Это просто глючит. Подождите, не должен ли я сначала проверить, а затем установить lastPost? –
Да, что сделал эту работу, пришлось установить lastPos после проверки, спасибо: D –
Ах да, вы правы, обновляя ответ, чтобы отразить это *. Добро пожаловать, удачи! – KenSchnetz