> You write a small Java program that logs into VNet server and points its
> "Avatar" to an door VRML geometry that is a door with behaviours for opening and
> closing.
> 
> Then when the door is clicked or a proximity sensor sends the click, the Java program
> sends back open/close behaviour request.
> 
> This should result in a door that opens and closes @ the same time for connected 
>users.
> 
> I think that this is possible with VNet today, or am I wrong?
> 

 I posted to the list a while back about this, presumably it's in the
archives someplace, but the problem is that a user's click has no way to
get back to the bot-program logged into vnet, so without changing all the
client programs connected to the world, this won't work. (A picture of
the event-flow would be really helpful, but I'm too lazy) 

 For those not involved in the innards of vnet, the exact problem is
that while it's easy enough to build an avatar that responds to click
(or proximity or whatever) events, there's no straightforward way to
tell the vnet client to turn that event into a vnet message and send
it to the server. There has to be some sort of hookup between the VRML
event and the vnet client, and currently the only way to do that is
to change the client code. (Well, that might not be true: avatars can
have script nodes attached to them, and a java script might be able to
get a handle onto the vnet applet and make method calls, I got bogged 
down in cross platform dom issues with this, and gave up and just changed
the vnet client)

 OTOH, since the clients are applets, it's not hard to change them, and
the change itself is fairly trivial: I had the click event transmitted
back from the client in the form of a whisper, and then rebroadcast from
the bot-client as a behaviour event. Using the existing "whisper" and
behavior messages instead of a new message type means that the server
doesn't have to change at all...

-cks

Reply via email to