I am using the llDetectTouchUV(0) on a simple object and am puzzled by the results.
If I create a simple square box 4m x 4m x 0.2m and embed the script:
default
{
touch_start(integer total_number)
{
vector UV = llDetectedTouchUV(0);
float U = UV.x;
float V = UV.y;
llOwnerSay("U: " + (string)U + " V: " + (string)V);
}
}
then touch the box in the SW corner of the top face I get values close to 0.0 for U and V, and appropriately if I touch the NE corner values close to 1.0.
If I then apply a texture to the top face I get similar results but if I change the repeats per face in the horizontal direction U to say 0.5 the SW corner gives me a U value of about 0.25.
Is the texture what is being tested or the face?