[unreal - udemy/blueprint] "WarehouseWreckage" Part_1
- ํ๋ก์ ํธ ์ด๋ฆ ๊ธธ์ด์๋ ์ ํ์ด ์๊ณ , ํน์ ๋ฌธ์๋ ์ง์ํด์ผ ํ๋ค.
- ํ๋ก์ ํธ ๋ก๊ทธ๋ฅผ ์ ๋ก๋ ํ๊ณ ์ถ์ ๋๋ https://gist.github.com/ ์ ๋ก๊ทธ ๋ถ์ฌ์ CreateSecret Gist๋ก ์ ๋ก๋ ํ๋๊ฒ ์์๋ผ๊ณ ํ๋ค.
1. ๋ธ๋ฃจํ๋ฆฐํธ ์ฉ์ด ์ ๋ฆฌ
- ์ด๋ฒคํธ ๊ทธ๋ํ(event graph) - ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ๊ทธ๋ฆด ์บ๋ฒ์ค ( The canvas for our Blueprint )
- ๋ ธ๋(Node) - ๋ธ๋ฃจํ๋ฆฐํธ์์ ์ฌ์ฉํ ์ ์๋ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๊ธฐ๋ฅ ( Premade functionality )
- ์ด๋ฒคํธ(evnet) - ์ธ์ ์ฌ๊ฑด์ด ๋ฐ์ํด์ผ ํ๋์ง์ ๋ํ ๋ ธ๋ ( "when" node )
- ํ(Pin) - ๋
ธ๋๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ ์์ผ ( Sockets we can connect up )
(1). ์ ๋ ฅ ํ (Input Pin)
(2). ์ถ๋ ฅ ํ (Oput Pin)
2. ์ค๋ธ์ ํธ(Objects)
๋ฐ์ดํฐ์ ๊ธฐ๋ฅ์ ์งํฉ(collection of data and functionality)
- ์ํฐ๋ ๋ ๋ฒจ์ ํฌ์ ํ ์ ์๋ ์ค๋ธ์ ํธ์ด๋ค. ์๋ฅผ ๋ค์ด ๋ ๋ฒจ๋ก ์ด๋ํด ์์๋ฅผ ์ ํํ๋ฉด ๋ํ ์ผ ์ฐฝ์ ์ ๋ง์ ๋ฐ์ดํฐ๊ฐ ์๋ค. ๋ธ๋ฃจํ๋ฆฐํธ์๋ ๋ ธ๋ ํํ๋ก ์ ๋ง์ ๊ธฐ๋ฅ์ด ์๋ค.
- ์ปดํฌ๋ํธ - ์กํฐ๋ก ๋ค์ด๊ฐ๋ ์ค๋ธ์ ํธ, ์กํฐ๋ ๋ ๋ฒจ์ ๋ค์ด๊ฐ๊ณ , ์ปดํฌ๋ํธ๋ ์กํฐ ์์ฒด์ ๋ค์ด๊ฐ๋ค.
- ๋ ํผ๋ฐ์ค - ์ฃผ์ ๋ด์ง๋ ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ด ์ค๋ธ์ ํธ๋ฅผ ์ฐพ๊ธฐ์ํด ๊ฐ์ผํ ์์น
- ๋ฐ์ดํฐ ํ - ๋ ธ๋์ ๋ฐ์ดํฐ ์ ๋ ฅ์ด๋ ์ถ๋ ฅ
- ์คํ ํ Execution Pins - ์ธ์ ์คํํ ์ง ๊ฒฐ์
(1). Actors
- cube
- BP_Projectile
(2). Components
- StaticMeshComponent
3. ์ํ์ค(Impulse, ์ถฉ๊ฒฉ)
Force (ํ): ์ ํด์ง ์๊ฐ์ ๊ฑธ์ณ ๋ฐ์ํ๋ค.
Force = Mass x Acceleration (ํ์ ์ง๋ x ๊ฐ์๋)
Impulse (์ถฉ๊ฒฉ): ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์ํ๋ค.
Impulse = Mass x Velocity Change
โป context sensitive ์ผ์ ธ ์๋์ง ํ์ธ: context sensitive๋ ์คํํฑ ๋ฉ์ ์ปดํฌ๋ํธ ์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ ธ๋๋ง ํํฐ๋ง์ด ๋์ด ์๋ค.
vel Change : Velocitiy change ์ด ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํ๋ฉด ์ง๋์ ์์ ํ ๋ฌด์ํ๊ณ ์ํ๋ ์๋ ฅ์ ์ ์ฉํ ์ ์๋ค. ์ฒดํฌ ํ z์ 400์ ์ ๋ ฅํ๋ฉด ์์ชฝ ๋ฐฉํฅ์ผ๋ก 400, ์ฆ ์ด์ 400cm์ ์๋ ฅ์ ์ป์ ์ ์๋ค. ์ธ๋ฆฌ์ผ์ ์ฃผ์ ๋จ์๋ก cm์ ์ฌ์ฉํ๋ค.
4. ์ํฐ ์คํฐ(Spawn)
๐ธNode: Spawn Actor
(1). Element
- Class: ์ธ์คํด์ค๋ฅผ ๋ง๋ค ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค๊ฐ ์ด๋ค ํด๋์ค ์ธ์ง ์๋ ค์ค์ผ ํ๋ค.
- Spawn Transform: ์ค๋ธ์ ํธ์ ์์น, ํ์ , ์ค์ผ์ผ ์กฐํฉ
* Split Struct Pin - Return Pin: ์ด ๋ ธ๋๋ฅผ ์คํ์ํจ ๊ฒฐ๊ณผ๋ก ๋์ค๋ ๋ฐ์ดํฐ ์ค๋ธ์ ํธ
(2). Glossary
- Spawning - ํ๋ ์ด ์ค ์ค๋ธ์ ํธ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค.
5. ํฐ (Pawn)๊ณผ ์กํฐ
F8์ ์
๋ ฅํ ๋ค์ ์ฃผ์๋ฅผ ๋์๋ค๋๋ฉด ๋ฌด์ธ๊ฐ๊ฐ ๋ชธ์์ ๋น ์ ธ๋์จ๋ค.
(Default Pawn) ๊ฒ์์ ํ๋ ์ดํ๋ ํฐ์ ์๋ฏธํ๋ค.
์ธ๋ฆฌ์ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ์๋ฅผ ์ํด ์ฌ ์์ ํฐ์ ์คํฐํ๊ณ Player Start๋ผ๋ ์ฌ ์์ ์กํฐ๊ฐ ์ฃผ์ด์ง ์์น์ ๋ฐฐ์นํ๋ค.
๐ธNode: Get Player Pawn
ํด๋น ๋ ธ๋์๋ ์คํํ์ด ์๊ณ ์ ๋ ฅ ๋ฐ์ดํฐ ํ๊ณผ ์ถ๋ ฅ ๋ฐ์ดํฐ ํ๋ง ์กด์ฌํ๋ค. ๋ฉํฐํ๋ ์ด์ด ๊ฒ์๋ฅผ ์ํ ์ค๋ช ์ด๋ฉฐ, ์ฑ๊ธ ํ๋ ์ด์ด ๊ฒ์์์ ์ธ๋ฑ์ค 0 ์ด ์ฒซ ๋ฒ์งธ์ด์ ์ ์ผํ ํ๋ ์ด์ด์ด๋ค.
๐ธNode: Get Actor Rotation
์ธ๋ฆฌ์ผ์ Pawn์ด ์นด๋ฉ๋ผ ํ์ ๊ณผ ํจ๊ป ํ๋๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ถฉ๊ฒฉ์ ์ฌ๋ฐ๋ฅธ ํ์ ๋ฐฉํฅ์ผ๋ก ์ค์ ํด์ผํ๋ค.
Pos + move = newPos
๐ธNode: Get Forward Vector
์ ๋ฐ ๋ฒกํฐ๋ ๋ณธ์ง์ ์ผ๋ก ํ์ ํ X๋ฐฉํฅ์ด๋ค. ํ์ ํ ๋ค์์ ์ ๋ฐฉ์ ๊ฐ๋ฆฌํค๋ ๋ฒกํฐ์ด๋ค. ์ค๋ฅธ์ชฝ ๋ฒกํฐ๋ ํ์ ํ Y์ถ์ด๋ค.
๐ธNode: Get Right Vector
์ ๋ ๋ฒกํฐ๋ ๊ธธ์ด๊ฐ 1์ธ ๋ฒกํฐ ๋จ์๋ฒกํฐ์ด๋ค.