2017-01-30 9 views
0

Я нашел очень много подобных проблем, но ни одна из исправлений не работает или, похоже, работает. Я хочу сделать это сам, а не использовать актив.Unity - камера мобильного устройства зеркалирована

Я создаю систему дополненной реальности в портретном режиме, где вы используете переднюю или заднюю камеру. Я уже исправил проблему вращения с камерами, но задняя камера iOS зеркально отражена (если я перемещаю палец слева от него справа от камеры), и передняя камера Android одинакова, но задняя часть хорошо.

Корзинка камеры устройства помещается в объект изображения ui под холстом, на который нанесена плоская сетка. Я также пытался работать с этим как с самолетом, так и с Raw Image.

Теперь холст, который у меня есть, привязан непосредственно к игровой камере единства, и что на холсте есть объект изображения, который отличает канал камеры устройства. Поскольку объекты плоскости и изображения все односторонние, если я переворачиваю его, я просто получаю черный экран. Мне нужно зеркалировать подачу камеры устройства, а не игровой объект, и я понятия не имею, как это сделать.

public GameObject CamFeedObj; 
WebCamTexture webcam; 
WebCamDevice[] devices; 

void Start() 
{ 
    platform = Application.platform; 
    devices = WebCamTexture.devices; 
    webcam = new WebCamTexture(devices[0].name); 
    CamFeedObj.GetComponent<MeshRenderer>().material.mainTexture = webcam; 

    // Fixes rotation issue 
    if(platform == RuntimePlatform.IPhonePlayer){ 
     CamFeedObj.transform.eulerAngles = new Vector3(0,-90,90); 
    } 
    webcam.Play(); 
} 

ответ

1

Вы можете создать простой шейдер, который переворачивает координаты x. Другой вариант - просто умножить масштаб x вашего изображения ui на -1.

enter image description here

enter image description here

+0

Я попробовал -1 и что, кажется, перевернуть реальный объект, делая экран просто темнеет. – Nox

+0

@Nox Вы просматриваете правильную координату? Обновлен мой ответ со скриншотами. – Infodayne

+0

Не могу поверить, что я так долго не замечал ... – Nox