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

54 lines
4.0 KiB
Plaintext

INTSourceChangelist:3108692
Title: 블루프린트 펑션 라이브러리
Crumbs:
Description:
Availability:Public
Version:4.9
개발 도중 종종 프로젝트 개발을 수월하게 만들어 주는 함수 세트 필요성을 느끼게 됩니다. 이러한 함수는 전형적으로 상태 없이 다양한 게임플레이 코드에 재사용됩니다. 블루프린트로 만들 때도 동일한 필요성이 종종 대두됩니다. 이 매뉴얼의 여러 섹션에서, 게임 오브젝트의 함수와 프로퍼티를 블루프린트에 노출시키는 방법을 살펴봤습니다. 하지만 공유 유틸리티 함수를 노출시키려는 경우, 특정 게임플레이 오브젝트 유형에 굳이 묶지 않는 것이 좋습니다. 그러한 경우를 위해, 블루프린트 펑션 라이브러리가 있습니다.
블루프린트 펑션 라이브러리는 특정 게임플레이 오브젝트에 묶이지 않은 유틸리티 함수성을 제공해 주는 정적인 함수 모음입니다. 이 라이브러리는 'AI 블루프린트 라이브러리'처럼 논리적 함수 세트 그룹으로 나누거나, '시스템 블루프린트 라이브러리'처럼 여러가지 다양한 기능적 영역에 접근할 수 있도록 해주는 유틸리티 함수가 들어있을 수도 있습니다.
블루프린트 펑션 라이브러리 생성은 UFUNCTION() 매크로를 사용하여 함수를 블루프린트에 노출시키는 것과 매우 유사합니다. 액터나 UObject 에서 직접 파생하는 대신, 모든 블루프린트 라이브러리는 UBlueprintFunctionLibrary 를 상속합니다. 또한 정적인 메서드만 들어있습니다. 아래 코드는 애널리틱스 블루프린트 라이브러리에서의 스니펫으로, 라이브러리 클래스 구성법을 보여줍니다.
UCLASS()
class UAnalyticsBlueprintLibrary :
public UBlueprintFunctionLibrary
{
GENERATED_UCLASS_BODY()
/** 별도의 특정 지정 없이 애널리틱스 세션 시작 */
UFUNCTION(BlueprintCallable, Category="Analytics")
static bool StartSession();
위 예제에서 볼 수 있듯이, 블루프린트 펑션 라이브러리는 간접적으로 UObject 파생되었기에 표준 UCLASS() 및 GENERATED_UCLASS_BODY() 매크로가 필요합니다. 블루프린트에서 호출가능하게 만들 함수를 UFUNCTION() 매크로로 장식해 주기도 합니다. 블루프린트 펑션 라이브러리의 함수는 호출에 부차적인 효과가 있는지 여부에 따라 BlueprintCallable 또는 BlueprintPure 지정이 가능합니다. 풀 소스 코드는 /UE4/Engine/Plugins/Runtime/Analytics/AnalyticsBlueprintLibrary 를 참고하세요. StartSession() 함수 구현은 이렇습니다:
bool UAnalyticsBlueprintLibrary::StartSession()
{
TSharedPtr<IAnalyticsProvider> Provider = FAnalytics::Get().GetDefaultConfiguredProvider();
if (Provider.IsValid())
{
return Provider->StartSession();
}
else
{
UE_LOG(LogAnalyticsBPLib, Warning, TEXT("StartSession: Failed to get the default analytics provider. Double check your [Analytics] configuration in your INI"));
}
return false;
}
참고로 위 구현은 UObject 이외의 것에서 파생된 싱글톤 오브젝트와 상호작용합니다. 써드 파티 라이브러리 함수를 블루프린트에 노출시키거나, UObject 를 지원하지 않는 C++ 클래스와 상호작용하기에 좋은 방법입니다. 아래 코드는 제어되는 액터에 대한 AIController 를 찾는 데 흔히 쓰이는 작업을 하는 블루프린트 펑션 라이브러리 메서드 예제입니다:
AAIController* UAIBlueprintHelperLibrary::GetAIController(AActor* ControlledActor)
{
APawn* AsPawn = Cast<APawn>(ControlledActor);
if (AsPawn != nullptr)
{
return Cast<AAIController>(AsPawn->GetController());
}
return Cast<AAIController>(ControlledActor);
}
이 함수는 여러 개의 블루프린트 노드가 될 것을 하나의 노드로 말아넣은 것입니다. 물론, 블루프린트로 이런 함수를 만들 수도 있지만, 자주 호출된다면 C++ 버전이 더 나은 퍼포먼스를 보일 것입니다.