Wie kann ich in Unity abfragen, ob an einer Position ein Objekt ist?
Mein Code:
bool isObjectHere(Vector3 position)
{
Collider[] intersecting = Physics.OverlapSphere(position, 0.01f);
if (intersecting.Length == 0)
{
return false;
}
else
{
return true;
}
}
if (isObjectHere(new Vector3(Chunk.transform.position.x + 40, Chunk.transform.position.y, Chunk.transform.position.z)) == false)
{
Instantiate(Chunk, new Vector3(Chunk.transform.position.x + 40, Chunk.transform.position.y, Chunk.transform.position.z), Quaternion.identity);
}
1 Antwort
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Also erstmal brauchst du das andere Objekt ich mach mir dafür immer ganz gerne ein [SerializeField] dann musst du nur noch abfragen ob das Object sich an der Position befindet also mit der .position "funktion"
Woher ich das weiß:Hobby – Ich Programmiere seit 3,5 Jahren mit Python
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
BlueX15
03.09.2021, 20:05
@Mats4411
Ich probiers bin selber noch neu also oben unter dem Class gedings schreibst du
[SerializeField] private GameObject myObject;
Und dann musst du unten also in void start() oder void update() nur noch die Position vergleiche / abfragen
Debug.Log(myObject.position);
Dann musst du dir mal den Output anschaue was dort heraus kommt vermutlich irgendetwas wie (zahl, zahl, zahl) du kannst wenn du an das myObject.position.x oder .y oder .z dranhängst nur einzelne Komponenten abfragen.
Achja und vergiss nicht das Object in das Object mit dem Script in das kleine Feld zu ziehen..
Hast da da nen snippet?