코드 샘플
광선, RayValue 및 레이캐스팅
local partA = workspace.PartA
local partB = workspace.PartB
local origin = partA.Position
local direction = partB.Position - partA.Position
local ray = Ray.new(origin, direction)
local rayValue = Instance.new("RayValue")
rayValue.Value = ray
rayValue.Name = "PartA-to-PartB Ray"
rayValue.Parent = workspace
-- PartA와 PartB 사이의 어떤 부품을 찾기 위해 레이캐스팅합니다.
local part = workspace:FindPartOnRay(ray)
if part then
print("부품에 명중: " .. part:GetFullName())
else
-- 이것은 결코 발생해서는 안 됩니다. 왜냐하면 우리의 광선은 PartA에서 시작하여
-- PartB를 향해 향하고 있으므로 우리는 항상 PartB에 명중해야 합니다.
-- 또는 다른 부품에 명중해야 합니다.
print("명중한 부품이 없습니다!")
endAPI 참조
속성
이벤트
Changed
매개 변수
코드 샘플
RayValue.Changed 사용 방법
local value = Instance.new("RayValue")
value.Parent = workspace
value.Changed:Connect(function(NewValue)
print(NewValue)
end)
local start = Vector3.new(0, 0, 0)
local lookAt = Vector3.new(10, 10, 10)
local ray = Ray.new(start, (lookAt - start).Unit)
value.Value = raychanged