A computer-implemented method for guided navigation in three-dimensional environments, comprising: displaying, by one or more computing devices, a first three-dimensional representation of a panoramic image within the three-dimensional environment from a viewpoint of a virtual camera; identifying, by the one or more computing devices, one or more additional panoramic images linked to the first panoramic image based on metadata associated with the first panoramic image; determining, by the one or more computing devices, a region of good visual quality for each of the first panoramic image and the one or more additional panoramic images within the three-dimensional environment; generating, by the one or more computing devices, one or more navigation channels relative to a path between the first panoramic image and the one or more additional panoramic images based on each region of good visual quality, each navigation channel having a rendering surface that constrains movement of the virtual camera within the region of visual quality in a bounded volume of space defined by the navigation channel; and constructing, by the one or more computing devices, a navigation fillet around an intersection of the one or more navigation channels by fitting a collision sphere tangentially between different navigation channels of the one or more navigation channels, such that the navigation fillet represents a collision free zone and is parameterised according to distances of points of tangency relative to a center of one of the panoramic images; and in response to a user input event indicating a desired movement of the virtual camera to a location in a second panoramic image of the one or more additional panoramic images, moving, by the one or more computing devices, the virtual camera in the three-dimensional environment along the path from a first position associated with the first panoramic image toward a second position associated with the second panoramic image of the one or more additional panoramic images based on the input event, wherein the moving includes preventing movement of the virtual camera outside the region of good visual quality in the bounded volume of space defined by the one or more navigation channels and fillet. displaying, by one or more computing devices, a first three-dimensional representation of a panoramic image within the three-dimensional environment from a viewpoint of a virtual camera; identifying, by the one or more computing devices, one or more additional panoramic images linked to the first panoramic image based on metadata associated with the first panoramic image; determining, by the one or more computing devices, a region of good visual quality for each of the first panoramic image and the one or more additional panoramic images within the three-dimensional environment; generating, by the one or more computing devices, one or more navigation channels relative to a path between the first panoramic image and the one or more additional panoramic images based on each region of good visual quality, each navigation channel having a rendering surface that constrains movement of the virtual camera within the region of visual quality in a bounded volume of space defined by the navigation channel; and constructing, by the one or more computing devices, a navigation fillet around an intersection of the one or more navigation channels by fitting a collision sphere tangentially between different navigation channels of the one or more navigation channels, such that the navigation fillet represents a collision free zone and is parameterised according to distances of points of tangency relative to a center of one of the panoramic images; and in response to a user input event indicating a desired movement of the virtual camera to a location in a second panoramic image of the one or more additional panoramic images, moving, by the one or more computing devices, the virtual camera in the three-dimensional environment along the path from a first position associated with the first panoramic image toward a second position associated with the second panoramic image of the one or more additional panoramic images based on the input event, wherein the moving includes preventing movement of the virtual camera outside the region of good visual quality in the bounded volume of space defined by the one or more navigation channels and fillet.