[DiscordArchive] Hello, how does World of Warcraft do its physics calculations? Are all collisions and therefore mesh
[DiscordArchive] Hello, how does World of Warcraft do its physics calculations? Are all collisions and therefore mesh
Archived author: Agac • Posted: 2024-07-08T15:02:12.648000+00:00
Original source
Hello, how does World of Warcraft do its physics calculations? Are all collisions and therefore meshes located on the server?
Archived author: jackpoz • Posted: 2024-07-08T15:06:04.253000+00:00
Original source
client does its checks, server does its checks
Archived author: Northstrider • Posted: 2024-07-08T15:12:03.809000+00:00
Original source
VMaps are line of sight data which are used for collision raycasts and MMaps are navmeshes built from the world geometry to provide ground data
Archived author: jackpoz • Posted: 2024-07-08T15:12:57.303000+00:00
Original source
mmaps is not really collisions though, it's a simplified version for fast pathfinding
Archived author: Northstrider • Posted: 2024-07-08T15:13:37.204000+00:00
Original source
yeah, for serverside actions. the client obviously uses the real geometry to stick creatures to the surface as long as the serverside position isn't off too much
Archived author: Agac • Posted: 2024-07-08T15:13:58.075000+00:00
Original source
But I guess wow doesn't use raycast much. Since we cast spells with selecting the target, I guess the load was quite low on physic calculation side.
Archived author: Northstrider • Posted: 2024-07-08T15:14:20.471000+00:00
Original source
line of sight checks for spells are fully server side and must be done with our own collision data
Archived author: Northstrider • Posted: 2024-07-08T15:14:38.965000+00:00
Original source
(which we generated from the game's ingame geometry)
Archived author: Agac • Posted: 2024-07-08T15:15:32.272000+00:00
Original source
As far as I understand, you export this collision information from the client somehow?
Archived author: Northstrider • Posted: 2024-07-08T15:17:12.179000+00:00
Original source
we are essentially extracting the meshes from the client and use the surface data of them to calculate our own collision data from it which are known as VMaps. Since we obviously have no access to Blizzard's own data, we create them ourselves