Region crossings

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
 
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 14: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.
Personal tools
General
About This Wiki