[sldev] Mouse on 3D object

Aimee Trescothick aimee.trescothick at gmail.com
Wed Jan 27 06:40:51 PST 2010


On 26 Jan 2010, at 22:09, Philippe (Merov) Bossut wrote:

> Yes, that's the problem: if you're trying to get a user to paint in a texture IW for his/her own enjoyment and profit (may be saving and uploading the texture), mediaplugin should be fine. If you're trying to do collaborative painting, that's another story. There's no mechanism to p2p share the texture built in, though, as I'm saying this, I'm realizing that creating such a plugin should be possible (see Aimee's VNC plugin demo for an example of p2p texture sharing).
>  
> Other alternatives would be some kind of VNC on a prim ala Aimee's
> Recursive Life demo. That goes back to the question of how to display
> the image for everyone else to see.
> 
> May be Aimee could share some insights here.
> 
> For sure, a collaborative p2p paint plugin would be a pretty cool plugin!

The easiest and most versatile way to do this is almost certainly to use the existing Webkit plugin, by providing the application as a web service that you could place on a prim like any other webpage, with synchronisation being handled by the web server in the same way as things like http://etherpad.com/   As a generic web service you are then not limited to using it only in-world, you could open the same webpage on your iPhone or whatever and have what you draw appear directly on the prim in SL. Once you've finished, save the image and upload it to SL for permanent use.

You'd want to arrange it so that the 'canvas' fills the entire page/prim-face, so painting tool changes and commands would need to be handled either all with key shortcuts, or maybe just have a key shortcut to show and hide a tool palette over the canvas. Alternately by placing the tool palette UI on another web page, you could show that in a browser window keeping it visible at the same time.

You could also do it via VNC, grafting libVNCServer onto the front of a custom painting package (there's a very simple example of this that comes with libVNCServer), and then use a VNC plugin to display its output and interact with it in-world, though that probably isn't as scaleable as the web based solution. It would be harder to allow people to interact with it simultaneously as input from all observers would be tied together, whereas with the web version could more easily allow different users to use different tools at the same time for example.

Some standard VNC servers will let you assign a single window to transmit, which should allow you to place an actual Photoshop canvas on a prim, but that then has the problem of how you access the rest of the application's UI, you could maybe use it just to paint on the prim while using the rest of the UI directly, but that pretty much limits interaction to the host, unless you want to go crazy and set up separate VNC channels for the tool palettes as well :D

Aimee.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20100127/4a9becb3/attachment.htm 


More information about the SLDev mailing list