Question by
anthonyjnrmeyer · Sep 19, 2019 at 02:27 AM ·
3doverlapsphere
OverlapSphere ignoring objects instantiated into scene?
Hey folks,
I'm having an attempt at mimicking a Sebastian Lague video and I'm tying to get a bunny to detect food objects around it through an overlap sphere. I've tried printing all objects within the overlap sphere and it recognises cubes generated into the scene forming the terrain.
But it does not recognise trees or food objects instantiated in afterwards.
I'm invoking the function to assess objects within the sphere after all other objects are loaded into the scene so I'm strugglign to pinpoint what I've done wrong here. Any assistance would be mega appreciated.
Here's the code I'm using to assess what's registering under the overlap sphere. :
![//Code for assessing what the overlapSphere is hitting:
void sphereTest()
{
for(int i = 0; i<rabbitSight.Length; i++)
{
if (rabbitSight[i].tag != "Land")
{
print("object: " + rabbitSight[i].tag + rabbitSight[i].transform.position);
}
rabbitSight[i].GetComponent<Renderer>().material.color = new Color32(0, 255, 255, 1);
}
}
//Coding for generating the food into the scene:
Vector3 SetFoodLocation()
{
int landCubeIndex = grabCubeIndex();
Vector3 targetPosition = new Vector3();
//set landcube bool to true!!!
targetPosition = worldGen.landCubes[landCubeIndex].transform.position;
targetPosition.y = targetPosition.y + 0.75f;
//setting the space to be occupied;
worldGen.occupied[landCubeIndex] = true;
return targetPosition;
}
void GenerateFood()
{
for (int i = 0; i < foodAmount; i++)
{
Vector3 foodLocation = SetFoodLocation();
food.Add(Instantiate(foodPrefabs[Random.Range(0, foodPrefabs.Count)], foodLocation, Quaternion.identity));
food[i].transform.position = foodLocation;
}
foodGenerated = true;
}
int grabCubeIndex()
{
bool unoccupied = false;
int cubeIndex = 0;
while (unoccupied == false)
{
cubeIndex = Random.Range(0, worldGen.landCubes.Count);
if (worldGen.occupied[cubeIndex] == false)
{
worldGen.occupied[cubeIndex] = true;
return cubeIndex;
}
}
print("cubeindex: " + cubeIndex);
return cubeIndex;
}][1]
[1]: /storage/temp/146348-overlapsphere.jpg
overlapsphere.jpg
(86.2 kB)
Comment
Your answer
