don't mess ray direction..
parent
af34bfddd1
commit
58daecfccb
|
@ -2305,10 +2305,13 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
Vector3 rayEnd = RayEnd;
|
||||
|
||||
Vector3 dir = rayEnd - RayStart;
|
||||
float dist = Vector3.Mag(dir) + 2.0f;
|
||||
|
||||
float dist = dir.Length();
|
||||
if (dist != 0)
|
||||
{
|
||||
Vector3 direction = dir * (1 / dist);
|
||||
|
||||
dist += 2.0f;
|
||||
|
||||
if (SupportsRayCastFiltered())
|
||||
{
|
||||
RayFilterFlags rayfilter = RayFilterFlags.BackFaceCull;
|
||||
|
@ -2327,9 +2330,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (physresults[0].ConsumerID == 0 || RayTargetID == UUID.Zero)
|
||||
{
|
||||
// found something
|
||||
pos = physresults[0].Normal * scale ;
|
||||
pos = physresults[0].Normal * scale;
|
||||
pos *= 0.5f;
|
||||
pos = physresults[0].Pos +pos;
|
||||
pos = physresults[0].Pos + pos;
|
||||
return pos;
|
||||
}
|
||||
foreach (ContactResult r in physresults)
|
||||
|
@ -2346,6 +2349,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (RayTargetID != UUID.Zero)
|
||||
{
|
||||
|
@ -2404,7 +2408,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// fall back to our stupid functionality
|
||||
|
|
Loading…
Reference in New Issue