- Home /
How to render AI view area (taking obstacles into consideration)
Hi, I’m trying to create a view spectrum for some AI characters similar to that of the old game Commandos. I’ve found a good example of someone doing the same within Unity at the link below however this solution seems overly complicated and I was wondering whether there is an easier way of doing it?
https://www.youtube.com/watch?v=FdwdkVB36dQ
My basic understanding of his system after reading the comments can be broken down into 3 steps.
First he finds all the corner points of walls/buildings that cannot be seen through and then considering where the eye position is he creates quads based on whether the corners are visible (I assume with raycasts). The first vertex of the quad is at the first corner visible to the eye, the second is at the next visible corner, the third and fourth are points at the same angle as the previous two points but further away from the eye to create the area of the quad.
A simple triangle is rendered as the eye’s view.
Finally a shader has been set up whereby the eye’s view triangle is not displayed if hidden behind the generated quads that were made in step 1.
So my questions are; Is there a simpler way to set this up? Or if this definitely is the best way, do you have any extra tips/considerations I might need to think about?
Extra notes:
This will be a mobile game so processing speed needs to be considered. This method would need new triangles to be generated every frame as my AI characters (and their eye) will be moving / patrolling.
My obstacles will be fairly simple - mainly cuboids (rectangles).
If it helps, the rest of Leopotam Beast’s process of this is somewhat documented on his blog under the tag ‘commandos’ (open in chrome for english translations):
leopotam.blogspot.com.au/search/label/commandos
Unity Forums post: http://forum.unity3d.com/threads/245238-Rendering-AI-view-area-taking-obstacles-into-consideration
Your answer
Follow this Question
Related Questions
How do I restore a shader after a raycast? 1 Answer
issue with AI shooting other AI 0 Answers
How to make "enemy" have a frustum(cone) view and not a circle radius 2 Answers
Enemy to move out of way of player 1 Answer
Raycasting crashing Unity? 3 Answers