Skip to content

Instantly share code, notes, and snippets.

@Curookie
Last active October 2, 2019 18:12
Show Gist options
  • Save Curookie/c63dc10976d6db38c95088c78b4a1470 to your computer and use it in GitHub Desktop.
Save Curookie/c63dc10976d6db38c95088c78b4a1470 to your computer and use it in GitHub Desktop.
Unreal
Native / Managed code 두가지로 나뉘는데
Unreal은 C++ 기반이고 Native code이다? 반은 맞고 반은 틀리다.
언리얼은 C++ 11 표준에 따른 문법을 사용하고 있을 뿐이고 사실상 멀티플렛폼을 위한 VM 기반의 Managed code 구조를 가지고 있다.
그래서 유니티에는 없는 오만가지 짜증나는 매크로로 범벅이 되어 있다. 또한 GC등과 같이 Managed code들의 특성도 고스란히 가지고 있다.
컴파일 및 작동구조는 유니티 C#하고 비슷하지만 문법은 더 까다롭고 온갖 빌드 에러가 수시로 발생하는 매우 불편한 구조를 가진다.
이런 구조는 완전 VM으로 만들어진 유니티에 비해 언리얼의 C++로 만든 어중간한 빌드 방식때문이며
언리얼은 실행 시킬때 엔진 에디터가 사용자가 만든 코드(프로젝트에 코딩한거 - 실제 게임 코드)를
DLL 형식으로 링크해서 쓰는 매우 복잡 한 방식을 사용하기 때문이다.
즉 사용자는 자기 프로젝트에 맞는 Plugin을 코딩한다고 보면 된다.
유니티와 프로젝트 구조가 매우 다르다.
언리얼은 유니티와는 달리 엔진에 대한 고수준의 커스터마이징이 필요하고 작동방식이 훨씬 디테일 하다.
유니티에서는 없는 다양한 코어 프로퍼티와 제어 변수를 제공한다.
그래서 익숙해지면 편하지만 모르면 많이 당하고 삽질을 수도 없이 해야 하는 단점이 있다.
레벨 에디터
- 레벨 에디터는 언리얼 에디터의 중심이다. 이 월들 제작 툴로 레벨을 만들고, 액터를 배치하고 변경하며, 레벨을 테스트하는 등의 작업을 한다.
3D 뷰포트
- 오른쪽 마우스 버튼을 누른 상태에서 W, A, S, D 키를 눌러 날라 댕길수 있다.
모드 패널
- 여러가지 툴 모드를 선택
레벨 에디터의 주요 작동방식을 특수한 작업, 새 항목 배치, 지오메트리 및 볼륨 생성, 메시에 페인트, 폴리지 생성, 랜드스케이프 조각 등
콘텐츠 브라우저
- 언리얼 에디터 안에서 콘텐츠 에셋을 만들고, 임포트하고, 정리하고, 확인하고, 변경할 때 주로 사용되는 영역입니다.
여기서는 콘텐츠 폴더를 관리할 수도 있고, 에셋 이름변경, 이동, 복사, 레퍼런스 확인 등의 기타 유용한 기능이 제공되기도 한다.
디테일 패널
- 현제 선택 관련 정보, 유틸리티, 함수가 들어있다.
액터의 이동, 회전, 스케일 조절을 위한 트랜스폼 편집 박스가 있고, 선택된 액터의 모든 편집가능 프로퍼티가 표시되며, 뷰포트에 선택된 액터 유형에 따른 부가 편집 기능을 빠르게 접할 수 있다.
월드 아웃라이너
- 씬 안에 있는 모든 액터가 계층구조 트리 뷰로 표시된다.
액터는 월드 아웃라이너에서 바로 선택하고 변경할 수 있다.
툴바
- 자주 사용되는 툴과 작업에 대한 바로가기가 제공됩니다.
자세한 가이드 Ctrl+Alt 로 볼 수 있다.
마켓플레이스
- 에픽게임즈 런처> 마켓플레이스 에 들어가보면 에셋들 볼 수 있다.
애니메이션 조종은
Mesh
Mannequin - SkeletalMesh
Mannequin PhysicsAsset - PhysicsAsset
UE4_Mannequin Skeleton - Skeleton
이렇게 3개로 조종하나보다.
게임 인스턴스라는 블루 프린트를 만들어서 프로젝트 설정에서 지정해주면 게임 매니저 역할을 한다.
프로젝트 설정에 입력 바인딩을 할 수 있다.
블루프린트에서
선 더블클릭 - 정리 포인트 나옴
선 오른쪽 + Alt - 제거
B + 오른쪽 Branch
G + 오른쪽 Gate
S + 오른쪽 Sequence
D + 오른쪽 Delay
드래그 + C 누르면 코멘트
블루프린트에서
이벤트 그래프
애님 그래프
두 종류가 있다.
블루프린트에서
구조체 오른쪽 클릭해서 변수별로 핀을 나눌 수 있다.
노드 자체를 오른쪽 클릭 구조체 핀 복원 Restore all structure pins 누르면 입력받는 모든 구조체 핀들이 나옴.
블루프린트에서
언리얼에서도 앵커포인트 누르면 9방향 유니티처럼 지정창 나옴
언리얼에서 복제는 Ctrl+W
언리얼에는 본에 소켓이라는 걸 만들어 그 위치에 특정 오브젝트를 생성하거나 붙이거나 하는 용도로 사용할 수 있다.
Anim Graph에서 State Machine을 만들면 스테이트 별로 관리 가능하다.
유니티에서 프리셋 생성(instantiate)이 블루프린트에서 SpawnActor by Class와 같다.
AI 기능에서
Pawn Sensing 을 이용하면 AI가 보거나 듣는 기능을 만들 수 있다.
Smooth Movenemt는 Lerf랑 Timeline 이용하면 가능 Timeline노드 더블클릭하면 만들 수 있음.
언리얼 모션 그래픽 UI 디자이너 (UMG) 는 게임내 HUD, 메뉴, 기타 인터페이스 관련 그래픽 요소로 사용자에게 보여주고픈 것들을 만드는 데
사용할 수 있는 비주얼 UI 저작 툴입니다.
UMG 의 핵심에는 Widget (위젯)이라는 것이 있는데,
이는 미리 만들어진 (버튼, 체크박스, 슬라이더, 진행상황 바 등의) 함수 시리즈로, 이들을 조립해서 UI 를 만들 수 있습니다.
이러한 위젯은 전용 Widget Blueprint (위젯 블루프린트)에서 편집되는데, 두 가지 탭으로 구성됩니다.
Designer (디자이너) 탭에서는 인터페이스의 시각적인 레이아웃과 기본적인 함수가 제공되며,
Graph (그래프) 탭에는 사용된 위젯 내부의 함수 기능이 제공됩니다.
GameMode BP - 게임 종류별 제어 BP
PlayerController BP - 플레이어 제어 BP
Level BP - 맵마다 있는 BP
GameInstance BP - 게임매니져(싱글톤) 같은 느낌 BP
맵에 GameMode Class 를 적용시킬려면 World Settings > GameMode > GameMode Override > CustomGameMode 로 바꿔주면 됨.
맵 에디터에서
G - 키 누르면 정보나 실선 사라짐 스샷찍거나 실제 상황볼 때 유용함.
유니티의 Box Collider 같은 컴포넌트는 Blocking Volume 을 사용하면 됨.
UI - Border - Panel 같은 것.
Vertical Box - 가로 기준 레이아웃 잡는 것
Text - 텍스트
Button - 버튼
Spacer - 간격주는 애 (size Auto 말고 Fill 눌러야한다.)
Canvas Panel 아래에 오브젝트 넣은거 선택한다음 Size To Content > True 시키면 자동으로 하위 사이즈에 맞춰서 크기가 지정 됨.
스크립트 게임 종료는 Quit Game Node 사용하면 됨.
- UI스크립트에서 종료 시 Get Owning Player 를 Specific Player 에 붙여주면 됨.
UI에서 이름을 가지고 Is Variable 체크하면 변수로 사용할 수 있다.
UI에서 바인드를 하면 UI와 변수나 함수 간의 변경사항을 적용할 수 있다.
UI에서 오른쪽 클릭 Wrap With (감싸기) 기능을 이용하면 ex) Size Box를 사용해서 이미지 키우는 거 부모에 특정 감싸는 오브젝트 붙일 수 있음.
블루프린트에서 원하는 오버라이딩 이벤트 메서드를 클릭하면 [+ 초록버튼] 특정 이벤트일때 작업코드를 만들 수 있음.
블루프린트에서 ESlate Visibility 자료형은 Text Visibility 컨트롤 할 때 사용.
블루프린트에서 Does Save Game Exist Node 사용하면 세이브 된 내용 있는지 여부 체크 가능함.
블루프린트에서 Createa Save Game Object Node 사용하면 세이브 데이터를 생성할 수 있다.
Save Game to Slot Node 사용하면 생성한 세이브 오브젝트를 저장할 수 있다.
불러오는건 Load Game from Slot Node 사용
에디터에서 저장된 데이터는 Project폴더/ Saved / SaveGames 폴더에 있다.
UI 에서 로딩 나타내는건 Circular Throbber 컴포넌트 이용하면 됨.
Widget Switcher로 감싸주면 특정 영역 변경될 때 유용.
UI 에서 UI 제거할 때 Remove form Parent 해주면 창 전체를 제거 할 수 있다.
블루프린트에서 SetTimer by Event Node 를 사용하면 카운트다운을 구현할 수 있다.
빨간색 네모가 Delegate인데 Custom Event로 Event 부분에 연결해서 코딩하면 됨.
블루프린트에서 UI중 Widget Switcher의 다른 위젯을 보여줄려면 Set Active Widget Index Node 를 사용하면 됨.
테스트 중에 ` 눌러서 quit 명령어 입력하면 끌 수 있다.
블루프린트 Widget 보여주고싶으면 Add to Viewport Node로 가능.
Set Input Mode Game and UI 로 특정 Widget에 Focus를 줄 수 있다.
블루프린트에서 오른쪽 버튼 > Pure Cast로 (> >) 진행과정을 없앨 수 있다.
블루프린트에서 Format Text Node가 있는데 이걸 사용하면 ex) {변수명1} of {변수명2} 이렇게 넣으면 변수명1,2 가 input으로 생기고 포맷형태로 Text 표현가능
UI에서 Grid Panel에 Row Span, Column Span은 HTML에서 Span 개념하고 같다.
블루프린트에서 Construct Event는 유니티의 Awake 같은 이벤트 이다.
블루프린트에서 핀 제거할 때 제거 안되면 Alt 누르고 왼쪽클릭 누르면 제거 됨.
블루프린트에서 Widget을 하위에 생성하려면 Add Child Node 로 생성가능
블루프린트에서 Add Reroute Node 사용하면 선 더블클릭해서 생성한 것 처럼 새로운 경로 지점을 만들 수 있다.
블루프린트에서 리스폰 기능 구현은 Get Controlled Pawn 으로 폰이 있으면 DestroyActor 하고 SpawnActoer로 생성하면 됨.
블루프린트에서 맥락 의존의 체크를 풀면 나타나는 노드들도 있다. Context Sensitive 체크박스 해제
- Possess 같은거
블루프린트에서 Execute Console Command 를 사용하면 servertravel 같은걸로 Map 불러오는게 가능.
블루프린트에서 OnSwapPlayerControllers Event 를 사용하면 맵이 바뀌어서 PC가 바뀌는 경우를 탐지해서 그 맵에서 새로운 플레이어 컨트롤러를 부여할 수 있다.
1. UI
가. Main Editor
1) Viewport : 레벨 편집의 대부분을 하는 곳
2) Menubar : 기본적인 메뉴바
3) MainToolbar : 주요 기능들을 사용할 수 있다.
4) Modes Panel : 씬에 다양한 오브젝트를 드래그로 넣을 수 있다.
5) Content Browser : 프로젝트에 포함된 모든 에셋들에 대한 디렉토리 구조로 레벨에 드래그로 넣을 수 있다.
6) World Outliner : 씬에 있는 모든 엘리먼트들의 구조를 계층구조를 보여준다. 부모선택 가능
7) Details Panel : 선택한 오브젝트에 대해 자세한 설정을 할 수 있다.
나. Viewport Navigation
뷰포트에서 돌아 다니는 방법
카메라 스피드 옵션을 조정해 이동속도를 바꿀 수 있다.
1)왼쪽 클릭 + 마우스 움직임 : 전후이동+ 좌우회전
2)오른쪽 클릭 + 마우스 움직임 : 시점변환
3)오른쪽 클릭 + WASD : 전후좌우 이동
4)휠클릭(왼+오 클릭) + 마우스 움직임 : 상하이동+ 좌우이동
5)오른쪽 클릭 + EQ : 상하이동
6)오른쪽 클릭 + CZ : 임시 FOV 조정, 클로즈업/ 클로즈아웃
7)(휠+~)첨가시 : 임시 이동 속도 빠르기 조정
8)왼쪽 클릭+ ALT : 특정 위치를 기점으로 화면전환
9)오브젝트 클릭 후 F(포커싱)후 왼쪽 클릭+ ALT : 특정 오브젝트 기점으로 화면전환
10)오른쪽 클릭 + ALT : 전후 이동
다. Orthographic View
창을 최소화 하면 4개의 View로 볼 수 있다.
Viewmode를 수정해서 View의 문제를 파악하는데 사용할 수 있다.
1)Lit : 기본
2)Detail Lighting : 빛의 밝기 명암 확인할 때 사용한다.
3)Reflections : 반사 되는 것 확인
4)Lighting Only : 빛만 볼 때 사용
5)Exposure : 눈의 명암도조절처럼 어두운 곳에서 밝은 곳으로 나왔을 때 다르게 보이게 하는 것.
6)Anti-aliasing : 대표적인 그래픽 품질향상 기술, 픽셀이 튀는 것을 막는 기술
7)Decals : 레벨의 메시에 투영되는 머티리얼
라. Placing Objects in Level
1)Viewport를 사용해서 드래그& 드롭
2)Content Browser를 사용해서 Props 드래그& 드롭
3)오른쪽 버튼 Place Actor를 클릭해서 넣을 수 있다.
4)Class Viewer 창으로 검색 파란색 이름의 모든 것을 드래그& 드롭
마. Moving Objects
1) Transform > Location
2) W키를(뷰포트에 있는 기즈모 아이콘을) 누르면 기즈모 축이 나온다.
3) Ctrl+'키를 누르면 World Space, Local Space 전환 (특정 오브젝트 기준의 축이 Local Object)
4) 단위는 1cm = 1.0
5) rgb순 xyz 빨간색 x, 초록색 y, 파란색 z
6) 네모 클릭하면 특정 축 고정 후 이동
7) 흰색 동그라미 클릭하면 카메라 기준 자유 이동
8) End 키를 누르면 바닥에 붙는 단축키
9) Grid Snapping 기능을 사용하면 특정 단위로 움직일 수 있다.
바. Rotating Objects
1) E키를(뷰포트에 있는 회전 아이콘을) 누르면 회전 축이 나온다.
2) roll= x, pitch = y, yaw = z
3) 나머진 '마. Moving Objects'와 동일
사. Scaling Objects
1) R키를(뷰포트에 있는 크기 아이콘을) 누르면 크기 축이 나온다.
2) Local Space로만 수정 가능함
3) 나머진 '마. Moving Objects'와 동일
아. Moving with the Camera
1) Shift 누른 채로 움직이면 카메라와 오브젝트가 같이 움직인다.
2) Ctrl+Shift+P,C : Lock Viewport to Actor하면 뷰포트를 액터에 고정시킬 수 있다. (액터 우클릭 후 Pilot '액터', Eject 풀기)
자. Content Browser
내부에서 생성된 에셋과 외부에서 불러온 에셋이 있다.
1) 단축키는 Ctrl+Shift+F 키고 끄는 단축키
2) import 버튼을 누르거나 드래그&드롭, 직접경로에 넣어도 된다.
3) Asset을 더블클릭해서 서브 에디터를 켜서 수정할 수 있다.
4) Add New 버튼을 눌러서 asset을 생성할 수 있다.
5) Search 로 검색해서 사용할 수 있다.
차. Customizing UI
윈도우 옵션에서 저장해둘 수 있다. 내 UI를
2. Level
가. 1인칭에서 손이나 손에 들고있는 거 안보이게 할 때 Owner No See 체크 해주면 됨
나. Modes Panel에 BSP(지오메트리)에 기본 형태가 있다.
다. Ctrl+End 격자에 Snapping 시키기
라. Esc 선택 취소
마. Ctrl + 클릭 다중선택
바. Alt + 이동 복제, Alt + 회전 복제 가능
사. Shift+1,2,3,4,5 로 메뉴 이동 가능
아. 왼쪽클릭+ L : 라이트 제작 가능(어두운곳에서 작업할경우) + Pilot기능을 응용하면 좋음
자. Exposure 끄는게 좋음 제작시에는 눈 적응필요없으니까
차. Brush Type을 Substractive로 바꾸면 벽을 뚤을 수 있다.
카. Shift + W 인접한 오브젝트 다 선택된다.
타. Detail> Geometry 옵션에 Alignment>Align Surface Planner를 선택하면 이음매가 생기지 않는다. 방향을 Rotate로 바꿔줄 수 있다.
파. Ctrl + G 로 그룹화 할 수 있다. Shift + G 그룹 해제
하. 돋보기 아이콘 -> Content Panel 바로가기
거. T를 눌러서 반투명 물체 선택 토글할 수 있다.
너. 잠금 아이콘 -> 포토샵 비율 고정
더. Tranform 에서 Static과 Movable 이 있는데 Movable을 선택해야 스크립트로 움직일 수 있다.
러. 레벨 블루프린트 열기로 스크립트 열 수 있다.
- 블루프린트 파란색 객체, 초록색 함수, 노란색 변수, 빨간색 이벤트
- 특정 오브젝트를 클릭한 상태에서 키면 해당 오브젝트와 관련된 작업을 할 수있다. [ ex) 트리거는 Add Event 를 할 수 있다. ]
- 오브젝트 레퍼런스로 특정 이벤트와 연동 시킬 수 있다.
- 레퍼런스를 끌면 관련 정보를 함수로 가져올 수 있다. ex) GetActorLocation
- 변수를 Ctrl + 드래그 하면 Get으로 가져오고, Alt + 드래그 하면 Set으로 가져온다.
- Ctrl+ C로 그래프 요소를 복사 할 수 있다.
- 이미 연결된 선이 있는 상태에서 어떤 요소를 끌면 그 사이에 다른 요소를 추가할 수 있다.
- 더하기 연산 + 로 검색하면 나온다.
- 파라미터 위치는 Ctrl 드래그로 위치를 바꿀 수 있다.
- Begin Play : 처음 시작할 때 실행하는 영역
- Tick : 매 프레임 마다 호출되는 영역
- OnActorBeginOverlap : 특정 트리거에 접근 됬을 때
- OnActorEndOverlap : 특정 트리거에서 나갔을 때
- Add Timeline : 특정 시간에 따라 변화되는 값이 있을 때 추가함, 더블 클릭 시 타임라인 에디터로 들어갈 수 있다.
-
머. 타임라인 에디터
- Shift + 클릭 : 키프레임 삽입
- 마지막 키프레임에 도착했을 때 종료하려면 마지막 키프레임 사용? 클릭하면 된다.
- 키프레임 을 다중으로 선택한 후 키프레임에 오른쪽 버튼하면 곡선으로 표현 할 수 있다.
버. G를 누르면 GameView로 볼 수 있다. 실제 모습으로
서. Modes Panel의 Visual Effects의 Sphere Reflection Capture 구체모양으로 주변을 반사할 필요가 있을 때 쓰면 좋다.
어. Building > Lighting Quality > Production으로 올리면 고급스럽게 렌더링할 수 있다.
저. 테스트 시 Restart Level 누르면 재시작 가능, F5 누르면 반투명 물체 체크 가능
처. <- 아이콘을 클릭시 해당 오브젝트로 변경
3. Blueprint
What? = 비주얼 스크립팅, 시각적인 프로그래밍, 모든 레벨에서 적용 가능, 프로젝트 단위로 적용 가능
- Class Blueprint는 Viewport, Construction Script, Event Graph 3가지로 구성되어있다.
- Level Blueprint (1 Per Level)
- Class Blueprint (Multiple)
- C++ 연결성이 높다
- Sequential Firing 이벤트가 작동할 때 순차적으로 함수를 실행할 수 있는 기능을 제공한다.
Where?
How?
가. Level Blueprint 에서는 레벨안에서 클릭한 것을 가지고 쉽게 코딩할 수 있다.
나. 실행핀은 실행핀끼리 연결해야 한다.
다. 선
- 파란 선은 오브젝트를 연결한 선이며, 레벨 내 오브젝트의 레퍼런스를 잇는 것이다.
- 흰색 선은 실행을 나타내는 선이다.
- 빨간 선은 불린을 나타내는 선이다.
라. Alt+ S : 시뮬레이트 기능으로 블루프린트에서 실행해 진행모습을 직관적으로 그리고 레벨에 적용한 것을 볼 수 있다. '뷰포트로 실행'과 다름
마. 트리거를 볼룸, 콜리젼이라고 한다.
바. Alt+ P : 시뮬레이트 플레이 기능으로 뷰포트로 실행하는 것과 같다.
사. break link to ~ : 선 제거, Del로 제거해도 됨, * Alt + 연결 지점 클릭 이게 유용함.
아. Class Blueprint는 Add New 또는 Detail Panel의 Blueprint 버튼, 퀵메뉴의 버튼등으로 생성 가능
자. Class Blueprint에 특정 값이 없을 경우 class defaults 옵션으로 실행된다.
차. Class Blueprint는 특정 오브젝트 세트를 그룹화 할 수 있다.
카. 다중 선택 후 C 를 누르면 Comment 창을 만들 수 있다. 정렬과 관리하기에도 유용함
타. Construction Script 각각 인스턴스 별로 다양성을 줄 수 있다.
- Blueprint 내의 프로퍼티를 업데이트 할 때 사용하는 것
- Editable Blueprint 체크박스 클릭해두기
- 생성자 개념과 유사, UI 편집 가능하게 하는 기능이다.
파. 변수 추가하는 방법은 왼쪽 My Blueprint에서 추가 버튼 or 오른쪽 버튼 Promote Variable
하. S+ 클릭 으로 시퀀스를 만들 수 있다.
4.UI Inventory
- 아이템 줍기, 버리기, 사용, 아이템 확인, 인벤토리 창 켜기, 플레이어 상태, 썸네일
- Import / Create / Modify Assets
- Introduction to Unreal Motion Graphics(UMG)
- Thumbnail 입문용 32*32 단위
- 분기 B를 누른상태에서 클릭하면 Branch 나옴
- Widget Blueprint가 있다. UI 만드는 용으로 씀
- Interface Blueprint는 다수의 Blueprint가 서로 정보를 교류하고 처리하게 하는 소통로다.
- Structure 는 C언의 Structure 생각하면 됨 자료형이 다른 것들의 집합
- My Blueprint 옆에 눈을 클릭해 Show Inherited Variables를 클릭하면 상속된 변수를 볼 수 있다.
- CharacterMovement 안에 움직임을 확인할 수 있다.
- Edit > Project Settings > Engine > Input 에서 입력 키 바인딩 해줄 수 있다.
- collision Channel을 수정해서 Collision 무시할 수 있게 할 수있다. 특정 오브젝트만
가. 만드는 과정
- 인벤토리 Struct(item, itemimage, pickuptext, actiontext), HUD:widgetBP:UMG(GameHUD, InventorySlot, PickupText), bool:crossbar 키고끄고, GameHUD에 들어갈 변수들, ThumbImages,
- Player 클래스에 Create Widget으로 HUD 생성, Jump시 Value가 변경되게 하는 옵션 추가
나. UMG:HUD:widgetBP
- 디테일 탭의 채우기를 통해서 비율을 딱 맞게 할 수 있다.
- 바인드로 다른 변수와 연계할 수 있다.
- ProgressBar 에선 기본으로 Percent가 0이여서 배경색이 보이지 않는다.
1) 디자이너 탭
- Visual Designer : 게임 내 UI요소를 배치하는 곳으로 애셋들을 배치, 특정 화면 사이즈로 바꿀 수 있다. ex) 아이폰
- Palette : 위젯들을 사용할 수 있는 저장소, Panel, General 위주로 사용하며 기본적인 Widget이 있다.
- Hierarchy : 계층구조 World Outliner와 비슷
- Animations : 시퀀서를 다룸, 드라이브 관련 작업을 할 수 있다.
- Detail : 더 자세한 내용을 다룰 수 있다.
- Canvas Panel은 Absolute 레이아웃이다.
- 채우기 정렬을 사용하면 비율에 딱 맞춰서 키울 수 있다.
- Detail> is Valueable을 체크 해주면 그래프 전체가 공개되어 프로퍼티로 직접 수정할 수 있게 된다.
- Anchors 를 사용해야 화면크기가 달라질 때 위치를 적절한 크기와 위치로 유지할 수 있다.
2) 그래프 탭
- 블루 프린트 처럼 디자인 코딩 할 수 있다.
- 변수의 이벤트를 초록색 + 버튼을 눌러서 추가 할 수 있다.
- 이벤트 디스패처는 현재 이 이벤트와 관련이 있는 블루프린트에 신호를 보낼 수 있는 기능이다.
- UMG는 Slate 기반으로 만들어졌기 때문에 Slate 기능 ESlate Visibility 사용한다.
- 실제 인벤토리를 넣을 땐 Player Controller에 적용하는게 좋다. 죽으면 사라지니까
- Make Array 로 배열 생성 가능
- Class Setting 에 보면 Class Interface를 추가할 수 있다.
5. 3ViewPerson
가. Skeletons
- 3D모델내의 관절의 위치를 정의하는 어떤종류의 오브젝트, 계층구조 데이터를 가진 본 이름 리스트, 애니메이션이 공유되는 방법이다.
- Persona : 스켈레톤을 수정하는 창으로 Skeletion, Mesh, Animation, Graph(애니메이션 블루프린트에서만) 탭이 있다.
나. Marterial
- BaseColor 는 Vector Parameter로 설정한다.
- Fresnel 은 각도에 따라 반사정도를 정하는 것이다.
- L+ 클릭 : Lerp
- Scalar Parameter는 변수이자 나중에 인스턴스의 파라미터로 값을 바꿀 수 있는 것.
다. Blend Space
- 값이 증가하는 특정한 기점에서 다른 애니메이션을 보여주는 것을 말한다.
- 자연스럽게 변화 시켜주는 것, 속도가 증가함에 따라 걷다가 달리는 것 같은
- 1D , 2D Blend Space가 있다.
라. Animation Blueprints
- Anim Graph, State Graph 두가지 편집 창이 있다.
- State Machines : 논리적 프로세스의 현재 상태를 추적할 수 있는 것.
현재 상태를 보여주는 그래프다. (Running, Jumping, Swimming)
- TimeRemaining(ratio) 는 애니메이션의 남은 시간을 리턴해주는 함수다. 이걸로 특정 이벤트가 끝나면 다음 스테이트로 전환시킬 수 있다.
- 프로그래밍할 때 isValid 사용해서 Try Catch 문처럼 사용할 수 있다. 에러처리 가능
마. GameMode Blueprint
- Default 세팅에서 설정바꿔주는게 좋음 Player Setting같은것
- Setting > World Setting > Game Mode > 만든 게임블프를 설정 프로젝트 세팅> 맵&모드에서도 설정해야한다.
Possess > Player0 으로 해주면 Player Start 없어도 블루프린트 위치로 수정된다.
바. Animation Montage
- 특정 행동을 만들 수 있는 것.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment