코드 전시관/Unity(6)
-
[HappyKit] C# Extension Method를 활용한 Vector 변환 기능
HappyKit : https://github.com/HappyFaceFriend/HappyKit GitHub - HappyFaceFriend/HappyKitContribute to HappyFaceFriend/HappyKit development by creating an account on GitHub.github.com 최근에 유니티 개발 중 DOTween을 사용하면서 이건 어떻게 만들었을까.. 하다가처음으로 C#의 Extension Method에 대해 알게 됐습니다.Extension Method는 간단하게 말해 static method를 이용해 어떤 클래스에 직접 메소드를 추가하는 기능으로, 상속 없이 기능 확장이 가능하다는 장점이 있습니다.왜 이제야 알았지 싶었지만, 지금까지 Vector나 Tr..
2024.05.04 -
[Unity] 원활한 카메라 활용을 위한 CameraToken
카메라 효과를 활용할 때마다 항상 고민하던 것은, 두 카메라 효과가 충돌하면 어쩌나다. 예를 들어, 플레이어의 스킬이 카메라를 움직이고있는데 스테이지가 클리어 돼 여기에 해당하는 카메라 움직임이 나와야하는 경우다. 물론 매 케이스마다 우선순위를 두거나 해서 이런 케이스를 처리할 수 있겠지만, 코루틴이 카메라 토큰을 부여받아 토큰을 가진 사용자(코루틴)만 카메라를 활용할 수 있게 하는 방법을 떠올렸다. 토큰을 받기 위해 대기하는 사용자들은 큐에 들어가며, 우선순위에 따라 이전 카메라 효과가 끝나면 토큰을 받는다. 대략적인 사용 예시는 아래와 같다. IEnumerator LastConnectionCameraCoroutine(LanternRelation relation) { CameraControlToken ..
2023.12.29 -
[HappyTools] GameBootstrapper, SingletonBehaviour
HappyTools 프로젝트 더보기 HappyTools는 Unity로 게임을 만들면서 자주 사용하게 되는 기능, 클래스 등을 모아두는 Utility 라이브러리입니다. 딱히 구조가 탄탄한 라이브러리는 아니고, 그냥 제가 개발하면서 썼던 기능들을 아카이브 해두는 용도입니다. 나중에 게임 프로토타이핑이나 게임 개발에 사용할 수 있도록 하는게 목표입니다. HappyTools Github : https://github.com/HappyFaceFriend/HappyTools GitHub - HappyFaceFriend/HappyTools: My own code base which consists of utilities and useful base classes. My own code base which consis..
2023.03.21 -
[HappyTools] StateMachineBase
HappyTools 프로젝트 더보기 HappyTools는 Unity로 게임을 만들면서 자주 사용하게 되는 기능, 클래스 등을 모아두는 Utility 라이브러리입니다. 딱히 구조가 탄탄한 라이브러리는 아니고, 그냥 제가 개발하면서 썼던 기능들을 아카이브 해두는 용도입니다. 나중에 게임 프로토타이핑이나 게임 개발에 사용할 수 있도록 하는게 목표입니다. HappyTools Github : https://github.com/HappyFaceFriend/HappyTools GitHub - HappyFaceFriend/HappyTools: My own code base which consists of utilities and useful base classes. My own code base which consis..
2023.03.13 -
[Unity] Lerp Coroutine 만들기
Unity로 게임을 만들다보면 아래같은 코드를 자주 사용하게 됩니다. 정말 많이 사용하는 형식의 코드인데 적용하는 변수가 다르기 때문에 매번 새로 작성했었는데요, 이번 기회에 조사를 좀 해서 하나의 함수로 만들기로 했습니다. 처음에 시도한건 IEnumerator 함수에 ref로 바꿀 변수를 받는 방법이었습니다. 하지만 IEnumerator 함수는 ref 파라미터를 받을 수 없더군요. 결국 조사를 통해 찾아낸건 변수를 set 하는 함수를 인자로 받는 방법이었습니다. 아쉽게도 Mathf.Lerp를 사용하기때문에 템플릿으로 만들 수는 없었습니다. 그래도 이렇게 함수화 했으니 앞으로 많이 쓸 것 같네요 ~!
2022.03.24 -
[Unity] 카드게임에서 핸드의 카드들 곡선으로 보이게 하기
안녕하세요! 오늘은 카드게임을 개발하면서 맨처음 만들게 된 핸드의 카드들을 둥글게 보이게 해주는 방법을 소개해드리려합니다! Horizontal layout으로는 이룰 수 없는 부분이고 꽤 삽질을 했어서 공유드리려해요! 위 효과를 내기 위해선 3가지가 필요한데요, x간격을 일정하게 유지하기 y위치를 적절하게 조정하기 카드를 위치에 따라 살짝씩 회전시켜주기 x간격을 일정하게 유지하는건 for 문으로 해결할 수 있겠죠? 2번과 3번을 자세히 보겠습니다. 먼저 간단한 원리를 설명드릴게요. 기본적인 원리는 저~~ 아래에 한 점을 기준으로 원을 그려서, 그 원의 둘레에 카드들을 배치하는겁니다. y좌표 구하는 법 카드를 어떤 점을 중점으로하는 원의 둘레에 놓기 위해선 x와 y좌표, 그리고 반지름 R 중 두 개를 정해..
2022.03.05