View Single Post
  #7  
Old 09-06-2018, 04:23 AM
peterparker peterparker is offline
Member
 
Join Date: Aug 2018
Posts: 12
Code:
import viz, vizshape, vizact
import random


# run script
viz.go()
viz.setMultiSample(4)


# create world
#world = viz.add('spot_rotation_resources/circle_grass_lukas2.osgb')

world = vizshape.addCylinder(.01,50)
#tex = viz.addTexture('GRASS.JPG')
#world.texture(tex)
world.color(viz.GREEN)

light = viz.addLight()
light.setEuler(0,45,0)


# create spot
spot_elevation = .05
spot_height = 2.5
spot_nslices = 1	#originally 100
spot_slice_height = spot_height / spot_nslices
alpha_start = 0.5
alpha_end = 0.0
alpha_step = (alpha_end - alpha_start)/spot_nslices

spot = []

for a in range(spot_nslices):
	cyl = vizshape.addCylinder(height=spot_slice_height, radius=0.30, color=viz.YELLOW, top=None)
	cyl.alpha( alpha_start + a*alpha_step )
	spot_yPos = spot_slice_height/2 + spot_elevation + a*spot_slice_height
	cyl.setPosition([0,spot_yPos,10])
	spot.append(cyl)


# rotate ground
def random_rotate(object_to_rotate, duration):

        rotate_val = random.randint(1, 360)

        spinto = vizact.spinTo(euler=(rotate_val, 0, 0), time=0, mode=viz.REL_GLOBAL)
        fadeout = vizact.fadeTo(0, time=duration)
        fadein = vizact.fadeTo(1, time=duration)

        rotate_action = vizact.sequence(fadeout, spinto, fadein)
        object_to_rotate.addAction(rotate_action)

vizact.onkeydown('r', random_rotate, world, 1)

Also works with
Code:
vizact.onkeydown('s', world.alpha, .9)
instead of the fading action.

Last edited by peterparker; 09-06-2018 at 04:29 AM.
Reply With Quote