Страница 1 из 1
Проблемка с камерами
Добавлено:
20 апр 2013, 15:32
vessen
Суть проблемы: есть камера,которая выводит изображение в отдельный Viewport на экране,нужно подогнать координаты Viewport'а под разрешение экрана. Юзаю такой скрипт
Используется csharp
using UnityEngine;
using System.Collections;
public class CamRectView : MonoBehaviour {
Rect r = new Rect(0,Screen.height-200, 200, 200);
// Use this for initialization
void Start () {
transform.camera.pixelRect = r;
Debug.Log(r);
}
// Update is called once per frame
void Update () {
}
}
и выводит он Viewport в нулевых координатах экрана,хотя так не должно быть.
Если вместо Screen.height-200 указать просто число, то все работает. В чем может быть косяк???
Re: Проблемка с камерами
Добавлено:
20 апр 2013, 21:23
AMD
Могу предложить попробовать сначала объявить пустой рект (Rect()), а уже в методе старт задать его размер так же, если не удастся попробуйте вместо Screen.height-200 написать переменную типа флоат, и в ней считать нужное Вам. И попробуйте проверить с помощью дебага, считается ли число вообще
Re: Проблемка с камерами
Добавлено:
21 апр 2013, 09:05
vessen
Попробовал вот так
Используется csharp
using UnityEngine;
using System.Collections;
public class CamRectView : MonoBehaviour {
Rect r ;
float y;
// Use this for initialization
void Start () {
y = Screen.height-200;
r = new Rect(0,y, 200, 200);
transform.camera.pixelRect = r;
Debug.Log(y);
}
// Update is called once per frame
void Update () {
}
}
ничего не изменилось... Y считается правильно. Не могу понять,должно же работать???
Re: Проблемка с камерами
Добавлено:
21 апр 2013, 09:28
groove123
Ну насколько я знаю, то pixelRect принимает значение от 0 до 1. Может стоит попробывать так:
Используется csharp
transform.camera.pixelRect = new Rect(0,(Screen.height-200)/Screen.height, 200, 200);
Re: Проблемка с камерами
Добавлено:
21 апр 2013, 09:38
vessen
Спасибо, помогло.
А я подумал,что и координаты в пикселях,раз называется pixelRect )))
Re: Проблемка с камерами
Добавлено:
21 апр 2013, 09:43
vessen
Интересно эта функция работает. Когда задаешь просто числовое значение, не через переменные,то принимает в пикселях. Через переменную только 0..1. Сейчас проверил,удивился )))
Re: Проблемка с камерами
Добавлено:
21 апр 2013, 10:16
vessen
Рано обрадовался, этот способ тупо по y перемещает окно вниз экрана. ((( Что за дребедень???
Re: Проблемка с камерами
Добавлено:
21 апр 2013, 10:29
groove123
Ну так и должно быть. А что вам именно нужно?
Re: Проблемка с камерами
Добавлено:
21 апр 2013, 10:54
vessen
Необходим вывод изображения с камеры в окно в любом месте экрана. Вывод в текстуру сделать не могу, т.к. имею версию Free.
Re: Проблемка с камерами
Добавлено:
21 апр 2013, 12:07
AMD
Не уверен, но кажется Вам надо задавать положение используя промежуток от 0 до 1 (по х и у), где, видимо, 0,0 девый верхний угол, а 1,1 - нижний правый, то есть если вы сможете сделать формулу которая считала бы положение на экране (относительно размера "монитора"), а после переводило бы в этот промежуток...
Что - то вроде, screen.height*0.5f = 0.5f...