내일배움캠프(78)
-
240206-TIL
2월 6일 오늘은 수학공부다. 지난번에 살짝 정리했던 라디안과 디그리 그리고 삼각함수에 대해서 좀더 깊게 그리고 모르는게 있다면 하나하나 세세하게 뜯어보도록 하자 라디안 (Radians) / 디그리 (Degrees) 더보기 라디안은 원의 호의 길이가 원의 반지름과 같은 길이일 때의 각도를 나타낸다. 원주율 π(pi)에 대한 각도를 사용하여 표현된다. 원은 한 점으로부터 일정한 거리에 있는 점들로 이루어진 도형이다. 그 한 점을 원의 중심 일정한 거리를 반지름이라고 한다. 원의 호는 원의 일부분인데 원 위의 두 점을 양 끝으로 하는 원의 일부를 말한다. 1 라디안 = 원주율 π(radian) 180도 = π 라디안 360도 = 2π 라디안 라디안은 수학적 계산 및 삼각함수와 관련된 작업에서 주로 사용된다...
2024.02.06 -
240205-TIL
2월 5일 오늘은 유니티의 AI 네비게이션에 대해 배운걸 정리해보도록 하겠다. AI 네비게이션은 인공지능이 게임이나 시뮬레이션 등 가상 환경에서 이동하는 방법을 결정하는 기술 3D 게임에서 캐릭터나 NPC가 지능적으로 이동하도록 만들어지는데 이를 위해 AI네비게이션 시스템은 지형, 장애물, 목표 지점 등을 고려하여 적절한 경로를 생성하고 이동하는데 사용된다. Navigaition Mesh 더보기 Navigation Mesh (네비게이션 매쉬) 3D 공간을 그리드로 나누어 이동 가능한 지역과 장애물이 있는 지역을 구분하는 매쉬. 캐릭터가 이동할 수 있는 영역과 이동할 수 없는 영역을 정의하고, 이를 기반으로 경로를 계산한다. Pathfinding (경로 탐색) 캐릭터의 현재 위치에서 목표 지점까지 가장 적..
2024.02.05 -
240202-TIL
오늘은 오랜만에 알고리즘 문제를 풀다 와 이거 재밌었다 싶은게 있어서 풀었던 알고리즘 문제를 정리하면서 오늘 배웠던 String.Split 메서드와 Char.ToUpper , Char ToLower 에 대해서 정리해보자 그렇다면 오늘 풀어본 알고리즘 문제는? 입출력 예는 다음과 같다. 일단 처음 해야할 일이 공백을 기준으로 글자를 나눠야 했다. 처음에는 for문을 돌려 입력받은 문자열 s의 문자를 하나씩 읽어들여서 공백이 나올때마다 글자를 분리시켜야 하나 했지만 해당 메서드를 이용하면 손쉽게 문제를 해결할 수 있다. 친절하게 설명도 되어 있고 해당 메서드를 사용하면 어떻게 되는건지 친절하게 예제 코드로도 보여준다. 그러면 문제의 입출력 예로 나와있는 "try hello world" 로 테스트를 해보자 오..
2024.02.02 -
240201-TIL
2월 1일 오늘은 그동안 개념을 잘 모르고 사용해왔던 코루틴에 대해 정리해보도록 하겠다. 코루틴은 어떤 상황에서 필요할까? 유니티에선 반복적으로 실행하기 위해 Update문에 코드를 작성을 한다. 하지만 이 Update문이 아닌 곳에서도 반복적으로 코드가 실행되어야 할 필요가 있을때가 있다. 그때 바로 이 코루틴이란 녀석을 사용하는것이 매우 효과적이다 또한 코루틴을 사용한다면 내가 필요할 때만 반복하고 필요 없을때는 사용하지 않는 그런 코드의 작성도 가능하고 당장 실행하지 않고 대기하고 있다가 특정 시간 뒤에 동작하게 하는 등 여러가지 활용방법이 있고 코루틴의 적절한 사용은 자원관리를 매우 효율적으로 할 수 있다. 그렇다면 코루틴? 어떻게 사용하는지 알아보자 코루틴(Coroutine) 더보기 코루틴을 사..
2024.02.01 -
240131-TIL
1월 31일 오늘은 메모리 사용량 관리 기법 그중에서 오브젝트 생성과 파괴를 관리하는 기법인 '오브젝트 풀링' 에 대해서 정리해 보도록 하자. 메모리 사용량 관리는 게임 성능 최적화의 중요한 측면이다. 메모리를 과도하게 사용하면 게임이 충돌하거나 느려져 플레이어의 경험이 저하될 수 있기 때문에 메모리를 효율적으로 관리하는 방법을 이해하는 것이 중요하다. 오브젝트 풀링 왜 알야아할까? 유니티에서 오브젝트를 생성하고 삭제하는 과정은 상당히 비용이 많이 발생하게 된다. Intantiate(오브젝트 생성) 에서 메모리를 새로 할당하고 리소스를 로드하는 등의 초기화 과정 Destroy(오브젝트 파괴) 파괴 하고 난 이후 발생하는 가비지 컬렉팅으로 인한 프레임 드랍이 발생할 수 있다. 우리가 FPS 게임을 한다고 ..
2024.01.31 -
240130-TIL
1월 30일 나는 현재 팀 프로젝트를 진행중이고 팀원들의 뛰어난 코딩 실력 덕에 하루가 다르게 성장해 나가는 중이다. 다른 사람의 코드를 보고 모르는 기능이 있다면 어떻게 동작하는지 어떻게 사용하는지 질문하면서 몰랐던 기능들에 대해서 배우고있다. 오늘은 그렇게 배운 Try - Catch 문에 대해서 정리해 보도록 하자 Try - Catch 더보기 Try - Catch문에 앞서 예외처리에 대한 이야기를 하겠다. 예외처리는 프로그램이 작성한 사람의 의도와는 다르게 실행되어 오류가 발생할때, 오류가 생기면 해결을 해주는 기능을 말한다. 사실 자주보는 에러는 다음과 같다 n의 수를 0으로 나누려 한다던가? 배열의 인덱스 범위를 초과해서 작업을 하려고 한다던가 예시 코드를 보자 a를 b로 나누는 코드이다 코드를 ..
2024.01.30