Как задействовать функцию OnTriggerEnter() на нескольких игровых объектов?

Всем доброго дня. Есть игровой прототип, который копирует стиль игры CubeSurfer. Логика такая, - ты управляешь кубом, подбираешь как змейка фрукты определенные объекты, за счет чего количество кубов под ногами растет. На данный момент я пытаюсь сделать так, чтобы игрок, при столкновении с коллайдером объекта как раз таки создавал этот куб под "ногами". И вся проблема в том, что таких "собираемых" предмета в игре пока что три. Игрок может взять только и только один. На все остальные он не реагирует. То есть что ты возьмешь первый, второй или третий, код сработает, но дальше он его просто пропускает. С RigidBody пытался импровизировать, не получилось. Игрок просто улетает в стратосферу при соприкосновении с любым объектом, или создает куб в кубе, чего быть не должно. Помогите советом, как решить эту отнюдь не простую (или же простую) задачу. Вот полный код, наложенный на три игровых объекта:

spoiler

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerCollider : MonoBehaviour
{

[SerializeField] GameObject destroyIt;
[SerializeField] GameObject objToClone;
[SerializeField] Transform rootObjInScene;


Transform curParent;
Vector3 posOffset, posPlayer;
float distance = 1f;

private void OnTriggerStay(Collider player)
{
PlayerJumping();
CreateAnother();
Destroy(destroyIt);
}

public void PlayerJumping()
{
posPlayer = Vector3.up * distance;
Vector3 playerPos = rootObjInScene.position + posPlayer;
rootObjInScene.transform.position = playerPos;
}

public void Awake()
{
curParent = rootObjInScene;
posOffset = Vector3.down * distance;
}

public void CreateAnother()
{
Vector3 newPos = curParent.position + posOffset;
GameObject newObj = Instantiate(objToClone, newPos, Quaternion.identity, curParent);

curParent = newObj.transform;
}
}

  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
@igorloadgame
Смотри при соприкосновении триггеров поднимай самого человечка (такой был в самой игре как у вас не знаю) и массив кубов и создавайте копию куба с самого низу, а при потере куба отнимай куб и опускай человечка и массив кубов
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы