Log in

View Full Version : Bird Eye View of Multi-Story Building


gerardo697
06-02-2015, 07:34 AM
Does anyone know how to get a bird-eye view of a multi-story building? Specifically, is there a way to get a bird-eye view of each floor, and have that view change once I have gone from one story to another one?

Jeff
06-02-2015, 02:53 PM
Take a look at the windows and views (http://docs.worldviz.com/vizard/#Tutorial__Windows_&_views.htm) tutorial.

gerardo697
06-03-2015, 06:32 AM
Thanks Jeff

gerardo697
06-03-2015, 08:58 AM
That tutorial works, but it can only see the roof top of a building. Would I have to use a while loop so that the bird-eye view that is being displayed will modify to show each different floor plan based on the "z" value that is returned by .getPosition()?

Jeff
06-03-2015, 12:33 PM
You'll need to change the viewpoint height each time you want to show a different floor. I don't understand the question about the while loop.

gerardo697
06-03-2015, 01:03 PM
I have created a 3 story building on Vizard. When I am on the first floor I would like the bird view window to display the floor plan for that floor. However, if I were to move to the second floor I would want the bird view window to change and show the floor plan for that floor. Is this something that I can do by using a while loop within "UpdateViews()"? Is there a better way to approach this problem?

gerardo697
06-04-2015, 07:24 AM
I was able to get the Bird view to change based on the z-value.

UpperRightWindow = viz.addWindow(pos = (0.8,1.0), size = (0.2,0.25))
UpperRightWindow.visible(0, viz.SCREEN)
BirdView = viz.addView()

UpperRightWindow.setView(BirdView)

def UpdateBirdView():
x,z,y = viz.MainView.getPosition()
if (z >= 0 and z < ceiling):
BirdView.setPosition([x,ceiling,y])
elif ( z >= ceiling and z < ceiling2):
BirdView.setPosition([x,ceiling2,y])
else:
BirdView.setPosition([x,ceiling3,y])
BirdView.setEuler([0,90,0])
UpperRightWindow.fov(120)
vizact.ontimer(0,UpdateBirdView)

The problem I have encountered is that I only see a small part of the building since the x and y values correspond to the center of the building. What can I do in order to show the entire floor of the building?