I've been working on a little project that has a little event where a object, when in the player's fov (or the camera's): it simply disappears. I used the old raycasting method to achieve this; however, I sort of found out that the old method has been deprecated (plus the old method started experiencing some issues). Anyway, I'm still new to the updated raycasting and I would like to know why the object is rarely being detected.
Issue (notice the output): https://i.gyazo.com/ccf8d1f9e2cc838c22ecf6f99bdf32bf.gif
Object in workspace: https://i.gyazo.com/b53e37f8f49a719b4d33339d4488e306.png
Test Code:
local Player = game:GetService("Players").LocalPlayer local Worskspace = game:GetService("Workspace") local Camera = Worskspace.CurrentCamera local RunServ = game:GetService("RunService") function RayObject(Object) local Unit = (Object.Position-Camera.CFrame.Position).Unit local DotProduct = Unit:Dot(Camera.CFrame.LookVector) local ObjectParent = Object.Parent local RayCastParamsF = RaycastParams.new() local RayResult = Worskspace:Raycast(Camera.CFrame.Position, Unit*900, RayCastParamsF) if RayResult then if DotProduct > .63 and RayResult.Instance:IsDescendantOf(ObjectParent) then return true end end end RunServ.Heartbeat:Connect(function() local CanSee = RayObject(Worskspace.TestObjectModel.TestObject) print(CanSee) --will either print "nil" or "true" end)