Ray

Overview

Ray๋Š” 3์ฐจ์› ๊ณต๊ฐ„์—์„œ ํ•˜๋‚˜์˜ ์‹œ์ž‘์ ์„ ๊ธฐ์ค€์œผ๋กœ, ์ง€์ •๋œ ๋ฐฉํ–ฅ์„ ๋”ฐ๋ผ ๋ฌดํ•œํžˆ ๋ป—์–ด๋‚˜๊ฐ€๋Š” ๋ณด์ด์ง€ ์•Š๋Š” ๊ด‘์„ ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ์ถฉ๋Œ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋ฐฉํ–ฅ ๊ธฐ๋ฐ˜ ๊ณ„์‚ฐ์ด๋‚˜ Raycast๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ž…๋ ฅ๊ฐ’์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Constructors

new

์‹œ์ž‘์ (Origin)๊ณผ ๋ฐฉํ–ฅ(Direction)์„ ์ž…๋ ฅ๋ฐ›์•„ ์ƒˆ๋กœ์šด Ray๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ Ray๋Š” ์ง€์ •๋œ ์œ„์น˜์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์„ค์ •๋œ ๋ฐฉํ–ฅ์„ ๋”ฐ๋ผ ๋ฌดํ•œํžˆ ์—ฐ์žฅ๋ฉ๋‹ˆ๋‹ค.

Parameters

Vector3 InOrigin

Ray๊ฐ€ ์‹œ์ž‘๋˜๋Š” 3์ฐจ์› ๊ณต๊ฐ„์ƒ์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ๊ด‘์„ ์˜ ๊ธฐ์ค€์ ์ด ๋ฉ๋‹ˆ๋‹ค.

Vector3 InDirection

Ray๊ฐ€ ์ง„ํ–‰ํ•  ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉํ–ฅ ๋ฒกํ„ฐ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ •๊ทœํ™”๋œ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด ๋ฐฉํ–ฅ์„ ๋”ฐ๋ผ Ray๊ฐ€ ๋ฌดํ•œํžˆ ์—ฐ์žฅ๋ฉ๋‹ˆ๋‹ค.

Return

Ray

์ง€์ •๋œ ์‹œ์ž‘์ ๊ณผ ๋ฐฉํ–ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋œ Ray์ž…๋‹ˆ๋‹ค.

Code Samples

local Origin = Vector3.new(0, 50, 0)
local Direction = Vector3.new(0, 0, -1)
local Ray = Ray.new(Origin, Direction)
print(Ray)

Properties

Origin

Vector3

์ด ๊ฐ’์€ Ray๊ฐ€ ์‹œ์ž‘๋˜๋Š” ์ง€์ ์„ ์˜๋ฏธํ•˜๋ฉฐ, 3์ฐจ์› ๊ณต๊ฐ„์—์„œ ๊ด‘์„ ์ด ์ถœ๋ฐœํ•˜๋Š” ๊ธฐ์ค€ ์œ„์น˜๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

Code Samples

Direction

Vector3

Ray๊ฐ€ ์–ด๋А ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š”์ง€๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ์‹œ์ž‘์ ์—์„œ๋ถ€ํ„ฐ ๊ด‘์„ ์ด ๋ป—์–ด๋‚˜๊ฐ€๋Š” ๋ฐฉํ–ฅ ๊ธฐ์ค€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 3์ฐจ์› ๊ณต๊ฐ„์—์„œ Ray์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

Code Samples

Unit

Ray

๋ฐฉํ–ฅ ๋ฒกํ„ฐ๊ฐ€ ์ •๊ทœํ™”๋œ Ray๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋ฐฉํ–ฅ์˜ ํฌ๊ธฐ๋Š” ํ•ญ์ƒ 1์ž…๋‹ˆ๋‹ค.

Code Samples

Methods

ClosestPoint

์ž…๋ ฅ๋œ ์ขŒํ‘œ๋ฅผ Ray์˜ ์‹œ์ž‘์ ๊ณผ ๋ฐฉํ–ฅ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ, Ray๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์ƒ์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜๋กœ ๋ณ€ํ™˜๋œ ๋ฒกํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŠน์ • ์ ์ด Ray์˜ ์‹œ์•ผ(line of sight) ์ƒ์—์„œ ์–ด๋””์— ์œ„์น˜ํ•˜๋Š”์ง€๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐฉํ–ฅ ๊ธฐ์ค€ ์œ„์น˜ ๊ณ„์‚ฐ์ด๋‚˜ ๊ฑฐ๋ฆฌ ํŒ์ • ๋“ฑ์— ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

Parameters

Vector3 InPoint

Ray๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜๋ฅผ ๊ณ„์‚ฐํ•  ๋Œ€์ƒ์ด ๋˜๋Š” 3์ฐจ์› ๊ณต๊ฐ„์ƒ์˜ ์ ์ž…๋‹ˆ๋‹ค. ์ด ์ ์„ Ray์˜ ์‹œ์ž‘์ ๊ณผ ๋ฐฉํ–ฅ์„ ๊ธฐ์ค€์œผ๋กœ ํˆฌ์˜ํ•˜์—ฌ ๊ณ„์‚ฐ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Return

Vector3

์ž…๋ ฅ๋œ ์ ์— ๋Œ€ํ•ด Ray ์ƒ์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜์— ํ•ด๋‹นํ•˜๋Š” 3์ฐจ์› ์ขŒํ‘œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’์€ Ray์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ ์„ ์ƒ(line of sight)์— ์œ„์น˜ํ•œ ์ ์ž…๋‹ˆ๋‹ค.

Code Samples

Distance

์ž…๋ ฅ๋œ ์ขŒํ‘œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ, Ray ์œ„์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ง€์ ์„ ๊ณ„์‚ฐํ•œ ๋’ค ๋‘ ์ง€์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ClosestPoint๋ฅผ ํ†ตํ•ด ๊ตฌํ•œ ์œ„์น˜์™€ ์›๋ž˜ ์  ์‚ฌ์ด์˜ ์ง์„  ๊ฑฐ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, Ray์™€ ํŠน์ • ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ํŒ์ •์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Parameters

Vector3 InPoint

Ray์™€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•  ๊ธฐ์ค€์ด ๋˜๋Š” 3์ฐจ์› ๊ณต๊ฐ„์ƒ์˜ ์ ์ž…๋‹ˆ๋‹ค. ์ด ์ ์„ ๊ธฐ์ค€์œผ๋กœ Ray ์œ„์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ง€์ ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

Return

number

์ž…๋ ฅ๋œ ์ ๊ณผ Ray ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ClosestPoint๋ฅผ ํ†ตํ•ด ๊ตฌํ•œ Ray ์ƒ์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ง€์ ๊ณผ ์›๋ž˜ ์  ์‚ฌ์ด์˜ ์ง์„  ๊ฑฐ๋ฆฌ์ž…๋‹ˆ๋‹ค.

Code Samples

Last updated