목록Unreal Engine 5 (19)
군침이 싹 도는 코딩
1. 월드 파티션의 사용목적 # 월드 파티션은 언리얼 내부의 대규모 맵을 거리 기반으로 레벨 스트리밍을 할 수 있게 해준다 스트리밍 소스와 셀의 거리에 따라 자동으로 로드, 언로드를 해준다 이를 통해 성능의 하락 없이 대규모 맵을 구성하기 용이하다 2. 월드 파티션 맵 생성 # 언리얼 에디터를 열어 Tool > Convert Level 을 선택한다 # 바꾸고 싶은 맵을 선택하고 Open 을 누른다 # 컨버트 세팅창이 열리고 별도의 체크 없이 OK를 누르면 컨버트 작업이 진행된다 맵에 있는 에셋에 따라 속도의 차이가 있으며 많을수록 더 걸릴수 있다 3. 나누어진 맵 보기 # 작업이 완료되면 몇개의 파일이 생기고 WP 라는 맵을 열어보자 # 이 맵을 열었을때 아무것도 보이지 않을것이다 이것은 전부 언로드 된..
1. Widget Blueprint 만들 2. 캔버스 패널 안에 텍스트 넣기 # 캔버스 패널 안에 텍스트를 넣고 원하는 위치와 원하는 문구를 써준 뒤 앵커 위치도 조절해준다 필자는 캐릭터 시야의 하단부에 배치하고싶어서 이런식으로 배치 했다 3. 텍스트의 이름 변경과 변수 설정 # 텍스트의 이름을 바꿔주고 변수로 설정한다 이유는 이 값을 받아서 나중에 써야하기 때문이다 4. 프로젝트 세팅 # 프로젝트 세팅에 들어간다 # Engine > Collision 이동 # 새로운 채널을 만들어서 인터렉션 채널을 만들어준다 5. 플레이어 캐릭터에 노드를 만든다 # 틱 이벤트를 만들고 Line Trace By Channel 을 연결한다 카메라를 가져와서 Get World Location 과 전방 백터값인 Get Forw..
1. 목표 지점 이미지 가져오기 https://game-icons.net/ 4131 free SVG and PNG icons for your games or apps | Game-icons.net Already 4131 free icons for your games Last Update Dec 20, 2022 | Recent iconsPopular ones with random colorsAbout the projectAn ever growing collection of free game iconsDozen new symbols are added weekly and organized in intuitive categories to offer bot game-icons.net # 위 사이트에서 목표지점의 ..
Pixel Streaming 서버는 고사양의 그래픽 카드로 인해, 다른 인스턴스 타입에 비해서 비용 또한 높은 편이며, 수량 확보도 어려운 상황 ( 특히 G4dn.2xlarge 이상 ) ● 윈도우 대신 리눅스 인스턴스 사용 약 34% 정도 비용절감 효과 ● Reserved Instance 적용 온디맨드 대비 Window 25% / Linux 37% ● Saving Plans 적용 온디맨드 대비 Window 18% / Linux 28% ● Spot Instance 활용 온디맨드 대비 Window 43% / Linux 64%
Basic Concept # 3개 또는 4개의 인스턴스가 필요한 상황입니다. 먼저, 클라이언트는 매치메이킹 서버에 클라이언트 커넥션을 요청합니다. 매치메이킹 서버는 이 요청을 분석하고 처리합니다. 웹 시그널링 서버는 연결된 코스턴 서버와 클라이언트 간의 연결을 조정하며, 클라이언트와 서버 간의 통신을 주도합니다. 이러한 설정 후, 클라이언트와 픽셀 스트리밍 서버 간에 데이터 교환을 통해 게임 플레이가 가능해집니다. Autoscaling # 여러대의 서버가 있는 경우 매치메이킹과 코스턴은 적은 수의 갯수 웹 시그널링과 픽셀 스트리밍 1:1이거나 둘을 합치는 방안 Lambda # 매치메이킹 서버를 람다로 관리하고 웹 시그널링 서버의 위치정보나 현재 사용되는 정보들을 DDB를 통해서 실시간으로 업데이트해서 사..
● Web Signaling 서버 한 대의 Web Signaling 서버에서 여러 개의 서비스 실행하도록 구현 Pixel Streaming 서버에서 같이 운영하는 방안 ● STUN / TURN 서버 2개의 서버를 한대에서 운영하는 방안 ( Coturn 서버로 이미 구현되어짐 ) Pixel Streaming 서버 여러 대가 STUN / TURN 서버에 붙는 형태로 구현 ● Matchmaker 서버 여러 대의 Web Signaling 서버가 한개의 Matchmaker 서버에 붙는 형태로 구현 Matchmaker 기능을 Lambda + DDB ( DynamoDB ) 로 처리하는 방안 + 위 3개의 서버를 모두 EKS ( Elastic Kubernetes Service ) 로 관리
● Signaling WebServer PixelStreaming 에 가장 필수적인 서버에 대한 실행 스크립트를 담고 있는 곳 ( STUN, TURN 포함 ) ● Matchmaker Matchmaker 서버는 Signalling WebServer 와 1:N 매칭 가능함 ( N대의 Web Signaling 서버 ) 클라이언트가 요청하면 웹 시그널링 서버 앞단에서 비어있는 웹 시그널링 서버로 리 다이렉팅을 해준다 클라이언트의 요청을 분산시키는 로드밸런서의 역할을 한 ● SFU ( Selected Forward Unit ) SFU 서버를 실행하기 위한 스크립트가 저장되어있는 곳, 실제 실행은 되지만 시청만 가능 Matchmaker 서버와 비슷한 기능을 한다 ● cirrus.js Websignaling Serv..
1. 플러그인 체크 # 픽셀 스트리밍 플러그인의 체크를 확인하자 unreal engine 4 의 경우 디폴트로 체크가 되어있지만 적용이 안되는 버그가 있으므로 해제후 다시 체크해서 적용해준다 2. 빌드하기 # 빌드하게 되면 시간은 20~30분정도가 소요되고 처음에 설정한 경로에 빌드된 파일과 실행 파일 여러가지 스크립트가 들어가게 된다 # 스크립트를 실행하기전에 Play in Standalone Game 의 파라미터값을 복사해서 빌드한 실행파일과 같이 실행시켜야 스트리밍 서비스가 된다. 이때 사용하는 파라미터값중 PixelStreamingIP라는 것은 픽셀스트리밍의 아이피가 아니라 웹 시그널링 서버를 의미한다 지금은 로컬호스트로 되어있기때문에 픽셀서버와 웹 시그널링서버가 물리적으로 같은서버에 있다는것을 ..