static ThreadLocal<string> tl = new(()=> { return "dd"; }); 이렇게 변수 선언을 영상과 같이 return을 받게 되는 형태로 만들어 졌을 시에 Thread에서 Console.WriteLine(tl.Value); 이렇게 최초로 tl.Value를 출력해보면 중단점을 걸었을시에 영상에서 설명 해주신 것과 같이 null값이 들어가게 됩니다. 그런데 궁금한건 그렇다면 Console.WriteLine(tl.Value); 이것의 콘솔에서의 실행 결과는 Null이 떠야하는 것 아닌가요?
SpinLock은 어찌보면 CPU 코어를 계속 점유하고 계속해서 끝났는지 확인하는거잖아요? 그렇기에 커널로 내려가는 컨텍스트 스위칭이 일어나지 않거나 최소화 될거다라고 생각하는데요. 근데 하나 궁금한건 결국 운영체제 내에서 스케줄링같이 코어에서 점유하고 있는 스레드를 강제적으로(?) 다른 스레드로 바꾸지 않나요? 바꾼다하면 결국 SpinLock도 컨텍스트 스위칭이 필수불가결한건가 싶어 질문드립니다.
Input.mousePosition 함수는 픽셀 좌표를 가져온다고 유니티 공식 문서에서도 적혀있는데, 검색해보니 픽셀 좌표는 왼쪽 위가 0,0인 좌표고, 스크린 좌표는 왼쪽 아래가 0,0인 좌표라고 나오는데 왜 Input.mousePosition함수로 가져온 값을 Debug.Log로 찍었을 때는 왼쪽 아래로 갈수록 0,0에 가깝게 나오나요? Input.mousePosition의 반환값이 픽셀 좌표인지, 스크린 좌표인지와 두 좌표가 어떤 차이점이 있는지 궁금합니다
게임을 테스트 및 개발할때마다 순차적으로 타이틀씬에서 시작하면 로딩도 기다려야되고 항상 씬도 계속 바꿔야되는 무제가 있는데 로비씬이나, 인게임 씬부터 시작하면 UIManager를 찾을 수 없다고 나오기도하고 다른에러들도 나오는데 이 부분에 대해서는 어떻게 처리하나요? 아니면 강사님이 올려주신 프레임워크는 플레이 하라면 타이틀 씬부터 하게만 설계가 되어있나요?
BaseUI, UIManager에 처리에 대한 구분이 제가 명확하게 이해가 잘안되고 헷갈려 질문드립니다. 1. BaseUI에서 처리하는 함수 및 기능에 대한 기준이 무엇인가? 2.UIManager에서 처리하는 함수 및 기능에 대한 기준이 무엇인가? OpenUI를 할때는 SetParent를 BaeUI안의 Init함수에서 하고 CloseUI를 할때는SetParent UIManager에서 하는데 어떤 기준이나 지향점으로 하신건가 궁금합니다. CloseUI에서도 부모의 설정을 매니저에서 해줬으니 OpenUI도 매니저에서 설정해주면 통일성이 있지 않을까? 그런데 강사님은 어떤기준으로 하셨을까 궁금합니다. var siblingIndex = UICanvasTrs.childCount; ui.Init(UICanvasTrs); ui.transform.SetParent(UICanvasTrs); // 이런식? ui.transform.SetSiblingIndex(siblingIndex); ui.gameObject.SetActive(true); ui.SetInfo(uiData); ui.ShowUI(); 마지막으로 코드가 이해가 잘 안되는게 BaseUI에서의 CloseUI함수에서는 UIManager.Instance.CloseUI(this); 호출하는데 BaseUI에서의 ShowUI는 매지저 호출에 처리가 없어서 이것도한 2개가 달라 많이 헷갈리네요. ㅠ 코드가 작성되는 방식은 여러가지겠지만 강사님의 코드의 작성의 의도와 목적을 잘 이해하고 싶어서 질문드립니다. ~
안녕하세요, Rookiss님. 기존 강의에서는 씬을 비우고 Addressables 기반으로 모든 리소스를 동적 생성하는 구조였는데, 그런데 이번 강의에서는 씬에 오브젝트를 배치해서 사용하는 방식으로 진행되고 있어서, 만약 이러한 씬 배치형 프로젝트에 Addressables를 적용하고 싶다면 어떻게 적용하는 것이 적절한지 궁금합니다. 예를 들어, - 씬에 배치된 오브젝트도 Addressables로 관리하는 것이 맞는지 - 아니면 프리팹만 Addressables로 관리하고 씬은 기존 방식(드래그&드랍)대로 사용하는 것이 좋은지 - 실무에서는 씬 기반 구조와 Addressables를 어떤 기준으로 혼합해서 사용하는지 이 부분에 대한 방향성을 알고 싶습니다.
씬이 변경되어도 ECS 월드에서 생성된 Entity는 사라지지 않고 메모리에 남아있다고 하셨는데요. 이 부분은 버그라고 봐도 될까요? 지금은 수정된 내용인 것인지 또는 유니티에서 6.8 버전부터 한다는 Entity For all 이 되면 자동으로 해결되는 문제인지 궁금합니다.
비전공으로 처음 듣는 인강인데 ui 앞까지는 코드가 잘 읽혔는데 여기서부터 굉장히 더딥니다 원래 지금이 어려운 난이도인건지 아니면 제가 앞부분의 학습이 부족한건지 모르겠습니다 1시간 걸려 겨우 코드를 읽고 이해하는데 성공하긴했는데 다시 1강 c# 부터 복습하고 와야할지 조언 부탁드립니다
이미지를 보시면 플레이중에 컨트롤러가 계속 거꾸로 돌아가있는데요 플레이를 하지 않을때는 좌우컨트롤러 모두 y rotation이 180으로 맞춰서 영상처럼 컨트롤러의 앞부분이 레이의 방향과 맞도록 설정했습니다. 그런데도 불구하고 계속 플레이시 컨트롤러의 rotation이 계속 뒤집어집니다. 어떤 부분의 문제일까요?