Hi, I’m creating a grid of planes with a script attached to them that turns them black when the mouse passes over them. Here is the entirety of that script.
function OnMouseEnter () {
transform.renderer.material.color = Color.black;
}
Every plane has a collider and no plane is overlapping another.
The problem is that if you swipe your mouse across at even a slightly fast speed, some of the planes are not triggered i.e. they do not turn black. I know for certain that the mouse has gone over them, they just don’t trigger. The plane size is 0.1X, 0.1Y, 0.1Z (but I’ve tried it with cubes that are 1,1,1 and it does the same thing).
I either need a new method for using the mouse to interact with objects that has a 100% hit rate, or a fix for OnMouseEnter(), because it is not hitting if you move the mouse too fast. Keep in mind I’m ideally dealing with a large number of planes (in the 1000’s) here but the bug happens on small amount too (40).
I’ll post my code for the spawning the planes in a grid, although I’m already certain they are laid properly, since I’ve manually done the counting.
var ScreenSize : double;
var MaxLength : double;
var BlankPixel : GameObject;
var Value : double = 0;
var X : double = 0;
var Y : double = 0;
function Start ()
{
X = -MaxLength/2;
Y = -MaxLength/2;
while(Value < ScreenSize)
{
clone = Instantiate(BlankPixel,Vector3(X,Y,0),Quaternion.identity);
clone.transform.eulerAngles = Vector3(270, 0, 0);
Value += 1;
X += 1;
print("(" + X + "," + Y + ")");
if(Value%MaxLength == 0)
{
print(X);
Y += 1;
X = -MaxLength/2;
}
}
}
My next step is going to be testing it with GUITextures (which is probably a better idea for performance anyway), I’ll let you know when I finish setting up the positioning code. However, I don’t know why OnMouseEnter would work for them when it doesn’t work for a plane.
Anyway, thanks in advance for the help.
EDIT: Have checked with GUITextures and same thing occurs. Anyone have any ideas, this is a real roadblock for my project.