[Unreal] MassSystem
Mass System
Mass System
Mover ๊ธฐ์กด์ Character Movement Component๋ฅผ ๋์ฒดํ ๋ชฉ์ ์ ์ธ๋ฆฌ์ผ ๊ณต์ ํ๋ฌ๊ทธ์ธ ํฌ์คํธ ์์ฑ์ผ ๊ธฐ์ค์ผ๋ก ์์ง Experimental Mover 1.0์ด ๋์ค์๋ง์ ๊ณง๋ฐ๋ก CMC ์ง์์ ๋์ ๊ณํ์ ์๊ณ ์ฅ๊ธฐ์ ์ผ๋ก ๋์ฒดํ ๊ฒ์ด๋ผ ํ๋ค ์ธ๋ฆฌ์ผ ์บ๋ฆญํฐ์ ๊ธฐ๋ณธ์ ์ธ Movement...
Pipeline State Object Cache ๊ตฌ์ API๋ Draw Call ์ ์ ๊ด๋ จ GPU ํ๋ผ๋ฏธํฐ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์ฌ๋ฌ ๋ฒ์ ์ฝ์ ํด์ผํ๋ค Parameter A ์ ๋ฐ์ดํธ + Parameter B ์ ๋ฐ์ดํธ + โฆ ์ต์ API๋ PSO๋ผ๋ GPU Parameter์ ์งํฉ, ์ฆ GPU State๋ฅผ ํจํค์ง...
Game Feature
check ์ฌ์ฉ ์ผ์ด์ค DO_CHECK = 1์ธ ๊ฒฝ์ฐ ๋งคํฌ๋ก ๋ด๋ถ๋ฅผ ์คํ ๋ฐ์คํธ ์คํจ ์ ์ค๋จ์ ์ฒดํฌ + ํฌ๋์ ๋ฆฌํฌํฐ DO_CHECK = 0์ธ ๊ฒฝ์ฐ ๋งคํฌ๋ก๋ฅผ ๋ฌด์ํ๋ค
์คํํฑ ๋ฉ์์์ ์ฐจ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์คํํฑ ๋ฉ์์์ ํฐ ์ฐจ์ด๋ ์๋ค ๋๋์ดํธ ๋ฉ์๋ ๋ ๋ง์ ์์ ํธ๋ผ์ด์ต๊ธ๊ณผ ์ธ์คํด์ค๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค ๋๋์ดํธ๋ ๋จธํฐ๋ฆฌ์ผ์ ๊ตฝ์ง ์์๋ ๋๋ค ๋ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ ๋น ๋ฅด๊ฒ ๋ ๋๋ง๋๋ค ์ต์ ํ๋์ง ์์ ๋๋์ดํธ ๋ฉ์์ ์คํํฑ ๋ฉ์๋ฅผ ๋น๊ตํ ๋ ๋์คํฌ๋ฅผ ์ฐจ์งํ๋ ์ฉ๋์ ๋น์ทํ๋, ...
๊ฐ์ Lumen Essential
Braking Friction
Bit field ์ ์ธ
FORCEINLINE๊ณผ inline ์ผ๋ฐ์ ์ธ inline ํค์๋๋ฅผ ์ฌ์ฉํ์ ๋, ์ปดํ์ผ๋ฌ๋ ํด๋น ๊ตฌ๋ฌธ์ inlineํ ํ ์ง ์ฌ๋ถ๋ฅผ ์ค์ค๋ก ๊ฒฐ์ ํ๋ค ํ์ง๋ง __forceline ํค์๋๋ ์ปดํ์ผ๋ฌ์ ํ๋จ์ฌ๋ถ์ ๋ฌด๊ดํ๊ฒ ๋ฌด์กฐ๊ฑด inlineํ ํ๋๋ก ๊ฐ์ ํ๋ค __forceinline์ VS ์ปดํ์ผ๋ฌ์์ ์ ๊ณตํ๋ non-standa...
BlueprintPure ํจ์๋ฅผ ๋ธ๋ฃจํ๋ฆฐํธ์ ๋ ธ์ถ์ํฌ ๋, ์ด ํจ์๊ฐ OwnerObject์ ์๋ฌด ์ํฅ์ ์ฃผ์ง ์๋ ๊ฒ์ ๋ณด์ฅํ๋ ํค์๋ Gettor์ ์ฑ๊ฒฉ์ ๊ฐ์ง๋ค
Unity Build C / C++์ ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผ ํ ๋, ์ฌ๋ฌ translation unit์ ํ๋๋ก ๋ญ์ณ์ ๋น๋ํ๋ ๋ฐฉ์ Unity ์์ง๊ณผ๋ ์ ํ ๋ฌด๊ดํ๋ค
Transient ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ๋ ์ง๋ ฌํ ๊ธฐ๋ฅ์ผ๋ก ์ค๋ธ์ ํธ์ UPROPERTY ๋งคํฌ๋ก๋ก ์์ฑ์ ์ ์ฅ ๋ฐ ๋ก๋ฉํ ์ ์๋ค ์ด๋ฅผ ํ ๋ฉด, CurrentHP์ ๊ฐ์ ๊ฐ์ ๊ฒ์์ ์์ํ ๋๋ง๋ค ๋ณ๊ฒฝ๋๋ฏ๋ก ์ด ๊ฐ์ ์ ์ฅ ๋๋ ๋ก๋ฉํ๋ ๊ฒ์ ๋์คํฌ ๋ญ๋น๋ค ์ด๋ฐ ์์ฑ์ Transient ํค์๋๋ฅผ ์ถ๊ฐํด ์ง๋ ฌํ ๋์์์ ์ ์ธํ ์...
UFUNCTION Overload UFUNCTION ํจ์๋ Overload ํ ์ ์๋ค ๋ง์ฝ Overload ํ์ํ๋ค๋ฉด UFUNCTION ํค์๋๋ฅผ ์ ๊ฑฐํ๊ณ ์ฌ์ฉํด์ผ ํ๋ค UHT๊ฐ Unreal Function์ ๋ฑ๋กํ๊ธฐ ์ํด์ Iterate ํ ๋, ํค๋ ํ์๊ฐ ํ์ธํ๋ ๊ฒ์ ํจ์์ ์ด๋ฆ ๋ฟ ...
```c++ UCLASS(BlueprintType, Deprecated) class CLIENT_API UDEPRECATED_CameraBehaviorDataAsset: public UDataAsset { GENERATED_BODY()
Gameplay Ability System (GAS) ์บ๋ฆญํฐ์ ๋ฅ๋ ฅ์ด๋ ์์ฑ ๋ฑ์ ๊ด๋ฆฌํ ์ ์๊ฒ ๋์์ฃผ๋ ํ๋ ์์ํฌ ์บ๋ฆญํฐ์ ๋ฅ๋ ฅ ๋๋ ์คํฌ์ ๊ตฌํ Gameplay Ability ์กํฐ์ ์์นํ๋ ์์ฑ ๊ด๋ฆฌ Atttibute ์กํฐ์ ํน์ ํ ํจ๊ณผ(Effect) ์ ์ฉ ...
๋ฉํฐํ๋ ์ด์ด ๊ฒ์ ๋ฉํฐํ๋ ์ด์ด ๊ฒ์์์๋ ๋์ผํ ๊ฒ์์ด ์ฌ๋ฌ ์ธ์คํด์ค์์ ๋์์ ์คํ๋์ด์ผ ํ๋ค. ๊ณต์ ๋ ์ธ๊ณ์ ๋ํด ์ผ๊ด๋, ๋์ผํ ๊ทธ๋ฆผ์ ๊ทธ๋ ค๋ด์ผ ํ๋ค
FName ํ ์คํธ์ ๋์๋ฌธ์ ๊ตฌ๋ถ์ ํ์ง ์๋๋ค
Reflection ํ๋ก๊ทธ๋จ์ด ๋ฐํ์, ๊ทธ๋ฌ๋๊น ์คํ์ค์ ์๊ธฐ ์์ ์ ๊ตฌ์กฐ๋ฅผ ๊ฒ์ฌํ๊ณ ์กฐ์ํ ์ ์๋ ๋ฅ๋ ฅ ์ผ๋ฐ์ ์ธ C++์์๋ ์ปดํ์ผ ์์ ์ ๋ชจ๋ ์ ๋ณด๊ฐ ๊ฒฐ์ ๋๊ณ , ์ปดํ์ผ๋ ์ํ์ C++ ์ธ์ด๋ CPU๋ก ์ ๋ฌ๋๋ค ์ด๋ค class A๊ฐ ์ด๋ค ๋ฉค๋ฒ ๋ณ์ ํน์ ํจ์๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์ ์ ์๋ค ๋ฆฌํ๋์ ์ด ์ง์๋๋ ์ธ...
Garbage Collection
๋ฃจํธ ๋ชจ์ ์ฌ์ฉ ์ฌ๋ถ์ ๋ฐ๋ฅธ ์ฐจ์ด
Parts of the AI Perception System Unreal์ AI Perception System์ ํตํด Actor๊ฐ ๋ฌด์์ ๊ฐ์งํ๋์ง, World์ ์ด๋ค ๋ถ๋ถ์ ๊ฐ์งํ ์ ์๋์ง๋ฅผ ์ ์ดํ๊ฒ ํด์ค๋ค. ์์งํ ์ ๋ณด๋ Event-driven system์ด ์ฒ๋ฆฌํ๋ฉด์ ๊ฐ๋จํด์ง๋ฉฐ ๊ฐ๋ฒผ์ด ๋น์ฉ๋ง์ ์๋ชจํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ธ๋ฃจํ๋ฆฐํธ ์์์ ์ ๋ฒ์์ ...
Navigation with AI ๊ธธ์ฐพ๊ธฐ๋ฅผ ํตํด ์ฃผ๋ณ ํ๊ฒฝ์ ํค์ณ๋๊ฐ๋ ๊ฑด AI์ ๊ธฐ๋ณธ์ด์ง๋ง ๋จ์ํ A ์ง์ ์์ B ์ง์ ์ผ๋ก ์ด๋ํ๋ ๊ฒ์ ๋ง๋ฅ ์ฌ์ด ์ผ์ ์๋๋ค. ๊ธธ์ฐพ๊ธฐ๋ ๊ฒฝ๋ก ํ์๊ณผ ์ฅ์ ๋ฌผ ํํผ๋ก 2 ๋จ๊ณ๋ก ๋๋ ์ ์๋ค. ์ฌ๊ธฐ์ ์ฅ์ ๋ฌผ์ด๋ ๊ณ ์ ๋ ์ํ์ ๋ฌผ์ฒด๋ก ์ ์ํ๋ค. ์ด๋ฐ ์ฅ์ ๋ฌผ์ ํํผํ๊ธฐ ์ํด Navigation Mesh๊ฐ ํ์ํ๋ค.
Blackboard / Behaviour Tree / AI Controller / Pawn ์ ๊ด๊ณ
UCLASS์ USTRUCT์ ์ฐจ์ด? ๊ฐ ๋งคํฌ๋ก๋ Reflection ์์คํ ์ ํด๋์ค์ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ฑ๋กํ๋ ๋ฐ ์ฌ์ฉํ๋ค Unreal Editor๊ฐ ์ฌ์ฉ์ ์ ์์ ํด๋์ค ๋๋ ๊ตฌ์กฐ์ฒด๋ฅผ ์ธ์ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด๋ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์คํ ์ ํฌํจ์์ผ Garbage Collectionํ ์ ์๋๋ก ํ๋ค UHT(Unreal ...
Hard Reference
UObject UObject๋ Unreal Engine์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ๊ฐ์ฒด๋ค UCLASS ๋งคํฌ๋ก ์ ์ธ์ผ๋ก UObject๋ฅผ ๊ด๋ฆฌํ๋ ์์คํ ์ด ์ด๋ฅผ ์ธ์ํ๋ค Reflection System์ ํตํด Garbage Collection์ ์ํํ๋ ๋ฑ์ ์ญํ ๋ชจ๋ ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ๋ ์คํ ์ด๊ธฐ์ ๋ฐํ์ ๊ณผ์ ์์...
IK์ FK FK Rig Forward Knematics Parent๊ฐ ์์ง์ด๋ฉด Child๋ ์ข ์๋์ด ์ ๋๋ฉ์ด์ ์ด ์๋ ํ๊ฟ์ง๋ฅผ ์์๋๋ก ํ๋ค๋ฉด ์, ์๊ฐ๋ฝ๋ ๋ฐ๋ผ ์์ง์ด๋ ์๋ฆฌ
Class Default Object (CDO) ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ์ ๊ธฐ๋ณธ ์ธํ ์ํ๋ฅผ ์ง์ ๊ธฐ๋ณธ ํฌํ๋ฆฟ ์ค๋ธ์ ํธ Master copy UClass, ๋ฆฌํ๋ ์ ์์คํ ์์ ์๋ํ๊ธฐ ์ํด ๊ณ ์๋ ํด๋์ค์์ ์ด ์ ๋ณด๋ฅผ ํฌํจํ๋ค C++ ์ธ์ด ์ฐจ์์์ ์ ๊ณตํ์ง ์๋ ๋ฆฌํ๋ ์ ๊ธฐ๋ฅ์ ์ ๋ฐฉ๋ฒ์...
๊ธฐ๋ณธ์ ์ธ Actor์ ๋ผ์ดํ ์ฌ์ดํด
๋ ธ๋๋ก ์ ๊ธฐ ๋ธ๋ฃจํ๋ฆฐํธ ๋ ธ๋๋ฅผ ๋์์ธํ๋ค๊ฐ ์ปค๋ค๋ ๊ทธ๋ํ๋ฅผ ํ๋๋ก ๋ฌถ์ด ์ ๋ฆฌํ๋ ๊ธฐ๋ฅ
Blueprint๋? Unreal ์์ง์ ๋ด์ฅ๋ ์ปดํ์ผ์ ๋น์ฃผ์ผ ์คํฌ๋ฆฝํ ์์คํ ํ๋์ ํ๋ฆฌํน ํน์ ์ํคํ์ ์ผ๋ก ์ ์ํ๋ ๋จ์์ผ ์๋ ์๋ค
Unreal vs. Unity
์ธ๋ฆฌ์ผ์ ๋งคํฌ๋ก๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ธ๋ฆฌ์ผ C++ ์ฝ๋๋ Unreal Header Tool, UHT Preprocessor๋ผ ๋ถ๋ฆฌ๋ ์ปค์คํ RTTI๋ฅผ ์ฌ์ฉํ๋ค ์ด๋ฐ ๋งคํฌ๋ก๊ฐ ๋ฌ๋ฆฐ ์ฝ๋๋ ์ผ๋ฐ์ ์ธ C++ ๋งคํฌ๋ก์ ๋ฌ๋ฆฌ ๋ ๋ฎ์ ๋ ๋ฒจ์์ ์๋ํ๋ฉฐ ๊ด๋ฆฌ๋๋ค ์ด ๋งคํฌ๋ก๋ค์ RTTI, Reflection ๋ฑ ์๋์ ์ํด ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค