일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- gas
- Unreal Engine
- stride
- gameplay ability system
- photon fusion2
- UI
- gameplay effect
- 유니티
- nanite
- gameplay tag
- widget
- os
- CTF
- 게임 개발
- 언리얼 엔진
- Multiplay
- Replication
- attribute
- rpc
- listen server
- 게임개발
- map design
- 언리얼엔진
- animation
- 보안
- unity
- Aegis
- ability task
- local prediction
- MAC
- Today
- Total
목록언리얼 엔진 (127)
Replicated

캐릭터 컨트롤 요소- 일반적으로 컨트롤러와 폰, 카메라, 스프링암, 캐릭터 무브먼트 다섯가지 요소- 컨트롤러: 입력자의 의지(목표 지점)을 지정시 사용, ControlRotation 속성- 폰: 폰의 트랜스폼을 지정- 카메라: 화면 구도를 설정하기 위해 사용, 주로 1인칭 시점에서 사용- 스프링암: 화면 구도를 설정하기 위해 사용, 주로 3인칭 시점에서 사용- 캐릭터 무브먼트: 캐릭터의 이동과 회전을 조정하는 용도로 사용 Desired Rotation : 내가 앞으로 회전해야 할 최종 목표, 의지를 나타내는 회전값Rotation : 현재 회전된 상태Desired Rotation으로 값을 덮어씌우고 필요 시 Rotation rate로 지정된 각속도로 회전 폰의 이동 함수Look 함수 : 마우스 입력으로부터..

플레이어의 입력과 폰의 기초 액터의 구조- 월드에 속한 컨텐츠의 기본 단위 => 액터- 액터는 트랜스폼을 가지며, 월드로부터 틱과 시간 서비스를 제공 받음- 근데 액터는 논리적 개념이고, 컴포넌트를 감싸는 포장- 실질적인 구현은 컴포넌트가 진행, 액터는 다수의 컴포넌트를 소유- 다수의 컴포넌트 중 대표 : 루트 컴포넌트 (Root Component, 컴포넌트 1)- 액터는 루트 컴포넌트를 가져야 하며, 루트 컴포넌트의 트랜스폼 == 액터의 트랜스폼 1. 블루프린트로 액터 만들기위와 같이 구성 가능맨 위의 바디가 루트 컴포넌트고, 그 아래 애들까지 컴포넌트 감싸는게 분수 액터 잘 만들어짐2. C++ 로 액터 만들기액터 상속하여 ABFountain 생성 C++ 액터에서 컴포넌트 생성- 컴포넌트는 언리얼 오브..

https://github.com/ideugu/UnrealProgrammingPart2/tree/1_1 GitHub - ideugu/UnrealProgrammingPart2Contribute to ideugu/UnrealProgrammingPart2 development by creating an account on GitHub.github.com 언리얼 프레임워크 기능 목록게임: 월드, 모드, 상태기믹: 트리거, 스폰, 물리플레이어: 입력, 카메라, HUD, 상태폰: 이동, 모션, 액션, 위젯데이터: 애셋, 테이블, 설정, 저장인공지능: 길찾기, BT 월드(World)- 게임 컨텐츠를 담기 위해 제공되는 가상의 공간- 월드는 시간, 트랜스폼, 틱을 서비스로 지공- 월드 세팅이라는 컨텐츠 제작을 위한 기..

언리얼 에디터 (엔진) -> 게임 제작을 위해 에픽 게임즈가 제공하는 저작 도구언리얼 엔진의 구성- 에디터 : 게임 제작을 위해 제공되는 응용 프로그램 (일반적으로 엔진이라 부르는 것)- 게임 빌드 : EXE 파일과 리소스로 이루어진 독립적으로 동작하는 게임 클라이언트 에디터에서 기획 및 개발 => 이후 게임 빌드 언리얼 에디터의 동작프로젝트 폴더의 uproject 확장자 더블 클릭 시 에디터 트리거실행 방식- uproject 확장자는 윈도우 레지스트리에 등록됨 (등록이 안되어 있을 시 런처를 실행해 등록)- UnrealVersionSelector 프로그램으로 프로젝트 정보가 넘겨짐- UnrealVersionSelector는 런처가 저장한 에디터 정보로부터 버전에 맞는 에디터 실행 에디터 버전 정보의 파..

언리얼 오브젝트 패키지복잡한 계층 구조를 가진 언리얼 오브젝트를 효과적으로 저장, 로드하는 방법을 통일해야 함=> UPackage 단위로 언리얼 오브젝트를 관리* 패키지는 여러 뜻을 가짐- 언리얼 오브젝트를 감싼 포장 오브젝트- 개발된 최종 컨텐츠를 정리해 프로그램으로 만드는 작업 (게임 패키징)- 향후 확장 컨텐츠에 사용되는 별도의 데이터 묶음 (pkg 파일) 패키지와 애셋- 언리얼 패키지 오브젝트 : 다수의 언리얼 오브젝트를 포장하는데 사용하는 언리얼 오브젝트- 모든 언리얼 오브젝트는 패키지에 속함 (Transitent Package, 임시 패키)- 언리얼 오브젝트 패키지의 서브 오브젝트를 애셋이라고 하며 에디터에 노출- 패키지는 다수의 언리얼 오브젝트를 소유할 수 있으나 일반적으로는 하나의 애셋만 ..

오브젝트나 연결된 오브젝트의 묶음(오브젝트 그래프)을 바이트 스트림으로 변환하는 과정- 복잡한 데이터를 일렬로 -> 직렬Serialization : 오브젝트 그래프 -> 바이트 스트림Deserialization : 바이트 스트림 -> 오브젝트 그래프 장점- 현재 프로그램 상태를 저장 및 복원 가능 (게임 저장)- 현재 객체 정보를 클립보드에 복사 -> 다른 프로그램에 전송 가능- 네트워크를 통해 현재 프로그램의 상태를 다른 컴퓨터에 복원 가능 (멀티게임)- 데이터 압축, 암호화를 통해 데이터를 효율적이고 안전하게 보관할 수도 있음 직접 구현?- 데이터 레이아웃 (오브젝트가 소유한 다양한 데이터를 변환?)- 이식성 (서로 다른 시스템 간)- 버전 관리 - 성능- 보안- 에러 처리쉽지 않음그냥 언리얼 엔진..

기존 C++ : new, delete 해줘야 함-> 누수, 댕글링 포인터, 초기화되지 않은 포인터 등문제가 많이 발생함 가비지 컬렉션 시스템- 프로그램에서 더 이상 사용하지 않는 오브젝트를 자동 감지하여 회수- 동적으로 생성된 모든 오브젝트 정보를 모아둔 저장소를 사용해 사용되지 않는 메모리 추적- 마크-스윕(Mark-Sweep) 방식의 가비지 컬렉션 - 저장소에서 최초 검색을 시작하는 루트 오브젝트 표기 - 루트 오브젝트가 참조하는 객체를 찾아 마크 - 마크된 객체에서 계속해서 참조하는 객체를 찾아 마크(1로 표시) - 마크되지 않은 객체(0으로 표시) -> 회수(스윕) 언리얼 엔진에선 주기적으로 알아서 작동기본 값 60초, 부하가 좀 있는 작업인데 병렬 처리 및 클러스터링 기능 ..

구조체USTRUCT 매크로 추가하고 (내부에 BlueprintType같은 키워드 추가 가능)내부 상단에 GENERATED_BODY() 추가 (안해도 되긴 하는데 해야 리플렉션, 직렬화 가능)내무 멤버 변수는 UPROPERTY() 매크로 사용* 언리얼 오브젝트가 아니니 F로 시작 사용 용도가 언리얼 오브젝트와는 완전히 다름단순한 데이터 타입에 적합함F로 시작하니까 일반 객체 -> 리플렉션 시스템이 인식 못함대신 내부의 UPROPERTY로 선언된 변수들은 인식함UFUNCTION()은 안됨 대부분 힙 할당 없이 스택 내 데이터로 사용,NewObject()도 지원 안됨하나의 멤버를 UFiled 클래스가 관리UScriptStruct가 GENERATED_BODY가 들어간 구조체UFinction은 UClass는 가져..