Spc Posted April 28, 2018 Share Posted April 28, 2018 Hey, I'm making a flashbang and i need check, is player looking at XYZ position. For example: The explosion xyz is 0,0,0 and if player camera looks at it, something happens. Link to comment
Addlibs Posted April 28, 2018 Share Posted April 28, 2018 Wouldn't it be easier by checking whether the given XYZ within the field of view (on screen)? getScreenFromWorldPosition will return false if the XYZ is not on screen (or within n-pixels from the edge controlled by the edgeTolerance parameter). You should combine it with isLineOfSightClear or processLineOfSight to check whether the flashbang wasn't occluded by an object or wall. 1 Link to comment
Spc Posted April 28, 2018 Author Share Posted April 28, 2018 I used getScreenFromWorldPosition and sometimes the function returns false when i was looking at explosion position, and sometimes function returns float when i wasn't looking at explosion xyz. Link to comment
Jayceon Posted April 28, 2018 Share Posted April 28, 2018 (edited) I'm using this one: isLineOfSightClear(playerX, playerY, playerZ, explosionX, explosionY, explosionZ, true, true, false, true, true) Another: local _, _, playerRotZ = getElementRotation(localPlayer) local angle = math.atan2(explosionY - playerY, explosionX - playerX) + math.rad(180 - playerRotZ) if angle < 0 then angle = angle + math.rad(360) end if math.deg(angle) >= 180 then -- facing of explosion -- player flashed end PlayerX/Y/Z works with camera poses. Edited April 28, 2018 by Jayceon 1 Link to comment
Spc Posted April 28, 2018 Author Share Posted April 28, 2018 (edited) 1 hour ago, Spc said: I used getScreenFromWorldPosition and sometimes the function returns false when i was looking at explosion position, and sometimes function returns float when i wasn't looking at explosion xyz. I fixed it, thanks for help. All works. Edited April 28, 2018 by Spc Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now