목록포트폴리오 (31)
멈추지 않고 끈질기게

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다.※ 해당 포스팅은 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)의 ..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 1. Tags(태그 관리용 클래스) // 태그를 잘못 입력하는 예시 void OnCollisionEnter(Collision coll) { // Player를 player로 잘못 입력 if(coll.gameObject.CompareTag("player")) { StartCoroutine(Fall()); return; } } 유니티에서 충돌 판정을 체크할 때 CompareTag() 함수를 통해 태그를 확인하는 경우가 많습니다. 문제는 해당 함수의 매개변수가 st..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 1. 회전 발판 public class RotatingPlatform : MonoBehaviour { Rigidbody rigid; [SerializeField] float rotateDegree; Quaternion deltaRotation; Vector3 rotateVelocity; 발판의 회전을 RIgidbody로 구현할 예정이므로 RIgidbody 변수를 선언하였고, 초당 회전 각도는 인스펙터 창에서 입력할 수 있도록 SerializeField로 선언하..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. ※ 개발 중인 유니티 3D 포트폴리오의 소스 코드를 포함하고 있습니다. 1. 이동 발판(Moving Platform) using UnityEngine; public class MovingPlatform : MonoBehaviour { Rigidbody rigid; [SerializeField] float moveSpeed; Vector3 moveVec; Vector3 dirVec; 우선 움직임을 Rigidbody로 구현할 예정이기에 Rigidbody 변수를 선언하였고, 속도 조절용 변수 moveSpeed는 인스펙터 창에서 조절할 ..