λͺ©λ‘μ 체 κΈ (1096)
KoreanFoodie's Study
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..
νλ©΄μ μΆλ ₯νλ λ‘κΉ μμ€ν μ½μμ μΆλ ₯νλ κ²κ³Ό λΉμ·νκ², μ΄λ²μλ UE_LOG κ° μλ AddOnScreenDebugMessage ν¨μλ₯Ό νμ©ν΄ νλ©΄μ κ°μ μΆλ ₯ν΄λ³΄μ. μΆμ²λ μ¬κΈ°! CLog.h class UE_PROJECT_NAME_API CLog { public: static void Print(int32 InValue, int32 InKey = -1, float InDuration = 10, FColor InColor = FColor::Blue); static void Print(float InValue, int32 InKey = -1, float InDuration = 10, FColor InColor = FColor::Blue); static void Print(const FString& I..