โš™๏ธ ์—”์ง„/๐Ÿซ ์–ธ๋ฆฌ์–ผ

๐Ÿš€ ํ€ต์…€ ๋ฉ”๊ฐ€์Šค์บ” ์—์…‹ ๋‹ค์šด๋กœ๋“œ์›ํ•˜๋Š” ์—์…‹์„ ์„ ํƒํ•œ ๋’ค, ์ปดํ“จํ„ฐ ์‚ฌ์–‘์— ๋งž๋Š” ํ€„๋ฆฌํ‹ฐ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค. (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(๋””๋ฒ„๊น…ํ•˜์ง€ ์•Š๊ณ  ์‹คํ–‰)๋ฅผ ํ•˜๋ฉด ๋‹ซํ˜€์žˆ๋˜ ์—๋””ํ„ฐ(์–ธ๋ฆฌ์–ผ) ์‹คํ–‰ ๊ฐ€๋Šฅ
peewoong
'โš™๏ธ ์—”์ง„/๐Ÿซ ์–ธ๋ฆฌ์–ผ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)