목록전체 글 (125)
멈추지 않고 끈질기게
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. 1. 동작 원리 일반적인 큐(Queue)가 입력된 순서대로 출력하는 선입선출(FIFO) 방식의 자료구조였다면, 우선순위 큐(Priority Queue)는 저장된 데이터 중 가장 우선순위가 높은 데이터를 우선적으로 출력하는 자료구조입니다. 이를 가능토록 하는 것이 힙 트리(Heap Tree) 입니다. 우선순위 큐는 내부적으로 데이터를 힙 트리 방식으로 저장하고, 출력 시 루트 노드를 제거하고 값을 반환함으로써 가장 큰(우선순위가 높은) 데이터를 출력하게 됩니다. https://sam0308.tistory.com/73 [알고리즘] 트리(Tree) ※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 ..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. 1. 트리(Tree) 트리는 계층 구조를 표현하기에 적합한 자료구조로, 노드(Node)와 간선(Edge)으로 이루어져 있습니다. 시각적으로 표현해보면 이름처럼 나무의 뿌리가 밑으로 뻗어나가는 것과 비슷한 구조를 가지게됩니다. 구조상 그래프의 일종으로 볼 수도 있으나, 계층 구조를 표현하는 만큼 순환하는 부분이 있으면 안됩니다. 또한 트리는 구조상 재귀적인 특성을 가집니다. 즉, 큰 트리에서 일부를 잘라내도 여전히 트리의 구조를 가집니다. 예를 들어 그림 1에서 B, D, E의 부분을 잘라내면 여전히 노드가 3개인 트리가 됩니다. 이렇게 잘라낸 트리의 일부분을 서브트리(sub tree)라고 부릅니다. 2. 이진 ..
현재 바라보는 방향에 따른 움직임 제어 // 시계 방향으로 선언 enum Direction { Up, Right, Down, Left } int curDir = (int)Direction.Up; // Direction 순서대로 해당 방향으로 움직일 시 변화값 정의 int[] frontX = { 0, 1, 0, -1 }; int[] frontY = { -1, 0, 1, 0}; int[] leftX = { -1, 0, 1, 0 }; int[] leftY = { 0, -1, 0, 1 }; int[] rightX = { 1, 0, -1, 0 }; int[] rightY = { 0, 1, 0, -1 }; int[] backX = { 0, -1, 0, 1 }; int[] backY = { 1, 0, -1, 0 };..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. 이번 포스팅에서는 유니티의 새로운 리소스 로드 기능 Addressable에 대해 알아보겠습니다. 1. Addressable 등록 우선 Addressable 기능은 Package Manager에서 'Addressables'로 검색하여 추가할 수 있습니다. 또한 프로젝트에서 Addressable 기능을 처음 사용한다면 그룹을 추가해주어야 합니다. Asset Management -> Addressables -> Groups로 들어간 뒤 'Create Addressable Settings' 버튼을 누르면 디폴트 그룹이 생성됩니다. 해당 ..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 / Pun 2.41 / Photon lib 4.1.6.17 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 1. 포톤 네트워크를 이용한 씬 호출 기존에는 멀티플레이 시 RPC를 통해 같은 인덱스의 씬을 로드하도록 했으나, 포톤 SDK에서 지원하는 PhotonNetwork.LoadLevel()을 사용하는 방향으로 로직을 변경하기로 했습니다. 해당 함수를 사용하면 같은 방에 속한 다른 클라이언트들도 해당 씬을 로드하며, 로딩 프로세스 동안 네트워크 메시지를 일시정지하므로 좀 더 안정적인 씬 호출이 될 것으로 판..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 내용을 포함하고 있습니다. 서문 개발중인 3D 프로젝트에서 계속 골머리를 앓고 있던 이슈가 있었습니다. Rigidbody.AddForce() 함수가 y축으로만 정상 동작하고, x축 또는 z축으로는 제대로 동작하지 않는 것이었습니다. y축으로는 힘을 조금만 주어도 잘 뛰어오르는 데 반해, x축이나 z축으로는 큰 힘을 주어도 잘 날아가지 않고 더 큰 힘을 주다보면 마치 순간이동 하듯이 부자연스럽게 이동하는 모습을 보였습니다. 영상 1. AddForce() 이슈 위 영상에서 파란 튜브는 닿는 순간..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - https://docs.unity3d.com/kr/2018.4/Manual/class-Animator.html 1. 애니메이터(Animator) 유니티에서 오브젝트에 애니메이션을 추가하고 싶다면 우선 Animator 컴포넌트를 추가하고, Animator Controller를 등록해야 합니다. Animator에 애니메이션 클립을 등록하고 변환 조건을 설정하여 상황에 맞는 애니메이션을 실행하도록 할 수 있습니다...
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 .Net 7.0 버전을 기준으로 작성되었습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/enum - https://www.csharpstudy.com/CSharp/CSharp-enum.aspx 1. 열거형(enum) 열거형은 정수 형태의 값들을 별도의 이름으로 정의해 둔 상수들의 집합으로, C#에서는 다음과 같이 enum 키워드를 사용하고 내부에 열거형 멤버들을 선언하여 정의합니다. enum Direction { Up, // 0 Down,..