728x90
🎯 Unity에서 비활성화된 자식 오브젝트까지 가져오는 방법 (GetComponentsInChildren 활용법)Unity에서 게임 오브젝트의 자식 컴포넌트를 가져올 때 GetComponentsInChildren()을 자주 사용합니다.하지만 이 메서드는 기본적으로 비활성화된(비활성) 자식 오브젝트는 무시합니다.그래서! 비활성화된 오브젝트도 포함해서 가져오려면 한 가지 설정이 필요합니다.📌 기본 사용법Button[] buttons = parent.GetComponentsInChildren();이 코드는 parent 오브젝트의 자식 중 활성화된(Button 컴포넌트를 가진) 오브젝트만 가져옵니다.즉, SetActive(false) 상태인 자식은 포함되지 않아요.✅ 비활성 자식도 포함하는 방법Button[..
✅ 클로저(Closure)란?클로저는 어떤 함수가 자신이 선언될 때의 스코프(scope)에 있는 변수들을 기억하는 기능이에요.예시:for (int i = 0; i Debug.Log(i); printI();} 이 코드는 0, 1, 2를 출력할 것 같지만…사실은 **모두 3**을 출력합니다.왜냐면 printI() 안의 i는 반복문이 끝난 후의 최종 값 3을 참조하고 있기 때문이에요.람다 함수 안에서 i를 "값으로 복사"하는 게 아니라 **"참조"**만 하기 때문에 이런 문제가 발생합니다.✅ Unity에서의 클로저 문제Unity에서 버튼에 이벤트를 연결할 때도 비슷한 문제가 생깁니다:for (int i = 0; i OnClick_AnsweBtn(AnswersBtnList[i].gameObject));..
https://github.com/otdavies/UnityChromakey/blob/master/Shaders/ChromaKey.shader UnityChromakey/Shaders/ChromaKey.shader at master · otdavies/UnityChromakeyA simple, yet powerful chromakey / greenscreen solution for Unity. Designed to be used with virtual production. - otdavies/UnityChromakeygithub.comChractorPlane (Plane 오브젝트)ChromaKeyMat 머티리얼 할당Video Player 컴포넌트Render Mode ➡️ Render TextureTarg..
✅ 왜 CoroutineRunner가 필요할까?여러 코루틴을 관리할 때 코드가 지저분해짐중단/시작/덮어쓰기 규칙을 정형화하고 싶을 때반복적인 Coroutine 핸들 관리 코드가 싫을 때✅ 기본 개념코루틴을 키(key)로 구분해서 관리하고특정 키에 새로운 코루틴을 덮어쓰기 하거나,전체 코루틴을 멈출 수 있음🚀 간단한 CoroutineRunner 만들기✅ 장점기능설명✅ 키 기반 코루틴 관리"PCR" 키, "Narration" 키 따로 관리 가능✅ 중복 방지같은 키는 자동으로 중지 후 덮어쓰기✅ 확장성 좋음RunAndWait(), 타임아웃, CancellationToken 등 추가 가능✅ 코드 깔끔함Coroutine 핸들 관리 필요 없음 1. 변수 선언[SerializeField] private Corout..
📌 기본적인 인스펙터 속성[Header("제목")] - 섹션 구분[Header("Experiment Process Settings")]public float DenaturationTemp = 94f;✔ 그룹별로 구분 가능[Space(n)] - 간격 추가[Space(10)] // 위 속성과 10픽셀 간격 추가public float AnnealingTemp = 65f;✔ 가독성을 위해 여백을 추가[Tooltip("설명")] - 마우스 오버 시 설명 표시[Tooltip("현재 실행 중인 실험 사이클입니다.")]public int CurrentCycle = 1;✔ 마우스를 올리면 설명 툴팁 표시 [Range(min, max)] - 슬라이더 UI 제공[Range(1, 50)]public int MaxCycle..
UI Plane 클릭 안되는 경우 위 그림에서 왼쪽 버튼은 클릭이 되는데 오른쪽은 클릭이 안되는 문제가 발생 두개다 같은 오브젝트에 복사만 했는데 문제가 발생같은 머티리얼을 사용하고있고 머티리얼을 회전해서 아이콘을 변경했는데 여기서 문제가 발생 회전의 방향을 z 축이 아닌 y축으로 회전해서 생긴 문제였음 z축으로 회전하니 문제없이 똑같이 동작
Cinemachine Camera와 Cinemachine Component의 차이점구분설명예시Cinemachine CameraVirtual Camera의 이름이 변경된 것으로, 카메라의 기본적인 속성을 담당하는 컴포넌트예요 [4]. Cinemachine ComponentCinemachine Camera 아래에 위치, 회전, 노이즈 등의 속성을 일대일로 지정할 수 있도록 기능을 담당하는 컴포넌트예요 [4].타겟을 주변으로 이동하면서 살펴볼 때는 Position Control을 Orbital Follow로, Rotation Control은 계속 타겟만 바라보도록 Hard Look At으로 설정 [6] Cinemachine Camera는 카메라의 기본적인 틀을 제공하고, Cinemachine Component..
📷 시네머신 3의 개선된 기능 소개유니티 6의 시네머신 3는 카메라 워킹 제작을 더욱 편리하게 하기 위해 새롭게 개편되었으며, 사용자 친화적인 인터페이스로 진입 장벽을 낮추었다. [1-1]Virtual Camera의 컴포넌트 이름이 Cinemachine Camera로 변경되었으며, 각 속성을 개별적으로 설정할 수 있도록 모듈화되었다. [1-4]🎥 시네머신3의 카메라 워킹 설정 방법Position Control을 Orbital Follow로 설정하면 주변을 탐색할 수 있게 된다. [2-1]Rotation Control은 Hard Look At으로 설정함으로써 항상 타겟을 바라보게 할 수 있다. [2-1]Orbital Follow는 마우스 입력이나 게임패드와 같은 회전 입력이 필요하므로, Input Ax..