SlideShare ist ein Scribd-Unternehmen logo
1 von 17
게임엔진제작기법연구
C++ UserWidget Custom
청강문화산업대학교
201710013 원희수
wonhs717@gmail.com
언리얼 엔진 4.15.3
수업 발표용을 수정한 PPT 입니다
목차
• 구현 목표
• 최종 제작 방식
• C++ 클래스
• UMG
• 영상
구현 목표
• C++로 UserWidget Custom
• 아트나 기획이 레이아웃만 설계할 수 있도록 하기
최종 제작 방식
1. UserWidget을 부모로 기반을 한 C++ 클래스 생성
2. User Interface -> 위젯 블루프린트 생성
3. 생성한 위젯 블루프린트의 부모를 처음에 C++로 생성한
UserWidget로 변경
4. 하나의 위젯에 Scroll Box, Grid Panel, Button, TextBlock 등 구현
5. 디테일 창을 통해 아트나 기획이 원하는 스타일로 Custom
C++ 클래스
차근차근 구현을 하기 위해 버튼부터 구현하기로 하였습니다.
그리고 부모 클래스를 무엇으로 결정해야 할지 고민하였습니다.
UserWidget 기반 Button 기반
C++ 클래스
단점
위젯이기 때문에 자손을 가질 수 없다.
원하던 것 현실
C++ 클래스
장점
자손을 가질 수 있다.
단점
세부기능이 별도의 설정을 할 필요 없이 디테일 창에
출력되기 때문에 개인적으로 작업할 계획과의 방향성이
맞지 않다.
C++ 클래스
결론
UserWidget을 사용하기로 결정
하지만 위젯이기 때문에 자손을 가질 수 없다
그렇기 때문에 버튼을 포함한 기능들의 레이아웃을
계획하고 하나에 위젯에 기능을 집대성하기로 결정
UMG
Blueprint UMG 생성시 기본 레이아웃 구성
UMG
작업 진행시 문제점 1
UserWidget을 기반으로 C++ 구성 시
디테일의 변수 값을 수정했을 때 컴파일을
하지 않으면 변경사항 확인 불가
UMG
컴파일을 해야 변경사항을 확인할 수 있는 문제점에 대한 해결 기능
제작 초기 단계이기 때문에 RebuildWidget()을 통째로 적용했었고
단점은 사이즈 변경이나 휠 기능을 사용할 시 잔상이 생긴다는 것이다
UMG
작업 진행시 문제점 2
부모 클래스를 Widget으로 생성할 시
미분류
부모 클래스를 UserWidget으로 생성할 시
사용자 생성
부모 클래스를 Button으로 생성할 시
일반
나만의 분류를 가지고 싶다
UMG
팔레트 분류는 이름 순으로 정렬되기 때문에 원하는 위치에 분류를 추가할 수 있다.
UMG
작업 진행시 문제점 3
계층구조를 고려해서 슬롯을
생성하지 않으면 문제가 생김
UMG
같은 텍스트 블록이지만 계층구조 부모에 따라 슬롯 명칭이 변경되기 때문에
레이아웃을 미리 고려해야 한다.
계층구조 부모가 Canvas Panel 계층구조 부모가 Grid Panel
영상
https://youtu.be/e5Gh7j02Rjg
https://youtu.be/rXMNolwwTUA

Weitere ähnliche Inhalte

Ähnlich wie C++ UserWidget Custom

Sencha architect 사용기
Sencha architect 사용기Sencha architect 사용기
Sencha architect 사용기
Hyeonmin Kim
 
KGC10 - Visual C++10과 디버깅
KGC10 - Visual C++10과 디버깅KGC10 - Visual C++10과 디버깅
KGC10 - Visual C++10과 디버깅
흥배 최
 
Sencha architect
Sencha architectSencha architect
Sencha architect
killer31z
 

Ähnlich wie C++ UserWidget Custom (20)

Portfolio
PortfolioPortfolio
Portfolio
 
Fuse소개
Fuse소개Fuse소개
Fuse소개
 
UI아트 작업자를 위한 언리얼엔진4 UMG #1
UI아트 작업자를 위한 언리얼엔진4 UMG #1UI아트 작업자를 위한 언리얼엔진4 UMG #1
UI아트 작업자를 위한 언리얼엔진4 UMG #1
 
Unity시작하기
Unity시작하기Unity시작하기
Unity시작하기
 
Sencha architect 사용기
Sencha architect 사용기Sencha architect 사용기
Sencha architect 사용기
 
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
 
헤비 이큅먼트
헤비 이큅먼트헤비 이큅먼트
헤비 이큅먼트
 
Metaverse 세상 속 컨텐츠는 어떻게 만들어 질까?
Metaverse 세상 속 컨텐츠는 어떻게 만들어 질까?Metaverse 세상 속 컨텐츠는 어떻게 만들어 질까?
Metaverse 세상 속 컨텐츠는 어떻게 만들어 질까?
 
데스크탑 환경 구성요소
데스크탑 환경 구성요소데스크탑 환경 구성요소
데스크탑 환경 구성요소
 
데스크탑 환경 구성요소
데스크탑 환경 구성요소데스크탑 환경 구성요소
데스크탑 환경 구성요소
 
PyCon 2017 예제로 살펴보는 PyQt
PyCon 2017 예제로 살펴보는 PyQtPyCon 2017 예제로 살펴보는 PyQt
PyCon 2017 예제로 살펴보는 PyQt
 
게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)
 
Coded ui가이드
Coded ui가이드Coded ui가이드
Coded ui가이드
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
 
브릿지 Unity3D 기초 스터디 1회
브릿지 Unity3D 기초 스터디 1회브릿지 Unity3D 기초 스터디 1회
브릿지 Unity3D 기초 스터디 1회
 
About WebCAT
About WebCATAbout WebCAT
About WebCAT
 
KGC10 - Visual C++10과 디버깅
KGC10 - Visual C++10과 디버깅KGC10 - Visual C++10과 디버깅
KGC10 - Visual C++10과 디버깅
 
Unity소개
Unity소개Unity소개
Unity소개
 
GitLab Korea 밋업 - UX가 올 리모트 팀에서 일하는 법
GitLab Korea 밋업 - UX가 올 리모트 팀에서 일하는 법GitLab Korea 밋업 - UX가 올 리모트 팀에서 일하는 법
GitLab Korea 밋업 - UX가 올 리모트 팀에서 일하는 법
 
Sencha architect
Sencha architectSencha architect
Sencha architect
 

C++ UserWidget Custom