๐ ํต์
๋ฉ๊ฐ์ค์บ ์์
๋ค์ด๋ก๋์ํ๋ ์์
์ ์ ํํ ๋ค, ์ปดํจํฐ ์ฌ์์ ๋ง๋ ํ๋ฆฌํฐ๋ฅผ ์ ํํ์ฌ ๋ค์ด๋ก๋ํ๋ค. (nanite๊ฐ ์ต๊ณ ์ฌ์)โป ์ฃผ์ : ๋ค์ด๋ฐ์ ์ฉ๋์ด ์ถฉ๋ถํ์ง ํ์ธํ๋ค. ๊ณ์ ์์ด์ฝ์ ํด๋ฆญํ์ฌ preference์์ ๋ค์ด๋ฐ์ ์์น๋ฅผ ์ ํํ ์ ์๋ค.๋ค์ด๋ก๋ํ ๋ค add๋ ์์น๋ ํญ์ Megascans ํด๋ ํ์์ ์ ์ฅ๋๋ค.๋ค์ด๋ก๋ ๋ฐ์ actor์ view port์ ์ถ๊ฐํ ๋ค, F๋ฅผ ๋๋ฅด๋ฉด ํด๋น actor๋ฅผ ํฌ๊ฒ ํ์ธํ ์ ์๋ค. (actor ์ญ์ ๋ del or backspace) ํต์
๋ฉ๊ฐ์ค์บ์ ์๋ ์์
์ ๋ฐ๋ก view port์ ๋๋๊ทธ ์ค ๋๋กญ์ผ๋ก ๋ค์ด๋ก๋ ๊ฐ๋ฅํ๋ค.๋ค์ด์ ๋ฐ๋ ์ค์๋ low ํ๋ฆฌํฐ์ด์ง๋ง, ๋ค์ด์ ๋ค ๋ฐ๊ณ ๋ ๋ค์๋ ๋์ฉ๋ ๋ฐ์ดํฐ๋ก ๊ต์ฒด๋๋ค.ํ ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ์์
์..
โ๏ธ ์์ง/๐ซ ์ธ๋ฆฌ์ผ
๐ View Port๐ ์ฐํด๋ฆญ + ๋ง์ฐ์ค/WASD ์ด๋์ ํ๋ฉด ์ด๋ ๊ฐ๋ฅ๐ ์ฐํด๋ฆญ + Q/E๋ฅผ ๋๋ฅด๋ฉด ์ํ๋ก๋ ์ด๋ ๊ฐ๋ฅ๐ ์ขํด๋ฆญ + Alt ์ด๋์ ํ๋ฉด ์ด๋ ๊ฐ๋ฅ ๐ Play ํ๋ฉด์์ Esc ํด๋ฆญ์ ๋ฒ์ด๋๊ธฐ ๊ฐ๋ฅ ๐ Actor (=object) 1. ํ์ดํ = ๊ธฐ์ฆ๋ชจ, ๋๋๊ทธ์ ์ด๋ ๊ฐ๋ฅ2. red = X์ถ, green = Y์ถ, blue = Z์ถ3. W ๊ธฐ๋ณธ / E ํ์ / R ํฌ๊ธฐ ๋ณ๊ฒฝ๐ ๊ฐ์ด๋ฐ ํฐ์์ ์ ์ด์ฉํ์ฌ ํฌ๊ธฐ ๋ณ๊ฒฝ์ ๋น์จ์ ์ ์งํ ์ฑ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ค.๐ ํน์ ๋ ์ถ ์ฌ์ด๋ฅผ ๋๋ฌ์ ํฌ๊ธฐ/์์น ๋ณ๊ฒฝ๋ ๊ฐ๋ฅํ๋ค. 4. Alt๋ฅผ ๋๋ฅด๋ฉด ๋ณต์ ๊ฐ๋ฅ5. Shift๋ฅผ ๋๋ฅด๋ฉด ๋ค์์ actor๋ฅผ ์ ํ ๊ฐ๋ฅํ๋ค. ๐ฉ snap ๊ธฐ๋ฅview port ์ฐ์ธก ์๋จ์ ์กฐ์ ๊ฐ์ผ๋ก ์ด๋, ๋ณ๊ฒฝ ๋ฑ ๊ฐ ์กฐ..
์์ Person : Name(์ด๋ฆ), Year(์ฐ์ฐจ) - Student : Id(ํ๋ฒ) - Teacher : Id(์ฌ๋ฒ) Person์๋ DoLesson์ด๋ผ๋ ๊ฐ์ ํจ์๊ฐ ์์ - Student์ DoLesson์ ์์
์ ๋ฃ๋ ํ๋ - Teacher์ DoLesson์ ์์
์ ๊ฐ๋ฅด์น๋ ํ๋ Object ํญ์ ~.generated.h ํค๋๊ฐ ๋ง์ง๋ง์ ์์นํด์ผ ํ๋ค. ์๋ ํค๋๊ฐ ๋ง์ง๋ง GameInstance ์๋ ํค๋๊ฐ ํญ์ ์์ ์์น GameInstance // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Engine/GameI..
ํ๋ก๊ทธ๋จ์ด ์คํ์๊ฐ์ ์๊ธฐ ์์ ์ ์กฐ์ฌํ๋ ๊ธฐ๋ฅ, ์ธ๋ฆฌ์ผ ํ
ํฌ๋๋ก์ง์ ๊ธฐ๋ณธ ๋ฆฌํ๋ ์
์ ๊ฐ์ง ์ ์๋ ์ค๋ธ์ ํธ๋ ์ด๊ฑฐํ UENUM(), ํด๋์ค UCLASS(), ๊ตฌ์กฐ์ฒด USTRUCT(), ํจ์ UFUNCTION(), ๋ฉค๋ฒ ๋ณ์ UPROPERTY() ์ค๋ธ์ ํธ๊ฐ ๋ฆฌํ๋ ์
์ ๊ฐ์ง๋ฉด ๋ํ
์ผ ํจ๋, ์ง๋ ฌํ, ๊ฐ๋น์ง ์ฝ๋ ์
, ๋คํธ์ํฌ ๋ฆฌํ๋ฆฌ์ผ์ด์
, ๋ธ๋ฃจํ๋ฆฐํธ ๋ฑ ์ธ๋ฆฌ์ผ ์์ง์ ์ ์ฉํ ์์คํ
์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ๋ฆฌํ๋ ์
์ ๊ฐ์ง๊ฒ ํ๋ ค๋ฉด ์ค๋ธ์ ํธ๊ฐ ํฌํจ๋ C++ ํด๋์ค ํค๋ ํ์ผ์ "๋ชจ๋๋ช
".generated.h ํค๋๋ฅผ ํฌํจํด์ผ ํ๋ค. ํด๋น ํค๋๋ฅผ ๊ฐ์ ธ์ผ ๋ฆฌํ๋ ์
์ด ์๋ ์์คํ
์์ ํด๋น ํด๋์ค๋ฅผ ๊ณ ๋ คํด์ผ ํ๊ณ ์์คํ
๊ตฌํ์ด ํ์ํจ์ ์ธ๋ฆฌ์ผ ํค๋ ํด UHT์ ์๋ฆฐ๋ค. ๋ชจ๋ ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ๋ ํด๋์ค ์ ๋ณด์ ํจ๊ปํ๋ค. ํด๋์ค..
๊ฒ์ ํ๋ก๊ทธ๋๋ฐ์ ํน์์ฑ - ์ฌ์ฉ์ : ์พ์ ํ ๊ฒฝํ์ ์ํด ๋จ์ผ ์ปดํจํฐ์์ ์ต๋ ์ฑ๋ฅ์ ๋ฝ์๋ด์ผ ํ๋ค - ๊ฐ๋ฐ์ : ๊ฒ์์ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ๋ฐฉ๋ํ๊ณ ๋ณต์กํ ๊ธฐ๋ฅ์ ์์ ์ ์ผ๋ก ๊ด๋ฆฌํด์ผ ํ๋ค C++ : ์์ ์ฑ < ์ฑ๋ฅ / ๋ฉ๋ชจ๋ฆฌ ์ง์ ์ ์ด / ์บ์ ํ์ฉ ๊ทน๋ํ / ์ ์์ค API์ ์ง์ ํธ์ถ / ๋ณต์ฌ ์์
์ต์ํ ๊ฐ์ฒด ์งํฅ ์ค๊ณ ์์น(SOLID) - ์ ์ง๋ณด์์ ์ ์ฐํจ, ํ์ฅ์ฑ ํฅ์์ ์ํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ - ํ๋์ ํด๋์ค๋ ํ๋์ ์ฑ
์๋ง ๊ฐ์ ธ์ผ ํ๋ค - ํด๋์ค ์ค๊ณ๋ ๋ณ๊ฒฝํ์ง ์๊ณ ๋์์ ํ์ฅํ ์ ์์ด์ผ ํ๋ค - ์์ ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค๋ฅผ ๋์ฒด ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค - ์๊ณ ๋ช
ํํ ์ธํฐํ์ด์ค๋ค๋ก ๋ถ๋ฆฌํด ๊ด๋ฆฌํด์ผ ํ๋ค - ๊ตฌํ์ ๋ฐฐ์ ์ํจ ์์ ์ ์ฑ
์ ๋ฐ๋ผ๋ณด๋ฉฐ ์ค๊ณํด์ผ ํ๋ค ๐ ๊ฒ์ ๊ท๋ชจ๊ฐ ๋ํํ๋๋ฉด์ ..
๊ฒ์ ์ ์์ ํน์ฑ ๋ฐ์ดํฐ์ ์ ๋ณด๊ฐ ๋ช
ํํด์ผ ํจ ๋จ์ผ ์ปดํจํฐ์์ ์ต๋ ํผํฌ๋จผ์ค๋ฅผ ๋ฝ์๋ด์ผ ํจ ๋คํธ์ํฌ ์์์ ๋ฐ์ดํฐ ํต์ ์ด ํจ์จ์ ์ด๊ณ ์์ ์ ์ด์ด์ผ ํจ C++์์ int๋ ์ต์ 32๋นํธ๋ฅผ ๋ณด์ฅํ๋๋ก ๊ท์ฝ๋์ด ์์ ํน์ ํ๋ซํผ์์๋ 64๋นํธ๋ก ํด์๋ ์ ์์ ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ int ํ์
์ ํฌ๊ธฐ ํ์ ๋ถ๊ฐ ๐ ๋ฐ์ดํฐ ํ์
์ ์ ๋งค๋ชจํธํจ์ ๊ฒ์ ๊ฐ๋ฐ์ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ ํ๋ฐ์ธ์ด C#์ ๊ฒฝ์ฐ, int ํ์
์ด ์์ง๋ง, 4๋ฐ์ดํธ์ธ int32๋ก ๋ช
ํํ ์ ์๋์ด ์์ ์ธ๋ฆฌ์ผ์ int๋ฅผ ์ฌ์ฉํ์ง ์๊ณ int32 ์ฌ์ฉ ์ธ๋ฆฌ์ผ ์์ง์ ํ์
๊ณผ ํฌ๊ธฐ bool ํ์
- ํฌ๊ธฐ๊ฐ ๋ช
ํํ์ง ์์ - bit filed ์คํผ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ฅผ ์ ํ์ํฌ ์ ์๋ค. - bool ํ์
์ ์ ์ฅํ ๋, ๋ฐ์ดํธ ํ์
์ธ unit8๋ก ..
์ด๋์ฐ์ ์ธ๋ฆฌ์ผ ํ๋ก๊ทธ๋๋ฐ Part1 - ์ธ๋ฆฌ์ผ C++์ ์ดํด ๊ฐ์ ์ ๋ฆฌ 1. GameInstance ์์๋ฐ๊ธฐ 2. ์๋ํฐ ์ค์ ๋ณ๊ฒฝ ํค๋ ํ์ผ UCLASS() class HELLOUNREAL_API UMyGameInstance : public UGameInstance { GENERATED_BODY() public: virtual void Init() override; // ์ ์ธ ํ alt + enter๋ฅผ ํ์ฌ, ์ ์๋ฅผ ์๋์ผ๋ก ์ฝ์
ํด์ค๋ค }; ์์ค ํ์ผ void UMyGameInstance::Init() { Super::Init(); UE_LOG(LogTemp, Log, TEXT("%s"), TEXT("Hello Unreal")); } • Super::Init() ๋ถ๋ชจ ํด๋์ค์ ์๋ Init() ํจ์ ..
์๋ํฐ ํ์ฑํ ์ํ์์ ๋น๋์ ๋ฐ์ ๋ฉ์ธ์ง ํค๋ ํ์ผ์ ๋ณ๊ฒฝ ๋ฐ์์ ๐ ์๋ํฐ ์ข
๋ฃ ํ vs์์ ์ปดํ์ผ์์ค ํ์ผ์์๋ง ๋ณ๊ฒฝ ๋ฐ์์ ๐ ๋ผ์ด๋ธ ์ฝ๋ฉ์ผ๋ก ์ปดํ์ผ (ctrl + alt + F11) VS์์ ์๋์ผ๋ก ํด๋์ค ์ถ๊ฐ ๊ธ์ง ๋น๋๋ฅผ ๋๋ฌ์ ์ฑ๊ณต ์ฌ๋ถ ํ์ธvs ์์ ์ด ์๋ฃ๋ ๋ค, ctrl + f5(๋๋ฒ๊น
ํ์ง ์๊ณ ์คํ)๋ฅผ ํ๋ฉด ๋ซํ์๋ ์๋ํฐ(์ธ๋ฆฌ์ผ) ์คํ ๊ฐ๋ฅ