I am trying to create a world in Vizard 4.0 that automatically generates 10,000+ objects in it. Once these objects are made, I want to fly through them or make them move at a certain speed in any direction I want.
I have written code for this but It is not giving me the fps I want. Currently I only get about 7fps with this code and I need this to go up to 60fps minimum. I have tried both moving them and moving the camera. But both give the same fps. I have written the part of the moving where the balls just move on their own in one direction and to make the camera move you need to hold down either the left mouse button or the right mouse button or both.
To run this program you first need to install Vizard from worldviz. It comes with a 90-day free trial. I am fairly new to Vizard so any help would be much appreciated. Thank you
CODE BELOW:
enter code here
import viz
import vizact
import vizshape
import random
import vizinfo
import viztask
#Enable full screen anti-aliasing (FSAA) to smooth edges
viz.setMultiSample(4)
#Start World
viz.go(viz.FULLSCREEN)
#Increase the Field of View
viz.MainWindow.fov(60)
#Set my location 8 meters back from 0,0,0
viz.move([0,0,-8])
def Create_Shape(Number,x_pace,y_pace,z_pace,set_Time) :
#create an array of shapes
shapes = []
#Generate Shapes
for i in range(Number):
#Generate random values for position and orientation
x = random.randint(-100,100)
y = random.randint(-100,100)
z = random.randint(-100,100)
#generate shapes
shape = vizshape.addSphere()
#shape.setScale(0.25,0.25,0.25)
shape.setPosition([x,y,z])
shapes.append(shape)
#Move shapes
move = vizact.move(x_pace,y_pace,z_pace,set_Time)
#Loop through all shapes and move them
for shape in shapes:
shape.addAction(move)
#return shapes
return shapes
#Calls create shape with the number of shapes needed to be made and
#the speed and time for the shapes to move at
Create_Shape(10000,0,0,10,10000000)