분류 전체보기155 Dictionary 정리 : 기초부터 활용까지 프로그래밍을 하다보면, 어떤 키워드에 해당하는 정보를 빠르게 찾아야 할 때가 많습니다.예를 들면, 이름으로 전화번호를 찾거나, 아이템 이름으로 가격을 찾는 상황 등이 있습니다.이럴 때 유용하게 쓰이는 게 바로 Dictionary입니다. Dictionary 란?Dictionary는 말 그대로 "사전" 입니다.Key와 Value를 한 쌍으로 묶어서 데이터를 저장하는 구조입니다.배열이나 리스트는 숫자 인덱스로 값을 찾지만, Dictionary는 key 로 값 (value) 을 바로 찾을 수 있어서 훨씬 직관적입니다. 우리 생활 속 Dictionary• 이름으로 전화번호 찾기 예) 김아무개 : 010-1234-5678• 학번으로 이름 찾기 예) 2025821000 : 홍길동 Dictionar.. 2025. 7. 23. 구조체를 List<T> 에 추가하는 방법들 동일한 구조체를 여러 개 나열할 경우, 구조체 배열을 사용하는 방법도 있겠지만, 여기서는 List를 사용하는 방법에 대해 다뤄보겠습니다. List에 값을 추가할 때는 크게 두 가지 방식이 있습니다.1. Add() 함수를 이용해 데이터를 하나씩 추가하는 방식2. 선언과 동시에 데이터를 중괄호 { } 안에 나열하는 방식그 외에 LINQ를 이용한 방식도 있지만, 여기서는 다루지 않겠습니다.(솔직히 제가 잘 쓰지를 않아서 모릅니다. 😅)어떤 방식이 더 좋다기보다는, 상황에 맞게 또는 선호하는 코드 스타일에 따라 선택하면 됩니다. 대표적인 초기화 방식1. Add() 함수 이용// new 로 List 를 생성List list = new List();// 생성된 list 에 Add() 로 값을 추가.T value .. 2025. 7. 19. Rigidbody 를 사용하면서, transform 코드가 제대로 동작을 안할 때 Rigidbody 를 추가하고 물체를 움직이다 보면, 내가 작성한 코드랑 별개로 움직이는 느낌을 받게 됩니다. 이것은 유니티가 렌더링용 Transform과 물리 엔진이 다루는 Transform 을 별도로 관리하기 때문입니다. 이번 글에서는 이 둘의 관계와 내부 동작 원리에 대해 설명하고, 직접 이동, 회전시키고 싶을 때 어떻게 처리해야 하는지를 예제와 함께 다뤄보겠습니다. 우리가 흔히 쓰고 있는 Transform (렌더링용)transform.Translate(Vector3.forward * Time.deltaTime);transform.Rotate(Vector3.up * 90f * Time.deltaTime); 이 코드는 일반적으로 잘 동작합니다. 하지만 Rigidbody가 붙어 있으면 다음과 같은 어색.. 2025. 7. 16. Cinemachine 카메라를 붙였더니 카메라가 말을 안 들어요 Unity 에서 Cinemachin 카메라를 처음 접하신 분들이라면, Main Camera 에 Cinemachine Camera 를 연결하면, main 카메라의 position이나 rotation 값이 변경되지 않아 당황스러울 때가 있습니다. 이번 글에서는 Cinemachine 카메라의 동작 원리와 올바른 설정 순서에 대해 알아보겠습니다. Main 카메라에서 Cinemachine 카메라로 제어권이 넘어감먼저, Main 카메라에 Cinemachine 카메라를 연결하면, 제어권을 Cinemachine 카메라에 넘기기 때문에, 그 때부터는 카메라의 위치나 회전 등은 Cinemachine 카메라에서 조정해 주어야 합니다.Cinemachine 에는 Procedural Components 라는 시스템이 있어서, 카.. 2025. 7. 16. foreach() 가 내부적으로 동작하는 방식 C#에서 foreach() 문은 아주 간편하게 컬렉션을 순회할 수 있도록 도와주는 문법입니다. 하지만 이 문법 뒤에는 실제로 어떤 일이 일어나는지, 내부적으로 어떤 코드가 실행되는지를 이해하면 C#의 컬렉션 처리 방식에 대해 훨씬 깊은 통찰을 얻을 수 있습니다. foreach 구문의 일반적인 형태string[] fruits = { "apple", "banana", "cherry" };foreach (string fruit in fruits){ Console.WriteLine(fruit);} 위 코드는 fruits 배열의 각 요소를 순회하며 출력합니다. 매우 간단하지만, 내부에서는 꽤 복잡한 일들이 벌어지고 있습니다. foreach의 내부 동작 (while문으로 변환) string[] fruits .. 2025. 7. 15. 물리 공간과 오브젝트 공간에서의 물체 이동 물체의 이동을 처리할 때, 힘 (Force) 은 물리 공간에서 발생하는 사건이기 때문에 월드 좌표계를 기준으로 계산되며, 이동이나 회전은 (transform) 은 물체 자신의 움직임 이므로, 로컬 좌표계를 기준으로 계산됩니다. 이러한 개념을 이해하면 코드를 작성할 때, 한결 자연스러워질 것입니다. AddForce 는 월드 공간 기준이다 AddForce()는 "물리 엔진이 계산하는 힘(force)" 을 오브젝트에 적용하는 함수입니다.그리고 이 힘은 항상 월드 좌표계 기준으로 작동합니다. rb.AddForce(Vector3.up * 10f); 이 코드는 "월드에서 위쪽 (0,1,0) 방향으로 힘을 준다" 는 뜻입니다.즉, 오브젝트가 아무리 회전해 있어도, 항상 똑바로 위로 날아갑니다. 로컬 방향으로 힘을 .. 2025. 7. 14. 이전 1 ··· 5 6 7 8 9 10 11 ··· 26 다음