NPC
NPC
์๋ฒ์์ ์ฌ์ฉ๋๋ NPC ๊ฐ์ฒด์์.
ํจ์
void MoveToLocation(Vector Target)
์บ๋ฆญํฐ๊ฐ ๋ชฉํ ์ง์ ๊น์ง ๊ธธ์ฐพ๊ธฐ๋ฅผ ์ด์ฉํด ์ด๋ํฉ๋๋ค. (NavMeshVolume๋ฅผ ๋ฐฐ์นํด์ผ ๋์ํด์.)
-- ์ํ --
local npc = Script.Parent
local goalPos = Workspace.Cube.Transform.Location
wait(3)
npc:MoveToLocation(goalPos) --ํด๋น ์ง์ ๊น์ง ๊ธธ์ฐพ๊ธฐ๋ก ์ด๋ํด์.
void StopMovement()
์บ๋ฆญํฐ์ ๊ธธ์ฐพ๊ธฐ ์ด๋์ ์ค์งํฉ๋๋ค.
-- ์ํ --
local npc = Script.Parent
local goalPos = Workspace.Cube.Transform.Location
wait(3)
npc:MoveToLocation(goalPos) --ํด๋น ์ง์ ๊น์ง ๊ธธ์ฐพ๊ธฐ๋ก ์ด๋ํด์.
wait(5)
npc:StopMovement() --์งํ์ค์ธ ๊ธธ์ฐพ๊ธฐ๋ฅผ ์ค์งํด์.
PathFollowingStatus GetPathFollowingStatus()
์บ๋ฆญํฐ์ ๊ธธ์ฐพ๊ธฐ ์ด๋ ์ํ์ ๋๋ค.
-- ์ํ --
local npc = Script.Parent
local goalPos = Workspace.Cube.Transform.Location
wait(3)
npc:MoveToLocation(goalPos) --ํด๋น ์ง์ ๊น์ง ๊ธธ์ฐพ๊ธฐ๋ก ์ด๋ํด์.
print(npc:GetPathFollowingStatus()) --๋์์ ๊ธธ์ฐพ๊ธฐ ์ํ๋ฅผ ์ซ์๋ก ๋ฐํํด์.
void MoveForward(number Value)
์ค์ ๋ ์ด๋ ํ์ ์ ๋ฐ๋ผ ์์ผ๋ก ์ด๋์์ผ์. (1 : ์ ์ง, -1 : ํ์ง ์ด๋)
-- ์ํ --
local npc = Script.Parent
local function update(updateTime)
npc:MoveForward(-1) --1์ด๋ฉด ์ ์ง, -1์ด๋ฉด ํ์งํด์
end
npc.OnUpdateEvent:Connect(update)
void MoveRight(number Value)
์ข, ์ฐ๋ก ์ด๋์์ผ์. (-1 : ์ข์ธก, 1 : ์ฐ์ธก ์ด๋)
-- ์ํ --
local npc = Script.Parent
local function update(updateTime)
npc:MoveRight(-1) --1์ด๋ฉด ์ฐ์ธก, -1์ด๋ฉด ์ข์ธก์ผ๋ก ์ด๋ํด์
end
npc.OnUpdateEvent:Connect(update)
void Jump()
์ ํ๋์์ ์คํํด์.
-- ์ํ --
local npc = Script.Parent
wait(5)
npc:Jump() -- ์ ํ๋์์ ์คํํด์.
string GetNPCName()
NPC์ ์ด๋ฆ์ ์ป์ ์ ์์ด์.
-- ์ํ --
local NPC = Script.Parent
print(NPC:GetNPCName())
void SetNPCName(string Name)
-- ์ํ --
local NPC = Script.Parent
NPC:SetNPCName("๊ธฐ์ฌ")
์ฌ์ฉ ๊ฐ๋ฅํ ๋ถ๋ชจ ์ค๋ธ์ ํธ ๊ธฐ๋ฅ๋ค
์์ฑ
์ด๋ฆ
์ค๋ช
์บ๋ฆญํฐ์ ๊ฐ์์ฑ
์บ๋ฆญํฐ์ Matring ์์
์บ๋ฆญํฐ ์์น๊ฐ์ด์์.
์บ๋ฆญํฐ ํ์ ๊ฐ์ด์์.
๊ฐ์ฒด ํ์ฑํ ์ฌ๋ถ
๊ฐ์ฒด์ Matrix
๊ฐ์ฒด์ Local Transform
๊ฐ์ฒด์ ์์น Vector
๊ฐ์ฒด์ ๋ก์ปฌ์ขํ Vector
๊ฐ์ฒด์ ํ์ Vector
๊ฐ์ฒด์ ๋ก์ปฌ ํ์ Vector
๊ฐ์ฒด์ ํฌ๊ธฐ Vector
๊ฐ์ฒด์ ๊ฐ์์ฑ
์ด๋ฒคํธ
์ด๋ฆ
์ค๋ช
์์ฑ ํ ๋งค ํ๋ ์๋ง๋ค ํธ์ถ๋๋ ์ด๋ฒคํธ์์. ์ฐ๊ฒฐํจ์ ํ์์ function(updateTime), updateTime ์ number ์ ๋๋ค.
์ญ์ ๋ ๋ ํธ์ถ๋๋ ์ด๋ฒคํธ์์. ์ฐ๊ฒฐํจ์ ํ์์ function() ์ ๋๋ค.
Enable ๋ ๋ ํธ์ถ๋๋ ์ด๋ฒคํธ์์. ์ฐ๊ฒฐํจ์ ํ์์ function() ์ ๋๋ค.
Disable ๋ ๋ ํธ์ถ๋๋ ์ด๋ฒคํธ์์. ์ฐ๊ฒฐํจ์ ํ์์ function() ์ ๋๋ค.
ํจ์
์ด๋ฆ
์ค๋ช
์บ๋ฆญํฐ Material์ Emissive ๊ฐ์ ๋ณ๊ฒฝ ํ ์ ์์ด์. (์์ฒด ๋ฐ๊ดํ๋ ์์น ๊ฐ)
์บ๋ฆญํฐ์ ๋ฌผ๋ฆฌ์ ์ธ ํ์ ๊ฐํ ์ ์์ด์. (ํ์ ๊ฐํ Vector ๊ฐ)
์บ๋ฆญํฐ์ ์ต๋ ์ด๋์๋๋ฅผ ์ป์ ์ ์์ด์.
์บ๋ฆญํฐ์ ์ต๋ ์ ํ์๋๋ฅผ ์ค์ ํ ์ ์์ด์. (์ค์ ํ ์ต๋ ์ ํ์๋ ๊ฐ)
์บ๋ฆญํฐ์ ์ต๋ ์ ํ์๋๋ฅผ ์ป์ ์ ์์ด์.
๊ณต์ค์์ ์บ๋ฆญํฐ ์ปจํธ๋กค ๋น์จ์ ์ค์ ํ ์ ์์ด์. (์ค์ ํ ๋น์จ ๊ฐ)
๊ณต์ค์์ ์บ๋ฆญํฐ ์ปจํธ๋กค ๋น์จ์ ์ป์ ์ ์์ด์.
์บ๋ฆญํฐ์ ์ต๋ ๊ณต์ค ์ด๋์๋๋ฅผ ์ค์ ํ ์ ์์ด์. ๊ธฐ์ด์ค๋ฅด๊ธฐ, ๋ ๊ธฐ ๋ฑ์ ์ํ์์๋ง ๋ฐ์๋ผ์. (์ค์ ํ ์ต๋ ๊ณต์ค ์ด๋์๋ ๊ฐ)
์บ๋ฆญํฐ์ ์ต๋ ๊ณต์ค ์ด๋์๋๋ฅผ ์ป์ ์ ์์ด์.
์บ๋ฆญํฐ์ ์ ํ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ค์ ํ ์ ์์ด์. (์ ํ ๊ฐ๋ฅ ์ฌ๋ถ)
์บ๋ฆญํฐ์ ์ข์ฐ ์ด๋ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ค์ ํ ์ ์์ด์. (์ข์ฐ ์ด๋ ๊ฐ๋ฅ ์ฌ๋ถ)
์บ๋ฆญํฐ๋ฅผ ํน์ ์คํฐ ์์น๋ก ์ด๋์ํฌ ์ ์์ด์. (์ด๋ ํ ์คํฐํฌ์ธํธ ์ค๋ธ์ ํธ, ๋ฐฉํฅ Rot ์ด๊ธฐํ ์ฌ๋ถ)
ํ์ฌ ์บ๋ฆญํฐ์ ์ธํ ํ์ ์ ๋ฐ๊ฟ ์ ์์ด์.
ํ์ฌ ์บ๋ฆญํฐ์ ์บก์ ์ฝ๋ฆฌ์ ์ ํฌ๊ธฐ๋ฅผ ๋ฐ๊ฟ ์ ์์ด์.
ํ์ฌ ์บ๋ฆญํฐ์ ์ธํ ํ์ ์ ๊ฐ์ ธ ์ฌ ์ ์์ด์.
์บ๋ฆญํฐ์ ํ๊ฒ ์ค๋ธ์ ํธ๋ฅผ ๋ถ์ผ ์ ์์ด์. (ํ๊ฒ ์ค๋ธ์ ํธ, ๋ถ์ผ AttachPoint)
์บ๋ฆญํฐ์ ํ๊ฒ ์ค๋ธ์ ํธ๋ฅผ ๋ถ์ผ ์ ์์ด์. (ํ๊ฒ ์ค๋ธ์ ํธ, ๋ถ์ผ Bone)
์บ๋ฆญํฐ์ ๋ถ์ด์๋ ์ค๋ธ์ ํธ๋ฅผ ๋จ์ด๋จ๋ฆด ์ ์์ด์. (ํ๊ฒ ์ค๋ธ์ ํธ)
์บ๋ฆญํฐ์ ๋ถ์ด์๋ ๋ชจ๋ ์ค๋ธ์ ํธ๋ฅผ ๋จ์ด๋จ๋ ค์.
๊ฐ์ฒด์ ํค ๊ฐ์ ์ป์ ์ ์์ด์.
ํ์ฌ ๋งคํธ๋ฆญ์ค์์ ์ค์ ๋ ๋งคํธ๋ฆญ์ค๋ก ๋ณด๊ฐ์ด ๋๋ ๋งคํธ๋ฆญ์ค๋ฅผ ์ค์ ํ ์ ์์ด์ ์ค์ ํ ์ ์์ด์. (Matrix ๊ฐ, bool ์ถฉ๋ ์ฒ๋ฆฌ ์ฌ๋ถ)
ํ์ฌ ๋งคํธ๋ฆญ์ค์์ ์ค์ ๋ ๋งคํธ๋ฆญ์ค๋ก ๋ณด๊ฐ์ด ๋๋ ๋งคํธ๋ฆญ์ค๋ฅผ ๋ก์ปฌ์ขํ๊ธฐ์ค์ผ๋ก ์ค์ ํ ์ ์์ด์ ์ค์ ํ ์ ์์ด์. (Matrix ๊ฐ, bool ์ถฉ๋ ์ฒ๋ฆฌ ์ฌ๋ถ)
์๊ฐ์ด๋ ํ๋ ๋งคํธ๋ฆญ์ค๋ฅผ ์ค์ ํ ์ ์์ด์. (Matrix ๊ฐ)
๊ฐ์ฒด์ ์์น๋ฅผ ์ค์ ํ ์ ์์ด์. (์ค์ ํ ์์น Vector ๊ฐ, ์ถฉ๋ ์ฒ๋ฆฌ ์ฌ๋ถ)
๊ฐ์ฒด์ tag๋ฅผ ์ค์ ํด์. (์ค์ ํ tag)
๊ฐ์ฒด์ ์ค์ ๋ tag๋ฅผ ์ป์ ์ ์์ด์.
์ ์ ๊ฐ ์ถ๊ฐํ ์ค๋ธ์ ํธ ์ปค์คํ ์ด๋ฒคํธ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์์ด์. (์ด๋ฒคํธ ์ด๋ฆ, ์ฐ๊ฒฐ ํจ์)
์ค๋ธ์ ํธ๊ฐ ํด๋นํ๋ ์์น๋ฅผ ๋ฐ๋ผ๋ณด๊ฒ ํ ์ ์์ด์. (๋ฐ๋ผ๋ณผ ์์น Vector)
Last updated
Was this helpful?