Messaggio della discussione su
HUD problem using ProximitySensor...
Date: Thu, 23 Jun 2005 11:02:12 +0200
From: bboy <thisisantispamb...@uk2.net>
User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)
X-Accept-Language: it, it-it, en-us, en
MIME-Version: 1.0
Newsgroups: comp.lang.vrml
Subject: HUD problem using ProximitySensor...
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: $$_hwdil9xhf1.x-privat.org
Message-ID: <42ba7977$1_2@x-privat.org>
Organization: X-Privat NNTP Server - http://www.x-privat.org
Lines: 138
X-Authenticated-User: $$fq-_u6tns1_d
X-Info: More info http://www.x-privat.org/infonews.php
Path: g2news1.google.com!news3.google.com!news.glorb.com!news.newsland.it!x-privat.org!not-for-mail
Hi everybody! :)
I'm facing a problem that's really making me mad: i'm using a
ProximitySensor to catch user viewpoint position and orientation, and
using routes I move a box (that should be representing an hud) in front
of the user camera...
This trick is working if the user is not too much far from the "center"
of the vrml world (coordinates 0, 0, 0)...but when he starts going away,
let's say coordinates in order of 1.000.000, it all starts to flicker,
jitter, and other strange behaviour... :(
I need to let the user be able to go that far from the center of the
vrml world beacause i'm using geo-vrml to let him navigate through some
geo-referenced land representation, and the geovrml creates those nodes
at location whose coordinates are in the order of 3-4.000.000, using
vrml measure unit.
Here you will find a page with two simple example of what I'm talking
about: the vrml code is pretty the same, except for the "main" Transform
node, whose translation field is set to 100, 100, 100 for the first one
(that in fact is working correctly) and to 1.000.000, 1.000.000,
1.000.000 for the second, the one with the artifacts...
http://snipurl.com/frxz
Ah, btw, i'm using the last version of the cortona vrml viewer under
windowsXP...
Thank you! :)
ps: if you mind, this is the vrml code...
#VRML V2.0 utf8
# Global objects
Transform
{
translation 100 100 100
# For the example with flickers, the translation is set to this:
# translation 1000000 1000000 1000000
children [
DEF SENSOR ProximitySensor {
size 10 10 10
center 0 0 10
}
# Real-World objects <<<----
Transform {
children [
DirectionalLight {
ambientIntensity 0.8
}
Transform {
translation 3 0 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0 0 1
}
}
geometry Cone {}
}
]
}
Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 0
}
}
geometry Sphere {}
}
Transform {
translation -3 0 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Box {}
}
]
}
]
}
#HUD objects <<<-----
DEF HUDVIEW Viewpoint {
description "HUD View"
position 0 0 10
}
DEF HUD Transform {
translation 0 0 10
children [
Collision {
collide FALSE
children [
DirectionalLight {
ambientIntensity 0.8
}
Transform {
translation 0 -0.075 -0.2
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 1
}
}
geometry Box {
size 0.03 0.03 0.000000001
}
}
]
}
]
}
]
}
]
}
# Routes to bind camera to hud
ROUTE SENSOR.orientation_changed TO HUD.set_rotation
ROUTE SENSOR.position_changed TO HUD.set_translation
ROUTE SENSOR.position_changed TO SENSOR.set_center