Files
Mitchell Wilson bfe9113685 Copying //UE4/Dev-Documentation to //UE4/Samples-Main (Source: //UE4/Dev-Documentation @ 4321946)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3683933 by Jeff.Wilson

	Updated metadata

Change 4094604 by Richard.Hinckley

	Fixing a bug in Match3 with incorrect attempts at unbinding a delegate. Not as much of a code problem as a bad learning example.
	#jira UE-59621

Change 4099126 by Sungjin.Hong

	#loc UE4DocKOR

Change 4105127 by Sungjin.Hong

	removed wrong [include]

Change 4105128 by Sungjin.Hong

	#loc UE4DocKor

Change 4169203 by Sungjin.Hong

	#loc UE4DocKOR

Change 4201118 by Mitchell.Wilson

	Initial check-in of 4.20 Release Notes - Major features only.

Change 4201313 by Jeff.Wilson

	misc fixes

Change 4201319 by Mitchell.Wilson

	Adding 4.20 minor release notes.

Change 4201528 by Jeff.Wilson

	misc fixes

Change 4216361 by Sungjin.Hong

	#loc UE4DocKOR moved or deleted

Change 4216416 by Sungjin.Hong

	#loc UE4DocKOR

Change 4216563 by Sungjin.Hong

	#loc UE4DocKOR

Change 4217772 by Mitchell.Wilson

	Adding some missing minor release notes in the Slate and UMG sections.

Change 4218292 by Mitchell.Wilson

	Commenting out Shotgun documentation link and adding a "coming soon" blurb

Change 4219358 by Tianmin.Xie

	#loc UE4DocCHN moved or deleted

Change 4219564 by Sungjin.Hong

	#loc UE4DocKOR

Change 4220008 by Jeff.Wilson

	Reordered top features; updated language for Niagara

Change 4220814 by Mitchell.Wilson

	Updating Niagara landing page and adding new image.

Change 4220945 by Mitchell.Wilson

	Updating page with note pointing to digital humans page and added related page link for digital humans

Change 4221079 by Mitchell.Wilson

	Submitting page and images for Working With Tracks In Sequencer.

Change 4221223 by Mitchell.Wilson

	Checking in updates to Sequence Recorder page and new images.

Change 4222174 by Yang.Zhang

	#loc UE4DocCHN check in 420 Release Note againest INT verison 4218292  (need update againest for latest release note)

Change 4222188 by Sungjin.Hong

	#loc UE4DocKOR moved or deleted

Change 4222189 by Yang.Zhang

	#loc UE4DocCHN 420 Release Note Update against INT 4220008

Change 4222217 by Tianmin.Xie

	#loc UE4DocCHN moved or deleted

Change 4222310 by Yang.Zhang

	#loc UE4DocCHN 420 Release Note Typo Fixing against INT 4220008

Change 4222335 by Yang.Zhang

	#loc UE4DocCHN TwinblastBust Update against INT 4220945

Change 4222348 by Yang.Zhang

	#loc UE4DocCHN SequenceRecorder Update against INT 3866572

Change 4222355 by Yang.Zhang

	#loc UE4DocCHN SequenceRecorder Update against INT 3244012

Change 4222371 by Yang.Zhang

	#loc UE4DocCHN

Change 4222713 by Sungjin.Hong

	#loc UE4DocKOR

Change 4223218 by Mitchell.Wilson

	Adding Controlling Anim Instances with Sequencer page and images

Change 4223330 by Mitchell.Wilson

	Minor update to formatting.

Change 4223439 by Mitchell.Wilson

	Submitting new TimeRefactorNotes page and images

Change 4224395 by Sungjin.Hong

	#loc UE4DocKOR moved or deleted

Change 4224481 by Yang.Zhang

	#loc UE4DocCHN 419 Release Note Update against INT 3941748

Change 4224497 by Yang.Zhang

	#loc UE4DocCHN moved or deleted

Change 4228591 by Yang.Zhang

	#loc UE4DocCHN Localization Edit Against 4221079

Change 4228596 by Yang.Zhang

	#loc UE4DocCHN

Change 4228598 by Yang.Zhang

	#loc UE4DocCHN Localization Bug Fixing

Change 4228600 by Yang.Zhang

	#loc UE4DocCHN Localization Edit

Change 4233224 by Yang.Zhang

	#loc UE4DocCHN Localization Bug Fixing

Change 4233437 by Sungjin.Hong

	#loc UE4DocKOR

Change 4233440 by Sungjin.Hong

	#loc UE4DocKOR

Change 4240164 by Sungjin.Hong

	#loc UE4DocKOR

Change 4242799 by Yang.Zhang

	#loc UE4DocCHN Localization Editor

Change 4243822 by Sam.Deiter

	Manually moveing these files over from the 4.20 release branch.

Change 4257108 by Ben.Zeigler

	Switch ActionRPG to use IWYU headers

Change 4257489 by Sungjin.Hong

	#loc UE4DocKor

Change 4258770 by Mitchell.Wilson

	Updating filters page and images with 4.20 changes

Change 4258956 by Mitchell.Wilson

	Updating Color Picker doc and images for 4.20

Change 4261325 by Sungjin.Hong

	#loc UE4DocKOR

Change 4261534 by Mitchell.Wilson

	Updating mobilepreviewer doc for 4.20 changes.

Change 4263566 by Robert.Gervais

	Replacing images to address doc-md tool erros. #UE4Doc #fyi Jeff.Wilson, Mitchell.Wilson

Change 4264102 by Yang.Zhang

	#loc UE4DocCHN Localization Edit

Change 4264104 by Yang.Zhang

	#loc UE4DocCHN Localization Edit

Change 4264120 by Yang.Zhang

	#loc UE4DocCHN Localization Bug Fixing

Change 4264799 by paulo.souza

	Fix ActionRPG main menu logo "action" and "sample" labels were misplaced #fyi sam.deiter #rb none

Change 4267571 by Sungjin.Hong

	#loc UE4DocKOR

Change 4268090 by Sungjin.Hong

	#loc UE4DocKOR

Change 4272340 by Mitchell.Wilson

	Adding all MR pages for 4.20

Change 4273092 by Mitchell.Wilson

	Updating Mesh Details page for 4.20

Change 4276731 by Mitchell.Wilson

	Checking in nDisplay doc.

Change 4276770 by Jeff.Wilson

	Updated formatting

Change 4276798 by Jeff.Wilson

	Minor formatting update

Change 4276998 by Mitchell.Wilson

	Checking in nDisplay changes for 4.20

Change 4278693 by Sungjin.Hong

	#loc UE4DocKOR moved or deleted

Change 4279407 by Mitchell.Wilson

	Adding ScriptingAndAutomation folder and content

Change 4279418 by Mitchell.Wilson

	Updating crumbs

Change 4279440 by Mitchell.Wilson

	Adding INT to file.

Change 4280273 by paulo.souza

	ARPG - Player AI can now use Potions and Skills when possible/necessary

Change 4280342 by Mitchell.Wilson

	Adding blueprint/python switchable content.

Change 4282437 by Yang.Zhang

	#loc UE4DocCHN moved or deleted

Change 4282603 by Yang.Zhang

	Outsourcing 20180814

Change 4282681 by Yang.Zhang

	#loc UE4DocCHN English Update

Change 4282721 by Yang.Zhang

	#loc UE4DocCHN Localization Editor 20180807

Change 4282938 by Sungjin.Hong

	#loc UE4DocKOR

Change 4283510 by paulo.souza

	ARPG - Initial support for consumable items (health and mana potions)

Change 4283679 by Mitchell.Wilson

	Submitting updates to some ScriptingAndAutomation pages and adding HowTos sections.

Change 4283941 by Mitchell.Wilson

	Submitting new page and content

Change 4284256 by Mitchell.Wilson

	Minor updates to fix topic lists

Change 4284421 by Mitchell.Wilson

	Checking in python page and content

Change 4284468 by Mitchell.Wilson

	Minor updates.

Change 4284888 by Mitchell.Wilson

	Adding new page and content

Change 4285161 by Mitchell.Wilson

	Adding new page and content

Change 4285387 by Jeff.Wilson

	minor styling updates

Change 4287470 by Mitchell.Wilson

	Adding new page and content

Change 4291477 by Sungjin.Hong

	#loc UE4DocKOR moved or deleted

Change 4291478 by Sungjin.Hong

	#loc UE4DocKOR

Change 4291995 by Sungjin.Hong

	#loc UE4DocKOR

Change 4292193 by Mitchell.Wilson

	Updating page and content

Change 4292827 by Mitchell.Wilson

	adding digital humans page and content

Change 4293098 by Mitchell.Wilson

	Updating CascadeToNiagara and adding some content

Change 4295473 by Sungjin.Hong

	#loc UE4DocKOR moved or deleted

Change 4295612 by Sungjin.Hong

	#loc UE4DocKOR

Change 4295997 by Sungjin.Hong

	#loc UE4DocKOR

Change 4296011 by Sungjin.Hong

	#loc UE4DocKOR

Change 4296954 by Mitchell.Wilson

	Fixing LODs on one mesh to resolve flicker. Rebuilt lighting
	#jira UE-58995

Change 4297342 by Mitchell.Wilson

	Updating copyright text in Match3 credits
	#jira UE-61819

Change 4298354 by Mitchell.Wilson

	Updating Photorealistic Character Bust eye material to be consistent with Content Examples setup.
	#jira UE-59761

Change 4299738 by Yang.Zhang

	#loc UE4DocCHN moved or deleted

Change 4299936 by Sungjin.Hong

	#loc UE4DocKOR

Change 4300185 by Mitchell.Wilson

	Updating page to 4.20

Change 4300194 by Mitchell.Wilson

	Updating page and one image

Change 4300247 by Jeff.Wilson

	Fixed publishing errors

Change 4300533 by Jeff.Wilson

	Updates for publishing

Change 4300884 by Mitchell.Wilson

	Updating page and content

Change 4301216 by Mitchell.Wilson

	Updating page and content

Change 4301268 by Mitchell.Wilson

	Updating page and content

Change 4301301 by Mitchell.Wilson

	Updating page and content

Change 4302195 by Mitchell.Wilson

	Updating page and adding content

Change 4303253 by Yang.Zhang

	#loc UE4DocCHN Localization Edit 20180414

Change 4303325 by Sungjin.Hong

	#loc UE4DocKOR

Change 4303706 by Sungjin.Hong

	#loc UE4DocKOR

Change 4305335 by Mitchell.Wilson

	Fixing errors on pages in prep for publish

Change 4305416 by Mitchell.Wilson

	Removing Graph Panel section to resolve errors since it was already commented out.

Change 4305436 by Mitchell.Wilson

	Removing graph panel from commented section to resolve errors

Change 4305504 by Mitchell.Wilson

	Fixing up an image to resolve errors

Change 4305576 by Mitchell.Wilson

	Updated graph panel link to new location.

Change 4305778 by Mitchell.Wilson

	Fixing broken comment

Change 4306900 by Sungjin.Hong

	#loc UE4DocKOR

Change 4307010 by Mitchell.Wilson

	Updating this page to resolve issues on another

Change 4307038 by Mitchell.Wilson

	Removing missing image references, but leaving the descriptions if they ever need to be added back. images are commented out.

Change 4307067 by Mitchell.Wilson

	Removing outdated note to resolve errors.

Change 4307073 by Mitchell.Wilson

	Removing old link that was commented out to resolve errors

Change 4307105 by Mitchell.Wilson

	Removing old image that is no longer used in the new CMS

Change 4307127 by Mitchell.Wilson

	Fixing up comment and removing section that is not used to resolve errors

Change 4307254 by Mitchell.Wilson

	Removing some old URL references that were already commented out to resolve errors.

Change 4307277 by Mitchell.Wilson

	Fixing up incorrect link to resolve errors

Change 4307289 by Mitchell.Wilson

	Fixing up incorrect URL to resovle errors

Change 4307291 by Mitchell.Wilson

	Updating URL for a page that was moved.

Change 4307670 by Mitchell.Wilson

	Fixing up multiple issues to resolve errors

Change 4308120 by Mitchell.Wilson

	Fixing up comments to resolve errors

Change 4308165 by Mitchell.Wilson

	Removing old commented section to resolve errors

Change 4308189 by Mitchell.Wilson

	Removing commented out related pages section to resolve errors.

Change 4308942 by Mitchell.Wilson

	Removing topic image link to resolve error

Change 4309000 by Mitchell.Wilson

	Fixing up some typos in images to resolve errors

Change 4309042 by Mitchell.Wilson

	Fixing up old URL to resolve errors

Change 4309060 by Mitchell.Wilson

	Updating URLs to resolve crashing

Change 4309073 by Mitchell.Wilson

	Updating URLs to resolve crash

Change 4309085 by Mitchell.Wilson

	Removing old URL located in a comment to resolve error

Change 4309106 by Mitchell.Wilson

	Updating related pages to resolve errors

Change 4309130 by Mitchell.Wilson

	Fixing topic image to resolve error

Change 4309167 by Mitchell.Wilson

	Remove include to resolve errors

Change 4309172 by Mitchell.Wilson

	Removing include to resolve errors

Change 4309183 by Mitchell.Wilson

	Fixing up table to resolve error

Change 4309189 by Mitchell.Wilson

	Removing old image to resolve errors

Change 4310574 by Sungjin.Hong

	#loc UE4DocKOR

Change 4310769 by Sungjin.Hong

	#loc UE4DocKOR

Change 4311446 by Mitchell.Wilson

	Adding missing image file

Change 4312754 by Jeff.Wilson

	Added new DoF pages and updates

Change 4313881 by Sungjin.Hong

	#loc UE4DocKOR moved or deleted

Change 4313999 by Yang.Zhang

	#loc UE4DocCHN moved or deleted

Change 4314037 by Sungjin.Hong

	corrected some links, tags, and spaces

Change 4314071 by Sungjin.Hong

	#loc UE4DocKOR

Change 4314302 by Sungjin.Hong

	#loc UE4DocKOR

Change 4314504 by Mitchell.Wilson

	Adding missing tutorial image and updating tutorial.
	#jira UEDOC-7229

Change 4317861 by Sungjin.Hong

	#loc ?????? -> ??????

Change 4320148 by Mitchell.Wilson

	Removing comments on topics

Change 4320159 by Jeff.Wilson

	Fixed async gifs

Change 4320499 by Mitchell.Wilson

	Checking in topic images

Change 4321330 by Sungjin.Hong

	#loc UE4DocKOR

Change 4321337 by Yang.Zhang

	Outsourcing 20180821

Change 4321362 by Yang.Zhang

	#loc UE4DocCHN Localization Bug Fixing 2080828

[CL 4322126 by Mitchell Wilson in Main branch]
2018-08-28 10:33:31 -04:00

82 lines
6.5 KiB
Plaintext

INTSourceChangelist:3356804
Availability: Public
Title: BuildGraph
Crumbs: %ROOT%, Programming, Programming/Development
Description: BuildGraph 스크립트 시스템을 사용하여 Installed Build 를 커스터마이징하는 방법입니다.
Version: 4.13
type:landing
parent:Programming/Development
tags:Programming
tags:BuildGraph
topic-image:buildgraph_topic.png
related:Programming/UnrealBuildSystem
**BuildGraph** 는 스크립트 기반 빌드 자동화 시스템으로, 언리얼 엔진 4 (UE4) 프로젝트에 공통인 구성 요소 그래프를 특징으로 합니다.
BuildGraph 는 UnrealBuildTool, AutomationTool, 에디터와 통합되어 있으며, 확장을 통해 프로젝트에 맞게 커스터마이징할 수 있습니다.
BuildGraph 스크립트는 XML 로 작성하며, 사용자 지정 노드 그래프를 그 사이 종속성으로 지정하는 식입니다.
각 노드는 (이 프로젝트를 컴파일해라, 그 다음 쿠킹하고, 이 테스트 실행하고 등) 어떤 아웃풋을 내기 위해
시퀀스로 실행되는 태스크로 이루어집니다. 한 대상 (즉 노드나 네임드 아웃풋) 빌드 요청을 받으면 BuildGraph 는
그를 위해 필요한 그래프 내 모든 노드를 실행합니다.
다른 빌드 툴과 달리 BuildGraph 는 makefile 같은 스크립트 언어와 빌드 팜 환경설정 스크립트 중간의 하이브리드로
디자인되어 있습니다. 각 단계 실행 대상이 되는 머신 유형에 대한 주석이 가능하여, 한 단계가 실패한 경우
실패 알림 수신 목록을 제공할 수 있고, 사용자가 명시적으로 발동한 이후에만 실행시켜야 하는 노드를 그룹으로
묶을 수도 있습니다. 태스크 실행에서의 아웃풋 파일 생성을 트래킹하여 그래프 실행이 머신 팜에 고루 분배될 수 있도록
(그래서 가급적 노드가 병렬 실행되도록), 그리고 네트워크를 통해 주고 받는 중간 부작용도 자동 공유되도록
할 수 있습니다.
에픽에서는 BuildGraph 를 사용하여 UE4 바이너리 릴리즈를 준비하고, 마켓플레이스의 샘플을 패키징하고, (다른 것 보다도) 자체 게임에
쓰이는 파이프라인을 구현합니다. `[UE4Root]/Engine/Build/Graph/Examples` 디렉터리에 예제 BuildGraph 스크립트가
여럿 제공되어 있으며, UE4 바이너리 배포 버전 제작을 위한 스크립트는
`[UE4Root]/Engine/Build/InstalledEngineBuild.xml` 에 있습니다.
Visual Studio 로 스크립트를 열면 `[UE4Root]Engine/Build/Graph/Schema.xsd` 에 위치한 스키마를 사용하여
편집 도중 리치 툴팁, 검증(validation), Intellisense 기능을 제공합니다.
## BuildGraph 스크립트 작성
별도의 **BuildGraph** 스크립트 작성 방법을 배우기 위해서는, 그래프 제작에 들어가는 여러 부분을 알아두면 좋습니다.
그래프 제작은 다음과 같은 엘리먼트로 이루어집니다:
* Tasks: 태스크 - 빌드 프로세스의 일부로 실행되는 동작입니다 (컴파일, 쿠킹 등).
* Nodes: 노드 - 아웃풋을 만들기 위해 실행되는, 순서대로 실행되는 태스크의 네임드 시퀀스입니다. 다른 노드에서 태스크를 먼저 실행해야
이 노드 실행이 가능한 경우도 있습니다.
* Agents: 에이전트 - (빌드 시스템의 일부로 실행되는 경우) 같은 머신에서 실행되는 노드 그룹입니다. 로컬 빌드시 에이전트는
효과가 없습니다.
* Triggers: 트리거 - 수동 개입 이후에만 실행되어야 하는 그룹에 대한 컨테이너입니다.
* Aggregates: 어그리게이트 - 하나의 이름으로 레퍼런싱 가능한 노드 및 네임드 아웃풋 그룹입니다.
스크립트는 보통 재사용 가능하거나 조건에 따라 정의되는 값에 대해 프로퍼티를 자주 사용합니다. 프로퍼티는
`<Property>` 엘리먼트로 선언되며, 첫 선언 지점까지 영역이 지정됩니다. `$(Property Name)` 기호로 레퍼런싱된
프로퍼티는 모든 어트리뷰트 스트링에서 유효하며, 스크립트가 읽힐 때 확장됩니다. 사용자가 명령줄에서
제공할 수 있는 프로퍼티는 `<Option>` 엘리먼트로 선언 가능하며, 환경 변수는 `<EnvVar>` 엘리먼트를 사용하여
프로퍼티에 임포트할 수 있습니다.
어떤 엘리먼트든 "If" 어트리뷰트를 통해 조건절로 정의할 수 있습니다. 조건 표현식 문법은 아래를 참고하세요.
BuildGraph 는 전형적으로 패키지 게임에 사용되므로, 필터링이나 파일 조작이 자체 지원됩니다. 파일 목록을
받는 어트리뷰트는 (어느 위치에서든 "...", "*", "?" 패턴을 몇이든 사용하여 일치시킬 수 있는) 퍼포스 스타일 와일드카드,
전체 경로명, 태그를 붙인 파일 컬렉션으로의 레퍼런스 등으로 구성 가능합니다. 어트리뷰트는 `#` 글자를 앞에 붙여서
나타냅니다. `<Tag>` 태스크를 사용하면 태그 셋에 파일을 추가시킬 수 있으며, 이를 통해 일치/차이 스타일 연산이 가능하기도
합니다. 각 노드는 네임드 태그 목록 형태로 다수의 아웃풋을 선언할 수 있는데, 나중에 다른 노드가 이에 종속될 수 있습니다.
그래프는 빌드 시스템의 일부로 병렬 실행시킬 수 있습니다. 그러기 위하여, `-Export=<Filename>` 인수를 붙여 실행시켜
초기 그래프 환경설정을 생성합니다 (실행하려는 노드와 종속성이 나열된 JSON 파일을 만듭니다). 참여하는
에이전트 각각은 동일한 ChangeList 에 동기화되어 있으야 하며, AutomationTool (UAT) 은 적합한 `-SingleNode=<Name>` 인수를 붙여
다시 실행시켜야 합니다. 여러 노드들의 아웃풋은 (보통 네트워크) 공유 스토리지를 통해 에이전트끼리 전송되며,
그 대상 경로는 명령줄에서 `-SharedStorageDir=<Path>` 인수로 지정할 수 있습니다. 참고로
머신 할당( 및 다수 머신 사이의 합동)은 외부 시스템에서 관리할 것으로 기대합니다.
BuildGraph 구성을 정의하는 데 사용하는 엘리먼트 문법은 다음 부분에 나열되어 있습니다.
## BuildGraph 스크립트 참고서
[DIR(output:"listbutton" parent:"Programming/Development/BuildGraph" org:"flat" type:"reference")]
## BuildGraph 사용법
[REGION:topics third]
%Programming/Development/BuildGraph/Usage:topiccompact%
%Programming/Development/InstalledBuildReference:topiccompact%
[/REGION]