- Home /
Unity bug with ray casting?
I'm having an issue with ray casting selectively working on some sprites that I am generating in a script. I haven't been able to find other people having an issue with this, so perhaps I'm simply initializing things incorrectly.
I created a sprite off screen, added a 2d box collider to it. I then need to create some amount clones at a later point, so I added this code in a script
ResourceItem = GameObject.Find("stone");
ResourceItem = Instantiate(temp) as GameObject; ResourceItem.transform.position = CalculateResourcePosition(); //just returns a vector3
At this point, everything appears fine, but when I click on the tiles, not all of them are clickable.
void OnMouseDown() {
Debug.Log(string.Format("clicked {0} on {1}", this.name,GetMyTile().name));
}
For testing all of the tiles are in repeatable positions, so I've been able to determine that this isn't random (the same tiles fail to be clicked every time). It also depends on the position of the initial tile that I'm cloning (so changing its position will change which tiles fail). I've checked to make sure that the values for the collider and the layers are the same for the objects that do work and don't work. There's nothing else in the scenes to get in the way. Additionally, if pause execution, manually move a broken tile a bit, it'll work (so it seems like it's the relative position from my initial tile that's affecting the result of the ray cast).
Is this a bug with the ray casting algorithm or am I doing the initialization incorrectly? Thank you for any help.
I dont know if this is better but have you tried loading the sprite clone from a prefab variable object or directly from the resource folder. It would not solve your problem. But it could help with the design of your game later on.
Your answer
Follow this Question
Related Questions
Distribute terrain in zones 3 Answers
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Raycasting out from a first person controller 1 Answer
Multiple Cars not working 1 Answer
c# how to refresh my targeting list 2 Answers