WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 01-12-2024, 08:33 AM
PlsHelp PlsHelp is offline
Registered User
 
Join Date: Jan 2024
Posts: 1
Avatar Collision

Hello!
I'm trying to create an interactive house in Vizard, and I'm using proximity sensors for that. When I use viz.go(), the object's sensors get activated, and the code works correctly. However, when I add the Vizconnect configuration, which includes an avatar, collision stops working. I've checked the documentation, and the options provided give me various errors about trying to assign incorrect values to functions. How can I make my avatar have full-body collision so that it can interact with object sensors? Thanks.
I add my code here:

import viz
import vizfx
import vizact
import vizshape
import vizconnect
import vizproximity
import viztask
import vizinfo

from vizconnect.util import view_collision

#create empty world
viz.setMultiSample(4)
viz.fov(60)
#viz.go()

vizconnect.go('babylonconfig.py')
#import the 3d model
room = vizfx.addChild('test.osgb')
#room = viz.addChild('test.osgb')

#add ground
ground = viz.addChild('ground_grass.osgb')

#add sky
env = viz.addEnvironmentMap('sky.jpg')
sky = viz.add('skydome.dlc')
sky.texture(env)

#Get a linkable for controlling a sub-transform of the node
door1 = room.getTransform('outdoor')
viz.MainView.gravity(0)

# Get a handle to the group tracker and update it's position every frame
groupTracker = vizconnect.getTracker('group').getRaw()

def updateGroup():
groupTracker.setPosition([0,0,0.01],viz.REL_LOCAL)
event_handle = vizact.onupdate(0,updateGroup)

# Toggle update event with spacebar
vizact.onkeydown(' ', event_handle.setEnabled, viz.TOGGLE )

#Variables for the interaction with proximity sensor
doorbellOn = 0


#Create the proximity sensor
avatar = vizconnect.getAvatar()
tracker = vizconnect.getTracker('mouse_scroll_wheel').getNod e3d
manager = vizproximity.Manager()
manager.setDebug(viz.ON)
#Add main viewpoint as proximity target
target = vizproximity.Target(viz.MainView)
manager.addTarget(target)

#Add sound to the doorbell (proximity doorbellframe)
doorbell = room.getChild("doorbellframe",flags=viz.CHILD_REPL ACE_TRANSFORM)
dbSound = viz.addAudio('DoorbellSound.mid')
dbSensor = vizproximity.addBoundingSphereSensor(doorbell, scale=3)
manager.addSensor(dbSensor)

#Change state of avatar to talking when the user gets near
infoPanel = None

def EnterDoorbellProximity(e):
global infoPanel
global doorbellOn
if infoPanel:
infoPanel.remove()
infoPanel = vizinfo.InfoPanel('Press e to ring the bell')
doorbellOn = 1
def ExitDoorbellProximity(e):
global infoPanel
global doorbellOn
doorbellOn = 0
if infoPanel:
infoPanel.remove()

manager.onEnter(dbSensor, EnterDoorbellProximity)
manager.onExit(dbSensor, ExitDoorbellProximity)


def general(trash):
global doorbellOn
global bathDrawerOn
global bathDrawerOpen
global tvOn
global tvPlay
global laptopOn
global laptopPlay

if doorbellOn == 1:
dbSound.play()
print("Knocking the door")

vizact.onkeydown('e', general, 1)
Reply With Quote
 

Tags
avatar, collision, proximity sensor

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Unexpected Avatar lookAt() behavior when using yield statements chris2307 Vizard 2 12-17-2013 02:58 AM
Collision and avatar animation shahramy Vizard 2 10-26-2010 11:47 PM
avatar collision 5ky1ine Vizard 1 04-22-2009 11:23 AM
Collision of an avatar with a quad Frank Verberne Vizard 8 06-04-2008 09:44 AM
Looking through the eyes of an avatar Frank Verberne Vizard 2 04-01-2008 05:52 AM


All times are GMT -7. The time now is 04:44 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC