개발
Unity camera rect변경 (screen size변경) 잔상 문제 해결
Eody
2025. 3. 29. 20:24
private void OnPreCull()
{
GL.Clear(true, true, Color.black);
}
이걸 추가하면 된다고 하는데
컬링 전에 호출되는 함수인데
애뮬레이터 실행에서는 잔상이 남았다.
void OnRenderObject()
{
if (changing == 1)
{
changing++;
GL.Clear(true, true, Color.black);
}else if (changing == 2)
{
changing++;
mainCamera.rect = TargetRect;
}
else if(changing==0)
{
Rect rect = new Rect();
rect.width = 1.0f;
rect.height = 1.0f;
rect.x = 0;
rect.y = 0;
mainCamera.rect = rect;
GL.Clear(true, true, Color.black);
changing++;
}
}
해결하고자 해서 OnRenderObject함수에서 비율이 바뀌면 최대 사이즈로 늘린 뒤 GL.Clear로 지워주고 지운 후 원하는 비율로 바꿔줬다.
그러니 에뮬레이터에서도 잔상이 사라졌다
핸드폰 테스트에서는 onPrecull에 gl.clear 있어야됨