본문 바로가기

게임개발31

멀티 스레드 환경에서 소켓 프로그래밍 소켓OS 내부에는 "프로토콜 스택"이 있는데, Transport 계층이라 불리는 TCP 또는 UDP는 Applicaton 계층에서 송수신할 데이터를 받아서 해당 프로토콜에 맞게 작업을 하고, 인터넷에서 데이터를 송수신하기 때문에 헤더 정보를 다시 Internet 계층인 IP로 묶고, IP 프로토콜이 속한 계층 아래에 있는 데이터 링크 계층인 랜카드의 Mac 주소를 헤더 정보로 다시 묶은 다음 최종적으로 물리 계층에 있는 통신 케이블 같은 장비를 통해서 데이터를 송수신한다.노드(노트북, 휴대폰 ..등의 전자기기)들이 서로 데이터를 송수신하기 위해서 "소켓"이라는 것을 이용한다.즉, 소켓을 만든다는 의미는 데이터를 어떻게 송수신할 건지에 대한 프로토콜 종류(TCP, UDP), 송신 측과 수신 측의 IP 주소.. 2024. 5. 18.
애니메이션 평타 캔슬 or 모션 캔슬 LOL을 기준으로 애니메이션 평타 캔슬 적용하기참고 : https://blog.naver.com/roo4803/220827932868 공격버튼 클릭시1. 플레이어가 공격 애니메이션을 실행중이라면 대기2. 플레이어가 공격 애니메이션을 실행중이 아니라면 공격 상태로 변환public void Handle(PlayerController playerController){ // StopAttack == true 경우만 공격 애니메이션 실행 if(_playerController.StopAttack){ AnimationAttackPlay(GetComponent()); } }void AnimationAttackPlay(Animator anim){ _playerController.StopAttack = fa.. 2024. 5. 4.
투사체 사정거리 계산 원점에서 시작하지 않는 벡터의 크기를 구하는 방법을 알아보자왜냐하면 캐릭터가 이동할 때 마다 투사체의 시작 위치가 변하기 때문에 그에 맞춰서 투사체의 이동거리를 계산해야 된다. V2의 시작 좌표는 (1, 2) 끝 좌표는 (4, 6) 이다. 끝 좌표에서 시작 좌표를 빼고 루트를 씌워서 크기를 구하면 5가 나온다.마찬가지로 V1의 크기도 5가 나오는데, 원점에서 시작하지 않는 V2의 크기를 구하기 위해서 x축 방향으로 -1 감소시키고 y축 방향으로 -2 감소시켜서 원점부터 시작하는 벡터를 만들고 크기를 구한다는 것을 알수 있다. 즉, 원점에서 시작하지 않는 벡터의 크기를 구하기 위해서는 "벡터의 시작 좌표" - "벡터의 끝 좌표" 이후 각 x, y, z .. 값을 제곱시킨 이후 루트를 씌워서 크기를 구하면 .. 2024. 4. 28.
3D 게임 오브젝트 클릭 or 터치시 UI 띄우기 유니티에서 제공되는 "IPointerClickHandler" 인터페이스로 PC에서 마우스 클릭시나 모바일에서 클릭 이벤트를 구현할 수 있다. UI가 아닌 3D 오브젝트에 클릭 이벤트를 적용하고 싶으면 3가지의 조건이 필요하다. 1. main 카메라에 "Pyscis Raycaster" 컴포넌트 2. UI를 띄울 대상 오브젝트에 Collider 컴포넌트 3. Event System 참고 : https://maintaining.tistory.com/entry/Unity-IPointer-Interface-%ED%81%B4%EB%A6%AD-%ED%84%B0%EC%B9%98-%EC%9D%B4%EB%B2%A4%ED%8A%B8 2024. 4. 24.