전체 글(13)
-
Unity Transform 회전
1. Transform 회전 개요유니티에서 객체의 회전을 제어할 때 주로 오일러 각(Euler Angles)과 쿼터니언(Quaternion)을 사용한다.이 두 방식은 각각의 장단점이 있으며, 올바르게 사용하기 위해서는 그 수학적 배경을 이해하는 것이 중요하다.1.1 오일러 각 (Euler Angles)오일러 각은 X, Y, Z 축을 기준으로 회전을 순차적으로 적용하는 방식이다.예를 들어, 유니티 트랜스폼 컴포넌트의 rotation에 (30, 45, 60)을 입력하면 X축으로 30°, Y축으로 45°, Z축으로 60°으로 회전하는 것을 의미한다.Unity에서는 기본적으로 Z → X → Y 순서로 적용되며(Intrinsic Rotation 방식), 각 회전이 이전 축에 따라 변하는 방식이다. ① 장점 ∙ 직..
2025.03.03 -
Unity Transform 이동
1. Transform 이동 개요 ● Transform 컴포넌트는 Unity에서 객체의 위치, 회전, 크기를 제어하는 핵심 요소이다. ● Transform 이동은 비물리적 방식으로, 물리엔진의 영향을 받지 않고 충돌 검사나 물리적인 상호작용을 무시한다. 1.1 좌표 체계 ① 월드 좌표 (World Coordinates): Unity 씬(scene) 전체를 기준으로 한 객체의 위치를 나타낸다. 예: (5, 1, 0)은 씬의 원점을 기준으로 X축으로 5, Y축으로 1인 지점에 위치한다. ② 로컬 좌표 (Local Coordinates): 부모 객체를 기준으로 객체의 위치를 나타낸다. 예: 부모 객체가 (5, 1, 0)..
2025.01.10 -
Unity Transform 이해하기
1. Transform이란?Transform은 유니티의 핵심 컴포넌트로서, 게임 내 모든 오브젝트는 Transform 컴포넌트를 필수적으로 가진다.Transform은 오브젝트의 위치, 회전, 크기를 관리하며, 이를 기반으로 물리 엔진(Rigidbody, Collider)는 오브젝트의 상호작용을 계산하고, 렌더링(Rendering) 시스템은 오브젝트를 화면에 표현한다. 유니티에서 Transform은 다음과 같은 기능을 제공한다.위치(Position): 월드 좌표 또는 로컬 좌표에서의 오브젝트 위치를 정의회전(Rotation): 오브젝트의 방향을 정의하며, 쿼터니언 또는 오일러 각도로 표현스케일(Scale): 오브젝트의 크기를 정의하며, 로컬 좌표계에서 상대적으로 설정계층 구조(Hierarchy): 부모-자..
2024.12.29 -
06. 동적 메모리
해당 내용은 자료구조/알고리즘을 공부하기 위해 작성된 것입니다. 혹시 오류가 있다면 지적 부탁드립니다. 정적 메모리와 동적 메모리 프로그램에서 사용하는 변수들은 자료형에 맞는 메모리를 할당받게 됩니다. 이 메모리들은 정적 메모리 또는 동적 메모리라는 이름으로 존재합니다. 먼저 정적 메모리란 코딩 과정에서 변수에 할당할 메모리를 미리 지정해 주는 방식이며, 이 메모리는 프로그램이 끝날 때까지 크기가 변경되지 않고, 프로그램이 끝날 때만 자동으로 사라지게 되는 메모리입니다. 정적 메모리들은 다음과 같습니다. int a = 10; int array[100]; char *str = "data structure" 정적 메모리들은 대체로 우리가 자주 사용하는 변수 선언과 같다고 볼 수 있으며, 간단히 작성할 수 있..
2023.01.06 -
05. 포인터
(해당 내용은 자료구조/알고리즘을 공부하기 위해 작성된 것이므로, 내용에 오류가 있을 수 있습니다.) 포인터(Point)란 C/C++ 프로그래밍에서 매우 중요한 개념입니다. 또한, 처음 접할 경우 매우 생소하고 어려운 개념인데요. 저도 이번에 포인터를 접하였을 때 이해가 가지 않았습니다만, 이 글을 작성하면서 공부해 보고자 합니다. 변수와 메모리 포인터를 이해하기 위해서는 먼저 컴퓨터 메모리에 변수가 어떻게 저장되어 있는지를 알아야 합니다. 아래와 같이 정수형 변수 num을 선언하고, 이 변수에 4를 대입하는 코드를 실행했다고 가정해 봅시다. 그럼 컴퓨터 메모리에 아래와 같은 동작이 실행될 겁니다. int main() { int num; num = 4; return 0; } 변수 num이 정수형(int)..
2022.12.30 -
04. 클래스
(해당 내용은 자료구조/알고리즘을 공부하기 위해 작성된 것이므로, 내용에 오류가 있을 수 있습니다.) C++은 기존의 절차지향 언어인 C 언어가 각 물체 간의 상호작용 등 복잡한 관계를 표현하는데 한계가 있음을 인식하고, 이를 개선하기 위해 객체지향 언어라는 새로운 개념을 도입하면서 만들어진 언어입니다. C++ 언어는 객체지향 언어로서 기존의 C 언어와는 다른 특성을 가집니다. 추상화(abstraction) 캡슐화(encapsulation) 다형성(polymorphism) 상속(inheritance) 코드의 재활용(resuability of code) 클래스는 위의 객체지향적인 특성을 구현하기 위한 가장 중요한 개념입니다. 클래스의 개념 클래스는 C의 구조체에서 확장된 개념이라고 볼 수 있습니다. 실제로..
2022.12.22