작성
·
68
답변 5
1
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.
URP 렌더링 모드를 사용하신다면 기존 카메라 컴포넌트의 Clear Flags의 Depth Only 옵션이 사라졌으므로 카메라 스태깅 기능을 사용해야 합니다. 다만 저희 프로젝트에서는 UIManager의 카메라가 타이틀 씬 뿐만이 아닌 여러 씬을 이동하면서 계속 존재하므로, 씬 전환 시 프로그래밍을 통해 동적으로 LobbyUI 카메라나 InGameUI 카메라에 UIManager 카메라를 스태킹 해 주어야 하는 문제가 있습니다.
당장 URP 렌더링 모드를 사용할 필요가 없으시다면 아래 육포님의 답변처럼 기존 렌더링 모드로 사용하시는 것을 추천 드립니다. 카메라 스태킹을 활용하는 방법은 제가 개인 일정 상 다음 달에 시간을 내 보충 강의를 업로드해 드리도록 하겠습니다.
감사합니다.
안녕하세요. BurningCarrot입니다.
보충 강의는 다음 주에 업로드 예정이나 적용해야 할 코드와 적용 방법을 수업노트에 명시하여 방금 업로드해 두었습니다. [보충]섹션에 있는 `URP 모드에서 카메라 렌더링 오류 수정' 강의를 참고해 주시기 바랍니다.
0
저도 카메라 스태킹으로 해보려했는데 씬이 바뀌면 이전 씬의 카메라가 새로운 메인카메라의 스택에는 없는 문제가 있어서, 예를 들어 타이틀에서 로비 갈때 로비매니저에서 자동으로 필요한 overlay 카메라를 불러서 카메라 스택에 추가해주는 걸로 적용했더니 됬습니다. 다른 방법은 어떤 것들이 있는지 궁금합니다~
CameraUtility.AddUICameraToMainCameraStack("UICamera");
using UnityEngine;
using UnityEngine.Rendering.Universal;
public static class CameraUtility
{
public static void AddUICameraToMainCameraStack(string cameraName)
{
var mainCamera = Camera.main;
if (mainCamera == null)
{
Debug.LogError("Main Camera not found.");
return;
}
var mainCameraData = mainCamera.GetUniversalAdditionalCameraData();
if (mainCameraData == null)
{
Debug.LogError("UniversalAdditionalCameraData missing on Main Camera.");
return;
}
// 새로운 FindObjectsByType<T>를 사용하여 모든 Camera 검색
var cameras = Object.FindObjectsByType<Camera>(FindObjectsSortMode.None);
Camera uiCamera = null;
foreach (var camera in cameras)
{
if (camera.name == cameraName)
{
uiCamera = camera;
break;
}
}
if (uiCamera != null && !mainCameraData.cameraStack.Contains(uiCamera))
{
mainCameraData.cameraStack.Add(uiCamera);
Debug.Log($"{cameraName} added to Main Camera stack.");
}
else
{
Debug.Log($"{cameraName} is already in the stack or not found.");
}
}
}
안녕하세요. BurningCarrot입니다.
좋은 정보 공유 감사합니다. 저도 수강생분과 같은 개념으로 해결 방안을 방금 업로드하였습니다. [보충]섹션에 있는 `URP 모드에서 카메라 렌더링 오류 수정' 강의의 자료와 수업노트를 참고해 주세요. 강의 영상은 다음 주에 업로드 예정입니다.
0
유니티6에서 렌더그래프 기능을 끄면 잘 작동하는 거 같습니다. Render Graph > Compatibility Mode 를 체크하면 렌더그래프가 꺼지면서 기존 렌더링 모드로 작동하는듯 합니다. 일단은 이 강의 기능이 이렇게 하면 잘 작동하네요~!
0
https://discussions.unity.com/t/uninitialized-background-type-turn-yellow-on-unity-6/360398
포럼에서 찾은 내용인데, Uninitialized의 경우 이런 결과가 나올 수 있다고 하네요. 이럴 경우에는 카메라 스태킹을 사용하라고 합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 육포님.
UI Canvas가 제대로 그려지지 않는 문제와 관련하여 몇 가지 해결 방법을 안내드리겠습니다. 질문에서 말씀하신 대로 URP(Universal Render Pipeline)를 사용 중이라면 설정상 몇 가지 확인해보실 부분이 있습니다.
카메라 설정 확인:
Clear Flags
를 Depth only
또는 Don't clear
로 설정해보세요. 이는 UI가 다른 색으로 덮이는 문제를 해결할 수 있습니다.UI Z-Order 확인:
Canvas
컴포넌트에서 Sorting Layer
및 Order in Layer
설정을 확인하여 올바른 순서로 렌더링되고 있는지를 검토해보세요.URP 설정 확인:
URP Asset
에 UI 렌더링 옵션이 제대로 설정되어 있는지 확인해보세요. 특히, UI 레이어가 포함된 Render Feature가 제대로 설정되어 있는지 확인해야 합니다.위의 방법들이 문제 해결에 도움이 되기를 바랍니다. 추가적으로 더 궁금한 사항이 있거나, 필요한 정보가 있으시면 언제든지 문의해주세요. 육포님이 겪고 있는 문제를 해결할 수 있도록 최선을 다하겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
네 제가 자문자답한 내용인데, 보충 강의를 해주신다니 정말 감사드립니다 +_+!!! 얼른 파트2가 필요합니다.