Region crossings
From OpenSimulator
(Difference between revisions)
Line 4: | Line 4: | ||
** This check is done by extrapolating the avatar's position in the next 100ms at its current heading and velocity | ** This check is done by extrapolating the avatar's position in the next 100ms at its current heading and velocity | ||
* If the extrapolation shows the avatar moving into a new region, then IEntityTransferModule.Cross() is triggered to initiate the cross process. | * If the extrapolation shows the avatar moving into a new region, then IEntityTransferModule.Cross() is triggered to initiate the cross process. | ||
+ | * Cross() calls ISimulationService.UpdateAgent() on the receiving simulator with information about camera position, animations, attachments, etc. | ||
+ | * This feeds through to Scene.IncomingUpdateChildAgent() in the receving simulator's region. | ||
+ | * The receiving simulator adds attachment information to it's own data model for that agent. |
Latest revision as of 13:14, 8 December 2014
This section is incomplete
- Every OpenSimulator frame (approximately every 89ms), every avatar is checked to see whether it has crossed into a neighbouring region (currently in ScenePresence.CheckForBorderCrossing().
- This check is done by extrapolating the avatar's position in the next 100ms at its current heading and velocity
- If the extrapolation shows the avatar moving into a new region, then IEntityTransferModule.Cross() is triggered to initiate the cross process.
- Cross() calls ISimulationService.UpdateAgent() on the receiving simulator with information about camera position, animations, attachments, etc.
- This feeds through to Scene.IncomingUpdateChildAgent() in the receving simulator's region.
- The receiving simulator adds attachment information to it's own data model for that agent.