전체 글60 FPS / V-Sync 언리얼에서 화면 렌더링과 관련된 문제를 해결하기 위해 V-Sync와 FPS 제한 기능을 제공 FPS1초 동안 몇 개의 프레임이 표시되는를 뜻함높으면 화면이 부드럽게 보이며 입력 또한 즉각적으로 반응낮으면 화면이 끊기거나 느려지게 보임 V-Sync(수직 동기화)프레임을 출력할 때 모니터의 주사율과 동기화하여 출력하게함Screen Tearing 현상이 줄어듬입력 지연이 발생할 수 있다FPS 제한불필요하게 높은 FPS가 실행되어 시스템 자원이 낭비되는 것을 방지하기 위해 도입너무 높은 FPS는 CPU와 GPU에 과부하를 줌언리얼에서는 특정 FPS로 제한을 두어 일정한 게임 속 시간 계산이 보장Delta Time이전 프레임과 현재 프레임 사이에 경과한 실제 시간FPS가 일정하지 않으면 델타 타임은 매 프레임마다.. 2025. 4. 2. 클린코드 1. 이름'- 함수, 변수 명 확실하고 알기 쉽게 작성 2. 중복 코드- 같은 내용의 코드는 묶어서 작성 3. 간결한 함수- 하나의 함수에 많은 기능을 작성하지 말고 기능 별로 분류해서 작성 4. 매개변수 간결화- 많은 매개변수를 필요로 할때 공동점을 찾아 구조체로 묶어서 매개변수를 간결하게 사용 5. 전역 데이터- 서브시스템을 사용해서 코드 추적이 간결해지고 그에따라 수정이 용이해짐 6. 가변 데이터- 변경이 가능한 데이터를 public으로 작성하지 말고 Get, Set을 이용하고 관련 로직은 클래스 내에서 작성 7. 뒤엉킨 변경 8. 샷건 수술- 관련 로직들이 여러 클래스에 분산되어지지 않게 하나의 클래스에서 관리 9. 기능 편애- 다른 클래스의 정보를 많이 사용하게 되면 그 클래스에서 로직을 수행할.. 2025. 3. 27. Replication / RPC Replication 속성은 서버에서 클라이언트로 특정 액터의 동기화를 하는지에 대해 설정하는 것 RPC는 네트워크 환경에서 서버-클라이언트 간의 함수를 실행할 수 있도록 해주는 기능 RPC 종류 3가지Run on Server클라이언트에서 실행서버에서 호출Run on Owning Client서버 "특정 클라이언트 "Multicast서버 "모든 클라이언트 " Run on Server-클라이언트가 물건을 생성하고자 함수를 호출하여 서버에서 물건을 생성하는 방식물건을 생성하였는데 모든 클라이언트에서 보이지 않기에 Replication을 통해 모든 클라이언트에서 볼 수 있도록 설정 Run on Owning Client- 특정 클라이언트만을 대상으로 실해하는 것으로 UI업데이트/ 카메라 등 클라이언트 마다 다를 .. 2025. 3. 17. 언리얼 네트워크와 객체 통신 언리얼 Replication- 멀티플레이어 네트워크 환경에서 데이터나 액터를 서버와 클라이언트 간에 동기화하는 기능 개념 3가지1. RepNotify값 변경시 서버 -> 클라이언트로 이벤트 자동 호출네트워크가 연결되어 있으면 신뢰 가능UPROPERTY(ReplicatedUsing=OnRep_HealthChanged)2. ActorReplication변수값의 동기화 및 오너쉽 관리로 서버 -> 클라이언트서버에서 값 변경 후 클라이언트에 반영UPROPERTY(Replicated)3. RPCs서버와 클라이언트 간 양방향 함수 수동 호출Reliable / Unreliable 선택 가능UFUNCTION(Server, Reliable) / UFUNCTION(NetMulticast, Unreliable)구현 방법1.. 2025. 3. 12. 네트워크 기본 요속 3가지1. 노드네트워크의 기본 단위엔드 노드/ 중간 노드2. 링크노드 간 데이터를 전송하는 연결3. 프로토콜데이터 전송 규칙 배치형태1. P2P1 대 1로 연결2. 버스1개의 BNC 케이블에 여러 대의 컴퓨터를 연결양방향 X3. 링1개의 BNC 케이블을 원형으로 만든 뒤에 연결양방향O4. 스타중앙 허브/ 스위치에 연결허브가 고장나면 연결X5. 메쉬1 대 N 으로 연결신뢰성이 높음, 복잡하고 비용이 비쌈6. 트리라우터 -> 스위치 -> 컴퓨터1개의 스위치가 고장나도 다른 스위치에 연결된 컴퓨터는 안전네트워크의 레이어 (OSI 모델)물리 계층 - 물리적 매체를 직접 관리데이터링크 - 물리 계층에서 전달된 비트를 프레임으로 변환, 에러검사, 흐름제어, 링크 관리네트워크 - 패킷의 경로를 결정/관리,.. 2025. 3. 10. 래그돌 캐릭터가 사망하거나 충격을 받았을 때 자연스럽게 쓰러지는 언리얼에서 제공해주는 효과 스켈레탈 메시 -> Physics Asset -> Physics Body 본 마다 콜리전을 추가 -> 관절 설정을 조절하여 쓰러지도록 설정 C++에서 SetSimulatePhysics(treu) - 본에 물리를 활성화SetCollisionProfileName("Ragdoll") - 충돌 프로필을 Ragdoll로 변경 - 필수 XDisableMovement() - 캐릭터가 움직임XSetCollisionEnabled(ECollisionEnabled::NoCollision) - 콜리전 충돌 비활성화 사망 시 이 코드를 적용할 경우 흐물적 거리면서 쓰러짐*뭔가 자연스럽게 쓰러진다는 것 보다는 힘이 빠져 눕는다는 느낌 2025. 3. 6. 이전 1 2 3 4 5 ··· 10 다음