The decision about which room to assign the camera to (for the purpose of room transitions) is based upon two things:
- The current position of the camera.
- The room membership of the object directly beneath the camera.
If the camera is currently hovering over an object in Room A, then moves such that an object in Room B is positioned directly beneath it, a room transition will occur to room B. What this means in the case where you have multiple overlapping rooms (as I suspect is the case with you) is that a transition is not necessarily triggered based upon crossing room boundaries, rather it is triggered based upon the relative position of objects in the room and the camera (namely, objects being beneath the camera). As such, the visual representation of rooms in the 'visualize room boundaries' tool will not correspond to the boundaries for transitions. While this may be somewhat counterintuitive, understanding what triggers a room transition can help ensure your rooms and their assets have the correct visibility settings to prevent 'disappearing objects' or other artifacts caused by unexpected transitions.
Implications of this behavior:
- Adding an asset instance onto some area geometry in a room and then moving that instance to another room will trigger a room transition whenever the camera happens to cross over the instance. This is usually not an issue if you're smart about setting visibility for rooms that happen to intersect in this way, but it could cause strange artifacts when the camera is passed over these objects if you're not expecting this behavior.
- Having several rooms whose bounding boxes overlap introduces a need to manually manage visible rooms much more carefully.
Hopefully this will help you isolate the cause of the problem. If not - and you really think there's an issue with the way rooms are working (or if you'd like a more thorough explanation of how this works) - feel free to provide a more detailed description of your particular case to help me reproduce the behavior!