전체 글 51

내일 배움 캠프: 안 좋은 코드 습관(2)

이전 글안 좋은 코드 습관(1) 저번 글에 이어서 유니티 엔진을 사용해 게임 개발하는 과정에서 안 좋은 코드 습관에 대해 정리를 해 보았다.올바른 캐싱 순서( Ex. Camera.main, new WaitForSeconds )유니티에서 캐싱을 업데이트문 혹은 코루틴 같은 잦은 호출이 있는 곳에서 캐싱을 할 경우 메모리 성능을 많이 잡아 먹는 경우가 생길 수 있다. 다음 두가지 예시에서 확인할 수 있다  1. Camera.main을 사용한 캐싱 Camera.main은 하이어라키 창에서 전체 탐색을 통해 카메라를 찾는 방식을 사용한다. 이는 연산 성능이 매우 좋지 않은 편에 속하기 때문에 Update문이 돌아갈 때마다 캐싱을 하게 된다면 엄청난 성능 낭비를 발생 시킬 것 이다. 따라서, Update문이나 코..

내일배움캠프 2024.11.26

내일 배움 캠프: 안 좋은 코드 습관(1)

유니티 엔진을 사용해 게임 개발하는 과정에서 안 좋은 코드 습관에 관해 강의를 들어 해당 내용을 리마인드 하자는 느낌에서 정리해 보았다. 벡터 연산다음 두 식은 dir이라는 이름을 가진 Vecor3 값에 속도(speed)와 Time.deltaTime을 곱해주고 있다. 겉보기에는 큰 차이가 없어 보이는 두 식이 실제로 차이가 존재할까? transform.position += dir * speed * Time.deltaTime; transform.position += speed * Time.deltaTime * dir;더보기실제로 두식은 연산 순서에 따른 차이가 존재한다.  Vecot3 dir = new Vector3(1,1,1);이라고 가정 하겠다.  dir은 Vector3 탑이기 때문에 dir은 각 축(..

내일배움캠프 2024.11.25

내일배움캠프: 유니티 Character Controller

Character Controller유니티 환경에서 제공하는 클래스로 캐릭터 움직임을 더 쉽게 제어할 수 있도록 도와주는 기능rigidbdoy가 없어도 쉽게 움직임을 제어할 수 있도록 메서드를 제공 한다. 이 외에도 다양한 기능들을 제공 해준다. 단점으로는 중력, 질량등 물리적인 처리를 원한다면 별도로 구현해 줘야한다는 점있다. Character Controller 설정 값 Slope Limit:  이동할 수 있는 최대 경사각, 이 값보다 가파를 경우 캐릭터가 미끄러지거나 이동이 불가능Step Offset:  올라갈 수 있는 장애물(계단) 최다 높이, 이 값보다 낮은 높이의 장애물은 넘어갈 수 있음Skin Width: 캐릭터의 콜라이더 표면과 충돌 검사에 사용되는 공간Min Move Distance: 캐..

내일배움캠프 2024.11.11