Пример #1
0
def trials(block_no, vis_dist, isDisks=False):
    info.setText("Hurrah!! Please wait for the experimenter.")
    for m in range(4):
        vis_pos = [0, real_tg - vis_dist, vis_dist]
        sensor_Target = vizproximity.Sensor(
            vizproximity.RectangleArea([6, 0.1],
                                       center=[0,
                                               real_tg_dist[(-1)**(m + 1)]]),
            None)
        manager.addSensor(sensor_Target)

        if isDisks:
            disks.remove()
            global disks
            disks = diskCreator(vis_tg)
            disks.setPosition([0, 0, -vis_dist])

        yield viztask.waitNetwork(serverName)
        sub_rt.write('\nBlock ' + str(block_no) + ' Trial ' + str(m + 1))
        vis_tg.color(viz.ORANGE)
        vis_tg.visible(viz.ON)
        myNetwork.send('Ready')
        yield viztask.waitNetwork(serverName)
        sound.play()
        myNetwork.send('Block ' + str(block_no) + ' Trial ' + str(m + 1))
        colorChange = viztask.schedule(changeColor(vis_tg))

        yield vizproximity.waitEnter(sensor_Target)
        alert.play()
        print str(block_no) + ' ' + str(m + 1) + ' ' + str(
            view.getPosition()) + ' ' + str(vis_tg.getPosition())
        vis_tg.visible(viz.OFF)
        sound.stop()
        colorChange.kill()
        myNetwork.send('Reach Target!')

        ori = (1 + (-1)**m) * 90
        vistg_p = vis_tg.getPosition()
        vis_tg.setPosition(vistg_p[0],
                           vistg_p[1],
                           vis_pos[(-1)**m],
                           mode=viz.ABS_PARENT)
        vis_tg.setEuler([ori, 0, 0], mode=viz.REL_LOCAL)

        manager.clearSensors()

        if m < 3:
            info.visible(viz.ON)
            yield viztask.waitTime(3)
            info.visible(viz.OFF)
        else:
            sub_rt.write('\nend of block' + str(block_no))
            info.setText('End of Block ' + str(block_no))
            info.visible(viz.ON)
            yield viztask.waitTime(3)
            info.visible(viz.OFF)
            if isDisks:
                disks.remove()
Пример #2
0
 def __init__(self, plane, planepos, escena, next, sound):
     self.plane = viz.addChild(plane, scene=escena)
     self.plane.setScale(2.5, 2.5, 2.5)
     self.plane.setPosition(planepos[0], planepos[1])
     self.sensorPlane = vizproximity.Sensor(
         vizproximity.RectangleArea(
             [2, 10], center=[self.plane.getPosition(0)[0], 0]), None)
     self.chimesound = sound
     self.next = next
Пример #3
0
def experiment():
    for trialN in range(10):
        if trialN < 9:
            datafile = 'Trial0' + str(trialN + 1) + '.txt'
            respfile = 'RT_Trial0' + str(trialN + 1) + time.strftime(
                "_%d-%b-%y_%H-%M") + '.csv'
        else:
            datafile = 'Trial' + str(trialN + 1) + '.txt'
            respfile = 'RT_Trial' + str(trialN + 1) + time.strftime(
                "_%d-%b-%y_%H-%M") + '.csv'

        colors = []
        with open(datafile, 'rb') as csvfile:
            csvreader = csv.reader(csvfile, delimiter=' ')
            for row in csvreader:
                colors.append(row)
        colors = numpy.asarray(colors, dtype=uInt8)
        # colors = colors[0]

        strobes = Strobes(x, 100)
        leds = LEDs(colors, 0.05, 0.9403)
        vizact.onkeydown('.', leds.recordResp)

        sensor_Target = vizproximity.Sensor(
            vizproximity.RectangleArea([4, 0.1],
                                       center=[0, real_tg_dist[(-1)**trialN]]),
            None)
        manager.addSensor(sensor_Target)

        # Show where the target is and ask them to face to the target
        yield viztask.waitKeyDown('a')
        standBy = viztask.schedule(leds.standby(trialN % 2))
        # Turn of the LED to get the experiment ready to start
        yield viztask.waitKeyDown('s')
        standBy.kill()
        leds.all_off()
        leds.stop()
        monitor_record_Network.send('Start!')
        strobes.StartTask()
        f = viztask.schedule(leds.flashing())
        monitor_record_Network.send('Start!')
        yield vizproximity.waitEnter(
            sensor_Target)  # flash until they enter the target zone
        f.kill()
        # Once reach the target turn off both the LEDs and strobes
        strobes.StopTask()
        strobes.ClearTask()
        leds.all_off()
        leds.stop()
        leds.clear()
        # Save the data into a csv file
        leds.saveAsFile(respfile)
        manager.clearSensors()

    yield viztask.waitTime(10)
    viz.quit()
Пример #4
0
    def create_path_sensor(points, radius):
        """
        Create a vizproximity sensor object as a path area shape.

        Args:
            points: A list of points that defines the centerline of the path.
            radius: Distance from the path centerline to path edge.

        Returns: vizproximity pathArea sensor object.

        """

        return vizproximity.Sensor(vizproximity.PathArea(points, radius), None)
Пример #5
0
def experiment():
    for trial in range(10):
        sensor_Target = vizproximity.Sensor(
            vizproximity.RectangleArea([4, 0.1],
                                       center=[0, real_tg_dist[(-1)**trial]]),
            None)
        manager.addSensor(sensor_Target)

        yield viztask.waitNetwork(serverName)
        record = viztask.schedule(writing(trial))
        yield viztask.waitTime(0.5)

        yield vizproximity.waitEnter(sensor_Target)
        winsound.Beep(
            800, 1000
        )  # Make a sound to notify the participant that he/she has reached the target.
        record.kill()
        manager.clearSensors()
Пример #6
0
    def __init__(self, name, vertices, proximity_manager):
        """

            Args:
                name:
                edge_length:
                position:
                proximity_manager:

        """

        self.name = name
        self.proximity_manager = proximity_manager

        # create ground wall proximity sensor / 0.6 added due to wall thickness
        self.ground = vizproximity.Sensor(vizproximity.PolygonArea(vertices),
                                          None)

        # and add to vizard proximity manager
        proximity_manager.addSensor(self.ground)
Пример #7
0
    def __init__(self, name, edge_length, position, proximity_manager):
        """

            Args:
                name:
                edge_length:
                position:
                proximity_manager:

        """

        self.name = name
        self.edge_length = edge_length
        self.proximity_manager = proximity_manager
        self.position = position

        # remove y position for proximity sensor which continues indefinitely along y axis
        self.pos_xz = self.position[0], self.position[2]

        # create ground wall proximity sensor / 0.6 added due to wall thickness
        self.ground = vizproximity.Sensor(
            vizproximity.RectangleArea([edge_length, edge_length],
                                       center=self.pos_xz), None)
Пример #8
0
	def addSensor(self):
		"""Add a sensor around the axis to a proximity manager"""
		self._sensor = vizproximity.Sensor(vizproximity.Sphere(0.4),self)
		model.proxManager.addSensor(self._sensor)
Пример #9
0
import vizproximity

env = viz.addEnvironmentMap('sky.jpg')
viz.clearcolor(viz.SKYBLUE)

viz.mouse.setScale(100, 2)  # 100x movement speed, 2x rotation speed
viz.move([10, 10, 10])  # i think this sets the starting position to 10,10,10

karnak = viz.addChild('KarnakFBX.fbx')
viz.setMultiSample(4)
viz.go()
vizshape.addAxes()
info = vizinfo.InfoPanel("Let get started")

sensorAvatar1 = vizproximity.Sensor(vizproximity.Box(
    [3170, 160, 3051], center=[3123.10181, 160.43307, -7414.27441]),
                                    source=karnak)
sensorAvatar2 = vizproximity.Sensor(vizproximity.Box(
    [749, 741, 1439], center=[11489.54081, 447.63779, -2581.69801]),
                                    source=karnak)
sensorAvatar3 = vizproximity.Sensor(vizproximity.Box(
    [1400, 422, 1400], center=[3854.15869, 375.59055, -1661.75696]),
                                    source=karnak)
sensorAvatar4 = vizproximity.Sensor(vizproximity.Box(
    [8555, 811, 6949], center=[6046.80322, 334.64569, 189.79089]),
                                    source=karnak)

# Michael's additions
TempleOfKhonsCenter = [-6856.85400, 80.60259, -5399.07031]
TempleOfKhonsBox = [2189.75, 101, 2746]
sensorAvatarTempleOfKhons = vizproximity.Sensor(vizproximity.Box(
Пример #10
0
import vizproximity

env = viz.addEnvironmentMap('sky.jpg')
viz.clearcolor(viz.SKYBLUE)

viz.mouse.setScale(100, 2)  # 100x movement speed, 2x rotation speed
viz.move([10, 10, 10])  # i think this sets the starting position to 10,10,10

karnak = viz.addChild('KarnakFBX.fbx')
viz.setMultiSample(4)
viz.go()
vizshape.addAxes()
info = vizinfo.InfoPanel("Let get started")

sensorAvatar1 = vizproximity.Sensor(vizproximity.Box(
    [3170, 160, 3051], center=[3123.10181, 160.43307, -7414.27441]),
                                    source=karnak)
sensorAvatar2 = vizproximity.Sensor(vizproximity.Box(
    [749, 741, 1439], center=[11489.54081, 447.63779, -2581.69801]),
                                    source=karnak)
sensorAvatar3 = vizproximity.Sensor(vizproximity.Box(
    [1400, 422, 1400], center=[3854.15869, 375.59055, -1661.75696]),
                                    source=karnak)
sensorAvatar4 = vizproximity.Sensor(vizproximity.Box(
    [8555, 811, 6949], center=[6046.80322, 334.64569, 189.79089]),
                                    source=karnak)

target = vizproximity.Target(viz.MainView)

manager = vizproximity.Manager()
manager.addSensor(sensorAvatar1)
Пример #11
0
def reactTime():
    clicktime = viz.tick()
    sub_rt.write(',' + str(clicktime))


vizact.onkeydown('.', reactTime)

SPpos = ([0, 0, 0], [0, 1.5, 0], [0, 1.5, distance])

# Set up proximity sensors
manager = vizproximity.Manager()

target = vizproximity.Target(view)
manager.addTarget(target)

sensor_Target = vizproximity.Sensor(vizproximity.Box([0.6, 6, 0.1]),
                                    source=Target)
manager.addSensor(sensor_Target)


# Refresh dots
def refreshing(clouds):
    index = 0
    while True:
        clouds[index].remove()
        pos = np.random.uniform(low=-6, high=6, size=(5250 / freq, 3))
        pos[:, 1] = pos[:, 1] / 4
        pos[:, 2] = pos[:, 2] - 5
        viz.startLayer(viz.POINTS)
        viz.pointSize(2)
        for n in range(5250 / freq):
            viz.vertex(pos[n, 0], pos[n, 1], pos[n, 2])
Пример #12
0
def trials(block_no,
           isPoles='None',
           trialNo=10,
           trialtype='Offset',
           continued=False):
    info.setText("Hurrah!! Please wait for the experimenter.")

    if isPoles in ['flipped', 'staying']:
        poles, polelist = poleCreator(ground, pole_wd, pole_dep, pole_ht,
                                      pole_no)
        writePolePos(isPoles, polelist)

    for m in range(trialNo):
        # Set up the response recording file
        global sub_rt

        if continued:
            sub_rt = open(
                'VRrt_' + str(id) + '_Block_' + str(block_no) + '_Trial_' +
                str(m + 9) + '_' + time.strftime("%d-%b-%y_%H-%M") + '.csv',
                'a')
        else:
            sub_rt = open(
                'VRrt_' + str(id) + '_Block_' + str(block_no) + '_Trial_' +
                str(m + 1) + '_' + time.strftime("%d-%b-%y_%H-%M") + '.csv',
                'a')

        data = 'frameNo,Color,TimeStamp,Response'
        sub_rt.write('\n' + data)

        # Set up the real target sensor area
        sensor_Target = vizproximity.Sensor(
            vizproximity.RectangleArea([6, 0.1],
                                       center=[0,
                                               real_tg_dist[(-1)**(m + 1)]]),
            None)
        manager.addSensor(sensor_Target)
        # Set up poles if they change between trials
        if isPoles == 'changing':
            poles, polelist = poleCreator(ground, pole_wd, pole_dep, pole_ht,
                                          pole_no)
            writePolePos(isPoles, polelist)
        elif isPoles == 'flipped':
            poles.setEuler([(90 * (1 - (-1)**m)), 0, 0], mode=viz.ABS_PARENT)
            poles.setPosition([0, 0, polePos[(-1)**(m)]], mode=viz.ABS_PARENT)

        # Stand by
        yield viztask.waitNetwork(serverName)

        # choose target depending on walking direction
        if isPoles == 'flipped':
            if flippedTarget == 'BO':
                if m % 2 == 0:
                    Target2.alpha(0)
                    Target1.color(tg2Color)
                else:
                    Target1.alpha(0)
                    Target2.color(tg2Color)
            else:
                if m % 2 == 0:
                    Target2.alpha(0)
                    Target1.color(tg1Color)
                else:
                    Target1.alpha(0)
                    Target2.color(tg1Color)
            viz.window.screenCapture('flipped_Image_' + str(m) + '.jpg')
        else:
            if m % 2 == 0:
                Target2.alpha(0)
                Target1.color(tg1Color)
            else:
                Target1.alpha(0)
                Target2.color(tg2Color)
            viz.window.screenCapture(isPoles + '_Image_' + str(m) + '.jpg')

        ground.visible(viz.ON)

        labNetwork.send('Ready')
        # Start walking
        yield viztask.waitNetwork(serverName)
        metronome.play()

        if isPoles == 'flipped':
            if flippedTarget == 'BO':
                if m % 2 == 0:
                    colorChange = viztask.schedule(changeColor2(Target1))
                else:
                    colorChange = viztask.schedule(changeColor2())
            else:
                if m % 2 == 0:
                    colorChange = viztask.schedule(changeColor1())
                else:
                    colorChange = viztask.schedule(changeColor1(Target2))
        else:
            if m % 2 == 0:
                colorChange = viztask.schedule(changeColor1())
            else:
                colorChange = viztask.schedule(changeColor2())

        labNetwork.send('Block' + str(block_no) + ' Trial ' + str(m))

        yield viztask.waitTime(0.25)

        # reach the target
        yield vizproximity.waitEnter(sensor_Target)
        alert.play()
        metronome.stop()
        viz.clearcolor(viz.BLACK)
        ground.visible(viz.OFF)
        colorChange.kill()
        labNetwork.send('Reach Target!')

        manager.clearSensors()
        print Target1.getPosition(viz.ABS_GLOBAL)
        print Target2.getPosition(viz.ABS_GLOBAL)
        # Set up the information for participants at the end of trial
        if m < trialNo - 1:
            info.visible(viz.ON)
            yield viztask.waitTime(3)
            info.visible(viz.OFF)
            if isPoles == 'changing':
                poles.remove()
        else:
            # finish writing the response
            info.setText('End of Block ' + str(block_no))
            info.visible(viz.ON)
            yield viztask.waitTime(3)
            info.visible(viz.OFF)
            if isPoles != 'None':
                poles.remove()

        # reset the targets
        if m % 2 == 0:
            Target2.alpha(1)
        else:
            Target1.alpha(1)
Пример #13
0
            stimuli) + ',' + str(trialNo) + ',' + str(viz.tick()) + ',' + str(
                view.getPosition()).strip('[]') + ',' + str(
                    view.getEuler()).strip('[]') + '\n'
        record.write(data)
        yield viztask.waitTime(1 / 75)


# Set up a calibration at the beginning of each trial
manager_cali = vizproximity.Manager()
# First create a transparent ball
eyepatch = viz.addTexQuad(parent=viz.HEAD, color=viz.CYAN, size=1)
eyepatch.setPosition([0, 0, 5], viz.ABS_PARENT)
eyepatch.alpha(0.5)
eyepatch.visible(viz.OFF)
# Set up sensor
sensor = vizproximity.Sensor(vizproximity.Box(size=[0.4, 0.4, 2]),
                             source=Cross)
# Set up target
target_cali = vizproximity.Target(eyepatch)
# Add sensor and target
manager_cali.addSensor(sensor)
manager_cali.addTarget(target_cali)

# Set up the information panel
info = hmd.addMessagePanel('', pos=(0, 0, 3))
info.visible(viz.OFF)

# Set up the staircase
# Multiple staircases
exp_conditions = [
    {
        'label': 'Very Close',
Пример #14
0
    def __init__(self, canvas):

        sf = 0.5
        model.pointer.setEuler(0, 0, 0)
        model.pointer.setPosition(0, 0, 0)
        self.gloveStart = model.pointer.getPosition()
        self.iterations = 0
        self.canvas = canvas
        self.origPosVec = config.positionVector
        self.origOrienVec = config.orientationVector

        #creating directions panel
        #		viz.mouse.setVisible(False)
        #		directions = vizinfo.InfoPanel('', fontSize = 10, parent = canvas, align = viz.ALIGN_LEFT_TOP, title = 'Tutorial', icon = False)
        #		if config.pointerMode ==0:
        #			directions.addItem(viz.addText('Keyboard Controls:'))
        #			directions.addLabelItem(viz.addText('W'))
        #
        #		if config.pointerMode ==1:
        #			directions.addItem(viz.addText('Spacemouse Controls:'))
        #			directions.addItem(viz.addTexQuad(size = 300, parent = canvas, texture = viz.addTexture('.\\mouse key.png')))

        #creating tutorial objects
        self.dog = viz.addChild('.\\dataset\\dog\\dog.obj')
        self.dogOutline = viz.addChild('.\\dataset\\dog\\dog.obj')
        self.dogStart = self.dog.getPosition()
        self.dog.setScale([sf, sf, sf])
        self.dogOutline.setScale([sf, sf, sf])
        self.startColor = model.pointer.getColor()

        #creating dog outline
        self.dogOutline.alpha(0.8)
        self.dogOutline.color(0, 5, 0)
        self.dogOutline.texture(None)

        #creating proximity manager
        self.manager = vizproximity.Manager()
        '''creating dog grab and snap sensors around sphere palced in the center of the dog'''
        self.dogCenter = vizshape.addSphere(0.1, pos=(self.dogStart))
        self.dogSnapSensor = vizproximity.Sensor(vizproximity.Sphere(
            0.35, center=[0, 1, 0]),
                                                 source=self.dogCenter)
        self.outlineCenter = vizshape.addSphere(0.1, pos=(self.dogStart))

        self.dogCenter.setPosition([0, -.35, 0])
        self.outlineCenter.setPosition([0, -.35, 0])

        self.centerStart = self.dogCenter.getPosition()
        self.dogGrab = viz.grab(self.dogCenter, self.dog)
        self.outlineGrab = viz.grab(self.outlineCenter, self.dogOutline)

        self.dogCenter.color(5, 0, 0)
        self.outlineCenter.color(0, 5, 0)
        self.dogCenter.visible(viz.OFF)
        self.outlineCenter.visible(viz.OFF)

        self.dogSnapSensor = vizproximity.Sensor(vizproximity.Sphere(
            0.35, center=[0, 1, 0]),
                                                 source=self.dogCenter)
        self.manager.addSensor(self.dogSnapSensor)
        self.dogGrabSensor = vizproximity.Sensor(vizproximity.Sphere(
            0.85, center=[0, 1, 0]),
                                                 source=self.dogCenter)
        self.manager.addSensor(self.dogGrabSensor)
        '''creating glove target and a dog target. the dog target is a sphere placed at the center of the dog outline'''
        self.gloveTarget = vizproximity.Target(model.pointer)
        self.manager.addTarget(self.gloveTarget)
        self.dogTargetMold = vizshape.addSphere(0.2,
                                                parent=self.dogOutline,
                                                pos=(self.dogStart))
        self.dogTargetMold.setPosition([0, 1.2, 0])
        self.dogTargetMold.visible(viz.OFF)
        self.dogTarget = vizproximity.Target(self.dogTargetMold)
        self.manager.addTarget(self.dogTarget)

        #manager proximity events
        self.manager.onEnter(self.dogGrabSensor, EnterProximity,
                             self.gloveTarget, model.pointer)
        self.manager.onExit(self.dogGrabSensor, ExitProximity, model.pointer,
                            self.startColor)
        self.manager.onEnter(self.dogSnapSensor, snapCheckEnter,
                             self.dogTarget)
        self.manager.onExit(self.dogSnapSensor, snapCheckExit,
                            self.dogTargetMold)

        #reset command
        self.keybindings = []
        self.keybindings.append(
            vizact.onkeydown('l', resetGlove, self.manager, self.gloveStart,
                             self.dogCenter, self.outlineCenter))
        self.keybindings.append(vizact.onkeydown('p', self.debugger))

        #task schedule
        self.interface = viztask.schedule(self.interfaceTasks())
        self.gameMechanics = viztask.schedule(self.mechanics())
boxList = []  #~ stores boxes
massMakeBoxes(boxList)

width = float(vizinput.input('Input the length from soulder to shoulder: \n '))
hieght = float(vizinput.input('Input the length from shoulder to foot: \n '))
length = float(vizinput.input('Input the length from soulder to arm: \n '))

# coordinates for right hand front

# Adjust for centering the boxs
x = width / 2 - 0.05
y = hieght - 0.05
z = length - 0.05

boxList[0].setPosition(x, y, z)
rightFrontSensor = vizproximity.Sensor(vizproximity.Box([bSize, bSize, bSize]),
                                       boxList[0])
manager.addSensor(rightFrontSensor)
boxList[0].visible(viz.OFF)

# coordinates for left hand front
boxList[1].setPosition(-x, y, z)
leftFrontSensor = vizproximity.Sensor(vizproximity.Box([bSize, bSize, bSize]),
                                      boxList[1])
manager.addSensor(leftFrontSensor)
boxList[1].visible(viz.OFF)

# coordinates for start sensor right hand

boxList[6].setPosition(x, hieght - length, 0)
rightHandStart = vizproximity.Sensor(vizproximity.Box([bSize, bSize, bSize]),
                                     boxList[6])
Пример #16
0
for the bomb so you do not run out of time and blow up the city.
Press spacebar to begin the bomb defusal game!""".format(
    TRIAL_COUNT, TRIAL_DURATION)

RESULTS = """You found {} of {} bombs."""

TRIAL_SUCCESS = 'Bomb found!'
TRIAL_FAIL = 'Failed, Please evacuate !!'

# Add main viewpoint as proximity target
manager = vizproximity.Manager(viz.MainView)
manager.addTarget(vizproximity.Target(viz.MainView))

# Create sensors attached to static matrix
#Bomb in car
sensor = vizproximity.Sensor(vizproximity.Sphere(15.0),
                             source=viz.Matrix.translate(-85, 0.3, 30))

#Bomb in small building
sensor2 = vizproximity.Sensor(vizproximity.Sphere(15.0),
                              source=viz.Matrix.translate(-15, 0, -25))

#Bomb in school
sensor3 = vizproximity.Sensor(vizproximity.Sphere(15.0),
                              source=viz.Matrix.translate(70, 0, -20))

#Bomb under bench
sensor4 = vizproximity.Sensor(vizproximity.Sphere(15.0),
                              source=viz.Matrix.translate(63, 0.2, 4))

#Bomb under car at gas station
sensor5 = vizproximity.Sensor(vizproximity.Sphere(15.0),
Пример #17
0
scene1.hint(viz.ALLOW_NPOT_TEXTURE_HINT)
scene1.disable(0x3000)  #Disable clip plane on model
waterPlane = vizshape.addPlane(size=[400, 400], pos=[0, 0.2, 0])
obj_vis.append(scene1)
obj_vis.append(waterPlane)

sky = viz.addChild('sky_day.osgb')
obj_vis.append(sky)

#bellSensorLocation = viz.addGroup(pos=[0.74121, 0.61385, -74.72057])
#bellSensor = vizproximity.Sensor(vizproximity.Box(size=[6,10,6]),source=bellSensorLocation)
#bellLocation = viz.addGroup(pos=[0.90712, 4.80442, -91.77573])
#bell_sound = bellLocation.playsound('bells.wav',flag=viz.PAUSE)

stoneSensorLocation = viz.addGroup(pos=[0, 3.5, -90])
stoneSensor = vizproximity.Sensor(vizproximity.Box(size=[2, 3, 2]),
                                  source=stoneSensorLocation)

from vizfx.postprocess.blur import GaussianBlurEffect
from vizfx.postprocess.composite import BlendEffect
# Create post process effect for blending to blur effect
blur_effect = BlendEffect(None, GaussianBlurEffect(blurRadius=20), blend=0.0)
blur_effect.setEnabled(False)
vizfx.postprocess.addEffect(blur_effect)


def BlurTask():
    blur_effect.setBlend(0.0)
    blur_effect.setEnabled(True)
    yield viztask.waitCall(blur_effect.setBlend, vizact.mix(0.0, 1.0,
                                                            time=3.0))
    blur_effect.setEnabled(False)
Пример #18
0
#-----------Info panel set up--------------------
import vizinfo
#Add info panel to display messages to participant
instructions = vizinfo.InfoPanel(icon=False, key=None)
#------------------------------------------------

#-----------Sensor creation----------------------
import vizproximity
target = vizproximity.Target(viz.MainView)

viewPath = []
inTime = 0

MainViewApproaches = 0
sensor1 = vizproximity.Sensor(
    vizproximity.RectangleArea([3, 1], center=[-4, 0.375]), None)
sensor2 = vizproximity.Sensor(
    vizproximity.RectangleArea([2.25, 2.25], center=[-4, 2.5]), None)
sensor3 = vizproximity.Sensor(
    vizproximity.RectangleArea([3, 1], center=[-4, 4.75]), None)
sensor4 = vizproximity.Sensor(
    vizproximity.RectangleArea([2.25, 1.5], center=[-4, 6.75]), None)
sensor5 = vizproximity.Sensor(vizproximity.CircleArea(0.75, center=[2, 7.5]),
                              None)
sensor6 = vizproximity.Sensor(
    vizproximity.RectangleArea([2.5, 2.5], center=[0, 7.5]), None)
sensor7 = vizproximity.Sensor(vizproximity.CircleArea(0.75, center=[-2, 7.5]),
                              None)
sensor8 = vizproximity.Sensor(
    vizproximity.RectangleArea([2.25, 1.5], center=[4, 6.75]), None)
sensor9 = vizproximity.Sensor(
Пример #19
0
viz.mouse.setTrap(True)  #アプリ内でしか動けなくなる
viz.mouse.setCursor(True)  # カーソルが見えるかどうか
viz.mouse.setOverride(viz.ON)

# 鳩のロゴ
pigion_proj = vizfx.addProjector(texture=viz.addTexture('resource/pigion.jpg'),
                                 pos=(-8, 3.5, 3.0),
                                 euler=(-90, 0, 0),
                                 blend=vizfx.BLEND_AVERAGE)

vizfx.getComposer().addEffect(pigion_proj.getEffect())

# 鳩のロゴと同じ場所にtexquad
pigion = viz.addTexQuad(size=4.5, pos=(-8, 3.5, 3.0), alpha=0)
# 鳩のロゴ用のセンサー
pigion_sensor = vizproximity.Sensor(vizproximity.CircleArea(4), source=pigion)
manager.addSensor(pigion_sensor)

# 鳩の説明
pigon_board = viz.addTexQuad(pos=[-8, 3.5, 3.0])
pigon_texture = viz.addTexture('resource/pigon_descrption.JPG')
pigon_board.texture(pigon_texture)
pigon_board.billboard(viz.BILLBOARD_YAXIS)
pigon_board.visible(False)

# プロジェクターの表示
projector = viz.add('resource/Electronics_Overhead-Projector.osgb',
                    pos=[0.7, 1.2, 5.4],
                    euler=(180, 0, 0))
projector.collideBox()
projector_sound = projector.playsound('sound/brownie8.wav', viz.LOOP)