전체 글 46

멋쟁이사자처럼부트캠프 유니티 게임 개발 5기 62일차

Unity & Photon 네트워킹 정리 문서1. 네트워크 기본TCP (Transmission Control Protocol)연결 지향, 신뢰성·순서 보장.채팅, 인벤토리, 상점과 같은 정확성이 중요한 데이터 전송에 적합.UDP (User Datagram Protocol)비연결, 빠르지만 손실 가능.캐릭터 이동, 실시간 액션 이벤트에 적합.→ 실무에서는 TCP + UDP 혼용 구조가 일반적이다.2. PhotonViewPhoton에서 모든 네트워크 오브젝트는 PhotonView를 통해 관리된다.ViewID : 네트워크 고유 식별자.IsMine : 로컬 클라이언트가 소유자인 경우 true.Owner : 오브젝트를 소유한 Photon.Realtime.Player 객체.TransferOwnership() : 런..

Unity 2025.08.18

멋쟁이사자처럼부트캠프 유니티 게임 개발 5기 54일차

C# 중급 🧱 1. Sealedsealed class MyClass {} sealed는 상속 금지 키워드이 클래스를 상속해서 다른 클래스를 만들 수 없음Unity에서 MonoBehaviour를 상속한 클래스를 상속하지 못하게 막을 때 유용🧩 2. Delegate와 Event✅ Delegate란?메서드를 변수처럼 저장하고 실행할 수 있는 타입 (함수 포인터 느낌)delegate void MyDelegate(string msg);MyDelegate del = ShowMsg;del("안녕!");✅ Event란?Delegate를 외부에서 Invoke 못 하게 감싸는 키워드public event MyDelegate onJump;onJump += Jump;onJump?.Invoke(); // 외부에서는 Inv..

Unity 2025.08.04

멋쟁이사자처럼부트캠프 유니티 게임 개발 5기 51일차

Light- Directional Light 태양광 ( 직선의 모든 범위 )- Shadows의 영향 1. Hard Shadows 2. Soft ShadowsLight, Shadows는 전체적으로 무겁기때문에 신경써서 만들어야함 Realtime이 아닌 Baked를 하려면 고정된 오브젝트에 적용되기때문에 오브젝트들 Static설정해 미리 계산할수있도록 함Realtime은 편리하고 잘나옴 baked는 정적인 대상..Mixed는 Static적용한 오브젝트는 미리 Baked를 하고 그외 오브젝트는 Realtime으로 영향을 줌 Layer에 대해 빛을 적용할 Layer만 선택하기 Point Light Spot Light (손전등 모양의 빛)Area Light (baked only) Lighting bake할때..

Unity 2025.07.30

멋쟁이사자처럼부트캠프 유니티 게임 개발 5기 11일차

유니티 에디터 실습유니티 C#유니티 에디터 실습 레이어 처리 카메라에서 Culling Mask선택해 렌더링할 레이어그룹을 선택할 수 있다. Light에서도 동일하게 Culling Mask선택 가능오브젝트에 레이어를 부여하면 해당 레이어만 보여짐 실습 프로젝트무료 고양이 에셋을 받아 임포트해주고 Scene을 2D로 변경 메인카메라를 Orthographic으로 설정해 2D 프로젝트 환경을 만들어준다. 받은 고양이 에셋의 크기가 작아 Pixels per Unit을 줄여 더 크게 변경해주고 배경과 바닥타일의 Draw Mode를 Tiles로 바꿔서 사이즈를 늘려주면 그 타일 그대로 늘어나게 되어 크기를 맞춰줌. 배경과 바닥을 2개씩 조합해 무한히 움직이는 배경을 만들어준다. 테스트 과정에서 조합한 2개 오브젝트..

Unity 2025.05.28

멋쟁이사자처럼부트캠프 유니티 게임 개발 5기 10일차

유니티 에디터 실습유니티 C#유니티 에디터 실습 Rotate함수 Rotate함수의 오버로드public void Rotate(Vector3 eulerAngles) // 오일러 각도public void Rotate(Vector3 axis, float angle) //Vector3(축) + float(각도)transform의 Rotate함수를 사용해 룰렛을 회전하는 기능 3D이기 때문에 Z축을 기준으로 오브젝트를 회전시키고 마우스클릭을 통해 rotSpeed를 올려 돌아가게 만들어줌 스페이스바를 누르면 bool타입인 isStop을 true로 줌으로써 조건문이 동작하게하고 회전 속도에 0.98을 계속해서 곱해줌으로써 현재 속도를 줄이는 기능을 만들어줌이렇게 계속해서 0.98을 곱하면 끝이없으므로 속도가 0.1f이..

Unity 2025.05.27

멋쟁이사자처럼부트캠프 유니티 게임 개발 5기 9일차

유니티 C#유니티 C#GetAxis(), GetAxisRaw(), LookAt함수와 normalized //부드럽게 증감하는 값 -1 ~ 1 float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); //딱 떨어지는 값 -1, 0, 1 //float h = Input.GetAxisRaw("Horizontal"); //float v = Input.GetAxisRaw("Vertical"); // x y z Vector3 dir = new Vector3(h, 0, v); //nomalized 1, 1, 0.71 Vector3 normalDir = dir.normalized; // 정규화 과..

Unity 2025.05.25

멋쟁이사자처럼부트캠프 유니티 게임 개발 5기 8일차

유니티 에디터 활용유니티 C# 기초 유니티 에디터 활용태그를 활용해 오브젝트 찾기public GameObject obj;obj = GameObject.FindGameObjectWithTag("Player"); 게임 오브젝트를 생성하고 FindGameObjectWithTag함수를 통해 태그에 맞는 오브젝트를 가져온다. obj에 객체를 할당해주고 name, tag를 통해 이름과 태그를 가져올수있고 transform을 거쳐 위치, 회전, 크기 데이터도 가져와서 확인가능Debug.Log($"이름 : {obj.name}"); //게임오브젝트의 이름Debug.Log($"태그 : {obj.tag}"); //게임오브젝트의 태그 Debug.Log($"위치 : {obj.transform.position}"); //게임오브..

Unity 2025.05.22

멋쟁이사자처럼부트캠프 유니티 게임 개발 5기 7일차

Unity C# 기초와 Unity Editor 오브젝트 제어Unity C# 기초와 Unity Editor 오브젝트 제어변수 종류 지역변수(Local Variable)메소드나 블록 내에서 선언되고 그 범위 내에서만 사용 가능메소드가 종료되면 메모리에서 제거됨다른 메소드에서 접근 불가능멤버변수(Instance Variable)클래스 내부, 메소드 외부에 선언됨객체(인스턴스)마다 별도로 메모리를 할당받음객체가 생성될 때 메모리에 할당되고, 객체가 소멸될 때 제거됨정적변수(Static Variable)static 키워드로 선언클래스당 하나만 존재하며 모든 인스턴스가 공유프로그램 시작 시 메모리에 할당되고 종료 시 제거됨클래스 이름으로 직접 접근 가능 (예: ClassName.StaticVariable)전역변수(..

Unity 2025.05.21