4

使用 Unity3D 和 VRTK,我需要使用VRTK_Pointer脚本获取我指向的纹理上的像素值。

我创建了一个脚本,附加到一个名为COLOR_GRID的球体上,我声明了一个Texture2D对应于球体纹理的公共成员。它包含此方法,当我指向并单击球体时会调用该方法。

private void DoPointerDestinationSet(object sender, DestinationMarkerEventArgs e)
{
    DebugLogger(VRTK_ControllerReference.GetRealIndex(e.controllerReference), "POINTER DESTINATION", e.target, e.raycastHit, e.distance, e.destinationPosition);

    if (e.target.name == "COLOR_GRID")
    {
        int[] coordinates = ????
        Color c = this.GetPixel(coordinates[0], coordinates[1]);
    }
}

e.raycastHit,我可以访问,我猜,指针对球体的影响的局部坐标。使用这些信息,问题是如何将此局部坐标转换为Texture2D坐标?但我被困在那里。

或者有更好的方法吗?

编辑:e.raycastHit.textureCoord总是(0,0)。

4

0 回答 0