WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   How to create circle like collision area (https://forum.worldviz.com/showthread.php?t=3264)

turgutm 12-26-2010 10:50 PM

How to create circle like collision area
 
Hi,

I need to create collision area like circle. And I need to get notified when object is inside and when is outside of that area.

Any suggestions?

Jeff 01-02-2011 01:49 PM

You can add a function that's called every frame that checks the distance between the object and the center of the circle. Depending on the distance value you'll know whether the object is inside or outside of the circle:
Code:

import viz
import vizact
import vizmat

viz.go()

CIRCLE_CENTER = [0,0,5]
CIRCLE_RADIUS = 2

court = viz.addChild('court.ive')
avatar = viz.addAvatar('vcc_male.cfg')

text = viz.addText('',parent=viz.SCREEN)
text.setPosition(0.3,0.8)
text.color(viz.RED)

walk = vizact.walkTo([0,0,10])
avatar.addAction(walk)

def collisionCheck():
        distance = vizmat.Distance(CIRCLE_CENTER,avatar.getPosition())
        if distance > CIRCLE_RADIUS:
                text.message('Outside circle')
        else:
                text.message('Inside circle')
       
vizact.ontimer(0,collisionCheck)


turgutm 01-04-2011 11:19 PM

Hi, Jeff...
Thanks for reply...

It solved my problem.


All times are GMT -7. The time now is 09:00 AM.

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