๋ชฉ๋ก์ ์ฒด ๊ธ (1107)
KoreanFoodie's Study
AddMovementInput ํจ์๋ก ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ////////////////////////////////////// ////////////////////////////////////// BlasterCharacter.h ////////////////////////////////////// ////////////////////////////////////// #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "BlasterCharacter.generated.h" UCLASS() class BLASTER_API ABlasterCharacter : public ACharacter { GENERATED_..
IK_Rig ๋ฅผ ์ด์ฉํ๊ธฐ ์ ๋๋ฉ์ด์ ์ ์ฌ์ฉํ ๋, ์ค์ผ๋ ํค์ด ๋ค๋ฅธ ๊ฒฝ์ฐ ๋ฆฌํ๊น์ ํด ์ฃผ์ด์ผ ํ๋ค. ์ธ๋ฆฌ์ผ 5์์๋ IK_Rig ์ ์ด์ฉํด ํฌ์ฆ๋ค์ ํจ์จ์ ์ผ๋ก ์์ ํ๋๋ก ๋ง๋ค์๋ค. ์์ ์๋ณธ IK_Rig์ ์ ๋ณด๋ฉด IK_Retargeting ์ Chain ์ด ์ค์ ๋์ด ์๋ค. ์ผํธ์ Bone Hierarchy ๋ฅผ ์ ๋ณด๋ฉด์, ์ฐ๋ฆฌ๊ฐ ๋ฆฌํ๊นํ๊ณ ์ํ๋ IK_Rig ์ ๋ง๊ฒ ์ฒด์ธ์ ์ค์ ํด์ฃผ๋ฉด ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ค์ผ๋ ํ ๋ฉ์ (์ฌ๊ธฐ์๋ SK_Epic Character) ์ ๊ธฐ๋ฐํ IK_Rig ์ ์์ฑํ๋ค. ์ด๋ฆ์IK_Blaster ๋ก ํ๋ค. ๊ทธ ํ, ๊ธฐ์กด์ IK_Mannequin ๊ณผ ๊ฐ์ ์ด๋ฆ์ Chain ๋ค์ ๋ง๋ค์ด ์ฃผ๋ฉด ๋๋ค. ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค. ๊ทธ ํ, IK Retargeter ๋ฅผ ์์ฑํด์ค๋ค. Sourc..
ํผ๋ น์ด๋ ์ํผ์ ๋ํ ์ฐ๊ตฌ๋, ์ค๋๋ ๋น๊ณผํ์ด๋ผ๋ ์นดํ ๊ณ ๋ฆฌ๋ก ๋ถ๋ฅ๋๊ณ ์๋ค. ํ์ง๋ง ํ๋ ๊ณผํ์ผ๋ก ์ค๋ช ํ ์ ์๋ ๊ธฐํ์๋ค์ ๊ณผํ์ ์ผ๋ก ์ค๋ช ํ ์ ์๋ค๊ณ ํด์ ๊ทธ ์กด์ฌ๋ฅผ ๋ฌด์ํด์๋ ์๋๋ค. ๊ทธ๋ค์ ์ฃผ์ฅํ๋ค. ๊ธฐ์ดํ ํ์ ์์ฒด๊ฐ ์กด์ฌํ๋ค๋ ๊ฒ์ ์ธ์ ํ๋๋ผ๋, ํด๋น ํ์์ ๋ฐ์ ์์ธ์ ๊ท์ ์ด๋ ์ํผ์ฒ๋ผ ๊ธฐ์กด ๊ณผํ์ ํ ๋๋ฆฌ ๋ด์์ ์ ์๋์ง ์์ ๊ฐ๋ ๋ค์ ํตํด ํ์ด๋๊ฐ๋ ค๋ ์๋๋ ๊ณผํ์ ์ด๋ผ๊ณ ํ ์ ์๋ค๊ณ . ํ์ง๋ง ๋๋ ์ด๋ ๊ฒ ๋ฐ๋ฐํ๊ณ ์ ํ๋ค. ์คํ๋ ค ๊ทธ๋ฌํ ๊ธฐํ์๋ค์ ํ์ฌ ๊ณผํ ๊ธฐ์ ์ ๋ฐ์ ์์ค์ด ๊ทธ๋ฌํ ์ฌ๊ฑด๋ค์ ๋ํ ํด๋ต์ ์ ๊ณตํ์ง ๋ชปํ ์ ๋๋ก ์์ํ์ง ์๋ค๋ ์ฆ๊ฑฐ๋ก์ ํ์ฉ๋์ด์ผ ํ๋ค๊ณ . ์ฐ๋ฆฌ๋ '๊ณผํ'์ ๋ณธ์ง์ด ์ง์์ ์ด์ฒด๊ฐ ์๋ ํ์์ ์ค๋ช ํ๋๋ฐ ์ฐ์ด๋ '๋ฐฉ๋ฒ๋ก '์์ ์์ด์๋ ์๋๋ ๊ฒ์ด๋ค. ... (์ค..
๋ธ๋ฃจํ๋ฆฐํธ ๋ ธ๋๋ฅผ ์ด์ฉํ๊ธฐ ThirdPerson Template ์ ํ์ฉํด ๊ฐ๋จํ๊ฒ ๋ฉํฐํ๋ ์ด์ด ์ธํ ์ ํด ๋ณด์. StarterPack ์ ์๋ BP_ThirdPersonCharacter ์์ ๋ค์๊ณผ ๊ฐ์ด ๋ธ๋ฃจํ๋ฆฐํธ ๋ ธ๋๋ฅผ ์ค์ ํด์ฃผ๋ฉด ๋๋ค. ์ฐธ๊ณ ๋ก Lobby ๋ Default ์ค์ ์ Map ์ ๋ง๋ ๊ฒ์ด๊ณ , Open 13.32.244.36 ์ Local IPv4 Address ์ด๋ค. ๊ทธ ํ, ๋ค์๊ณผ ๊ฐ์ด ํจํค์ง ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด ์ค๋ค. (์๋ Binary Configuration ์ Development ๋ก ๋ฐ๊พธ์ด ์ค๋ค) ์ด์ ์๋ฃ๋ exe ํ์ผ์ ์ด ์ปดํจํฐ์์ ์ด๊ณ , 1์ ๋๋ฌ ๋ก๋น๋ฅผ ์์ํ๋ค. ๋ค๋ฅธ ์ปดํจํฐ์์ 2์ ๋๋ฌ ๋ก๋น์ ์ ์ํ๋ฉด, ๋ฉํฐํ๋ ์ด๋ฅผ ์ฆ๊ธธ ์ ์๋ค. ์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๋, Thrid..
๋ฉํฐํ๋ ์ด์ด ์๋ฒ์ ์ ํ peer - to peer ๊ฐ๊ฐ์ ํ๋ ์ด์ด๊ฐ ์ธ์ ์ ๊ฐ์ง๊ณ , ์์ง์์ด๋ ๊ฒ์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ด ์์ ๊ฒฝ์ฐ ์ฐ๊ฒฐ๋ ๋ค๋ฅธ ์ธ์ ์ ์ฌ์ฉ์์๊ฒ ์ด๋ฅผ ์ ํํ๋ค. A ์์ ํ๋ ์ด์ด๊ฐ ์บ๋ฆญํฐ๋ฅผ ์์ง์๋ค๊ณ ํ์ ๋, ์์ง์ธ ์ขํ๋ฅผ ๋ค๋ฅธ ์ปดํจํฐ์๊ฒ ์ ๋ฌํ๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ์ปดํจํฐ์์๋ A์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ด ์กฐํ๋์ง ์๋๋ค. Client - Server Model Client - Server Model ์์๋, ๊ฐ ํด๋ผ์ด์ธํธ๋ค์ด ์ด๋ค ๋์์ ํ๊ฒ ๋๋ฉด, ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ Server ๋ก request ํ๋ค. Server ์์๋ ์ ํฉ์ฑ์ด ์๋ ์ํ๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉฐ, ์ด๋ฅผ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๋ค์๊ฒ ์ ํํ๋์์ผ๋ก ์์น๋ ์ํ ๋ฑ์ ์ ๋ฐ์ดํธ ํ๋ค. Client - Server Model ์ ํฌ๊ฒ Listen-Serve..
UPoseableMeshComponent ์ธ๋ฆฌ์ผ์์ GhostTrail ๋ฑ์ ๊ตฌํํ ๋, UPoseableMeshComponent ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. UPosebleMeshComponent ๋ ๋ฌด์์ผ๊น? ๋จผ์ ์ ์๋ก ๋์ด๊ฐ๋ณด๋ฉด, /** *UPoseableMeshComponent that allows bone transforms to be driven by blueprint. */ UCLASS(ClassGroup=Rendering, hidecategories=(Object,Physics), config=Engine, editinlinenew, meta=(BlueprintSpawnableComponent)) class ENGINE_API UPoseableMeshComponent : public ..
๋ชจ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํต์ฌ ๋ด์ฉ์ ๊ฐ์ถ๋ฆฌ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ชจ๋์ ์ฝ๋์ ์น์ด๋จน๋ C++ ๊ฐ์ข๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์! ThreadPool ๊ฐ๋จ ์์ฝ ThreadPool ์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์์ ์ ์ถ๊ฐํ๋ฉด, ์ฐ๋ ๋ํ์ ์๋ ์ฐ๋ ๋๊ฐ ์ด๋ฅผ ๋งก์ ์์ ํ๊ฒ ๋๋ค. ์ด ๊ธ์์๋ ์ฐ๋ ๋์ ์๋ก์ด ์์ ์ ์ถ๊ฐํ๋ ์ผ์ queue ๋ฅผ ํตํด ์ฒ๋ฆฌํ๋ค. ์ด๊ณณ์ ๊ตฌํ์ ๊ธฐ์ด๋ก ํ์ฌ ์์ฑํ๋ค. ๋ชจ๋ ์ฐ๋ ๋๊ฐ ์์ ์ค์ด์ด๋ ์๋ก์ด ์์ ์ ์ถ๊ฐํด๋ ์๊ด์๋ค! ํด๋์ค ์ค๊ณํ๊ธฐ ๋จผ์ ์ฐ๋ ๋๋ค์ ๋ณด๊ดํ ์ปจํ ์ด๋๊ฐ ํ์ํ๋ค. // ์ด Worker ์ฐ๋ ๋์ ๊ฐ์. size_t num_threads_; // Worker ์ฐ๋ ๋๋ฅผ ๋ณด๊ดํ๋ ๋ฒกํฐ. std::vector worker_threads_; ํธ์์, ์ฐ๋ ๋ํ์์ ๋์๊ฐ๋ ์ฐ๋ ๋๋ค์ ..
๋ชจ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํต์ฌ ๋ด์ฉ์ ๊ฐ์ถ๋ฆฌ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ชจ๋์ ์ฝ๋์ ์น์ด๋จน๋ C++ ๊ฐ์ข๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์! ๋๊ธฐ์ ๋น๋๊ธฐ C++ ์ฝ๋๋ ์์ฐจ์ ์ผ๋ก ์คํ๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ผ์ ์ฝ๊ณ , ์ฝ์ ํ์ผ๋ก ์ด๋ค ์์ ์ ํ๊ณ , ๋ง์ง๋ง์ผ๋ก ํ์ผ๊ณผ ๊ด๊ณ์๋ ์์ ์ ์ํํ๋ ์ฝ๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด์. ์ด ๊ฒฝ์ฐ, ํ์ผ๊ณผ ๊ด๊ณ์๋ ์์ ์ ํ๊ธฐ ์ํด ํ์ผ์ ์ฝ๊ธฐ๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ ์ง์ฐ ์๊ฐ์ด ์กด์ฌํ๋ค. ์ด์ ์ ๋ฐฐ์ด ์ฐ๋ ๋๋ฅผ ์ด์ฉํ๋ฉด ์ด ์์ ์ ๋น๋๊ธฐ์ ์ผ๋ก ๋ฐ๊พธ์ด ์ค ์๋ ์๋ค. void file_read(string* result) { string txt = read("a.txt"); *result = do_something_with_txt(txt); } int main() { string result; t..
AttachedActors vs ChildActors ๋ง์ฝ ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ชจ ์กํฐ์ ๋ถ์ฐฉ๋ ์กํฐ๋ค์ ์ญ์ ํ๋ ค๊ณ ํ๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ๋ง์ฝ ํ์ฌ ์กํฐ์ ์์์ผ๋ก ์ค์ ๋ ActorComponent ๋ค์ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ก ์กฐํํ ์ ์๋ค. TArray tempChildActors; AActor* owner = GetOwner(); // SomeChildActor->SetOwner(this); ๊ฐ ์ด๋์ ๊ฐ ์คํ๋์๋ค๊ณ ๊ฐ์ owner->GetAllChildActors( tempChildActors, true ); uint32 count = tempChildActors.Num(); ํ์ง๋ง ์์ ๊ฐ์ ๊ฒฝ์ฐ๋, ๋ฌด๊ธฐ๋ฅผ ์บ๋ฆญํฐ์ ์์ผ์ ๋ถ์ฐฉ (AttachToComponent) ํ๋ ๊ฒฝ์ฐ..
์ค๋ธ์ ํธ ์์ฑ ๋ฐ ์ ์ ๋ถ๋ฌ์ค๊ธฐ ์ธ๋ฆฌ์ผ์์ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ณ ์ ์ ์ ๋ถ๋ฌ์ฌ ๋๋ ๋ณดํต CreateDefaultSubobject ๋ก CDO ๋ฅผ ๋ง๋ค์ด ์ค ๋ค์, ConstructorHelpers::FObjectFinder ๋ก ์ ์ ์ ์ฐ๊ฒฐ์์ผ ์ค๋ค. ์ด ๊ณผ์ ์ ๋จ์ถ์์ผ์ฃผ๋ Helper Function ์ ๋ง๋ค์ด ์ฌ์ฉํด ๋ณด์. CHelpers.h #pragma once #include "CoreMinimal.h" #include "Components/SkeletalMeshComponent.h" #include "Kismet/GameplayStatics.h" #include "Particles/ParticleSystem.h" #include "NiagaraSystem.h" #include "NiagaraFun..
