Как создать боксовые коллайдеры в Unity, которые позволяют четырем объектам исчезать при столкновении 4 объектов и одного нового объекта в середине - PullRequest
0 голосов
/ 07 ноября 2019

Я очень новичок в Unity и Vuforia, и мне нужно решить учебное задание. Я хочу создать 4 объекта (Vuforia) в сцене, которая, когда они сталкиваются, четыре объекта исчезает, и один пятый объект появляется увеличенным в середине, и когда они рассеиваются, 4 объекта появляются снова. Любая помощь будет очень высоко ценится. Обратите внимание, что я не знаю, как кодировать в Unity. Пожалуйста, объясните шаг за шагом для достижения желаемого результата. Заранее благодарен.

Мне помогла настройка сцены, но объекты не увеличиваются должным образом, они выглядят так, как будто они отклоняются от маркеров.

using System.Collections;

с помощью System.Collections. Generic;using UnityEngine;

открытый класс ProtoTypeV: MonoBehaviour {public GameObject objectOne, objectTwo, objectThree, mainObject;

public bool oneCollision, twoCollision, threeCollision;


public void FixedUpdate()
{
    if (oneCollision && twoCollision && threeCollision)
    {
        this.gameObject.GetComponent<MeshRenderer>().enabled = false;
        objectOne.GetComponent<MeshRenderer>().enabled = false;
        objectTwo.GetComponent<MeshRenderer>().enabled = false;
        objectThree.GetComponent<MeshRenderer>().enabled = false;

        mainObject.SetActive(true);
    }
    else
    {
        Debug.Log("tracking");
        this.gameObject.GetComponent<MeshRenderer>().enabled = true;
        objectOne.GetComponent<MeshRenderer>().enabled = true;
        objectTwo.GetComponent<MeshRenderer>().enabled = true;
        objectThree.GetComponent<MeshRenderer>().enabled = true;

        mainObject.SetActive(false);
    }
}

public void OnCollisionEnter(Collision collision)
{
    if(collision.gameObject.tag == "ObjectOne")
    {
        oneCollision = true;
    }
    if(collision.gameObject.tag == "ObjectTwo")
    {
        twoCollision = true;
    }
    if (collision.gameObject.tag == "ObjectThree")
    {
        threeCollision = true;
    }
}

public void OnCollisionExit(Collision collision)
{
    if (collision.gameObject.tag == "ObjectOne")
    {
        oneCollision = false;  
    }
    if(collision.gameObject.tag == "ObjectTwo")
    {
        twoCollision = false;
    }
    if(collision.gameObject.tag == "ObjectThree")
    {
        threeCollision = false;
    }
}

}

...