Как получить значение пикселя текстуры, на которую вы указываете DestinationMarkerEventHandler?
Используя 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).