Объект не запускает коллайдер - PullRequest
0 голосов
/ 13 июня 2019

Привет, моя проблема в Unity, я новичок в c #, мой gameObject не запускает коллайдер, установленный на плоскости игры, для того, чтобы он сбросил свою позицию.

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

public class BasketballSpawnScript : MonoBehaviour
{ 
    public Transform respawnPoint;

    void OnTriggerEnter(Collider other)
    {    
        if (other.gameObject.CompareTag("Basketball"))
        {    
            other.gameObject.transform.position = respawnPoint.position;
        }    
    }
}

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

Я не вижу, что не так, могу ли я получить помощь?

P.S Я получаю эту ошибку, когда другой игровой объект проходит через коллайдер.

NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта

Ответы [ 2 ]

0 голосов
/ 11 июля 2019
private void OnTriggerEnter(Collider other){

    if(other.gameobject.tag=="Basketball"){

       other.gameobject.transform.position = respawnPoint;
    }
}

Надеюсь, это поможет вам.

0 голосов
/ 14 июня 2019

Если вы используете Transform для точки появления, не забудьте установить ее значение в меню инспектора.

public Transform respawnPoint;

void OnTriggerEnter(Collider other)
{    
    if (other.CompareTag("Basketball"))
        other.transform.position = respawnPoint.position;
}

else

public Vector3 respawnPoint = Vector3.zero;

void OnTriggerEnter(Collider other)
{    
    if (other.CompareTag("Basketball"))
        other.transform.position = respawnPoint;
}
...