목록전체 글 (125)
멈추지 않고 끈질기게

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 0. 서문 이전에 만들었던 3D 프로젝트에서는 Input.GetKey()를 통해 마우스 입력을 체크하고, 우클릭 드래그 상태로 움직인 거리에 비례하여 카메라를 회전시키는 로직을 구현했었습니다. 이번 프로젝트에서는 플레이어의 움직임을 Player Input을 통해 구현한 만큼, 카메라 회전도 Player Input을 이용하여 구현해보기로 했습니다. 현재 CameraMove 클래스는 FixedUpdate()에서 카메라의 위치를 플레이어 위치 + 오프셋(플레이어와의..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 0. 서문 폴가이즈의 '점프 쇼다운' 맵을 모방한 스테이지를 제작하는 과정에 대한 내용입니다. 폴가이즈처럼 정확한 원형 궤도에 맞는 발판으로 만들고 싶었는데, 아쉽게도 사용중인 에셋에 그런 발판이 없어서 일반 사각형 발판을 사용했습니다. 1. 회전 막대 맵 중앙의 회전 막대는 기존의 RotatingObstacle 클래스를 사용하여 구현했습니다. public class RotatingObstacle : MonoBehaviour { Rigidbody rigid; ..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다.※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. 1. 라이트 맵 현재 프로젝트는 그래픽적으로 고사양을 추구하는 게임은 아니기에, 라이팅은 라이트맵을 활용하기로 했습니다. 다만 완전히 Baked로 사용하기에는 회전형 장애물 등 동적인 오브젝트 비중도 꽤 높기 때문에, Mixed 모드를 선택하기로 했습니다. Lightmap Resolution은 디폴트 값인 40으로 Bake 해보니 라이트맵이 2장으로 나와서, 몇번 시행착오를 거쳐보니 Lightmap Resolution이 15일 때 1장으로 처리되었습니다. 40일때와 시각적으로 큰 차이가 느껴지지는 않아 배칭이 깨지지 않도록 라..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 1. 골인 시 처리 멀티 플레이에서 골인 시 처리는 다음과 같은 로직으로 작성했습니다. public void Goal() { switch (curMode) { case GameMode.SingleGame: StartCoroutine(Goal_SingleGame()); break; // 승자는 Goal_MultiGame 직접 호출(isWinner = true) // 나머지 인원(패자)들은 RPC로 호출(isWinner = false) case GameMode.M..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 1. True or False 발판 폴가이즈를 보면 착지해보기 전까지 진짜인지 가짜인지 모르는 발판이 있습니다. 진짜일 경우 발판 색이 바뀌면서 고정되고, 가짜일 경우 사라집니다. 이번에는 해당 발판을 구현해서 신규 스테이지를 추가하려고 합니다. public class TrueOrFalsePlatform : MonoBehaviour { MeshRenderer myRenderer; Animator animator; [Header("낙하")] [SerializeF..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 / Pun 2.41 / Photon lib 4.1.6.17 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 1. UI 세팅 우선 멀티플레이 대기중인 유저들끼리 채팅할 수 있도록 채팅창을 멀티플레이 대기 UI에 추가하였습니다. 채팅 입력칸은 InputField(TMP)로 만들었고, 채팅 출력 영역에는 Vertical Layout Group을 붙여 자동 정렬되도록 했습니다. 정렬 기준은 Lower Left로 하여 새로운 채팅이 가장 밑으로 출력되고 이전 채팅은 위로 올라가도록 했습니다. 채팅 텍스트(TMP)의 ..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Pun 2.41 / Photon lib 4.1.6.17 버전을 기준으로 작성되었습니다. 1. 유니티 내 포톤 서버 세팅 수정 Assets/Photon/PHotonUnityNetworking/Resources 폴더 -> PhotonServerSettings 파일 선택 -> 인스펙터 창에서 Server 값 수정 2. XML 파일 수정 (포톤 파일 경로)\deploy\LoadBalancing\Master\bin -> Master.xml.config 파일 열기(메모장 or VS Code 등) -> 기존 IP 기입한 부분 바뀐 IP로 수정 (Ctrl + F로 55557 검색하면 용이) (포톤 파일 경로..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 .Net 7.0 버전을 기준으로 작성되었습니다. 0. 서문 변수 앞에 (타입명)을 붙이는 형변환 방식은 단순하고 강력하지만 그만큼 잘못된 형변환으로 인한 위험 부담도 동반합니다. 이를 막기 위해 C++의 경우 4종류의 타입 변환 연산자를 제공합니다(static_cast, dynamic_cast, reinterpret_cast, const_cast). C#에서도 이와 비슷하게 명시적 형변환을 위한 수단을 제공하고 있습니다. 1. Convert 클래스 C#에서는 명시적 형변환을 위한 함수들이 정의되어 있는 Convert 클래스를 제공합니다. 해당 클래스에는 'To(타입명)'과 같은 이름의 함수들이..