Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Change or inhibit 'touch in progress' particle chain?

Richard Meiklejohn
Registered User
Join date: 15 May 2006
Posts: 45
02-13-2009 12:12
I'm trying to create a very clear system for indicating what a presenter is pointing at - like a laser pointer. llDetectedTouchPos makes this nice and easy - then I notice it kinda already happens - the lovely chain of particles streaming wizard-lie from my hand to the touch point. Is there any way to change the particles used, make them more visible or turn them off??

Cheers
Richard Meiklejohn
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
02-13-2009 12:25
You can change their color in the first tab of your viewer preferences. You CAN turn off whether they are drawn or not (I believe it's somewhere in the Advanced menu that you can get to appear with CTRL-ALT-D if it isn't showing). But I THINK that just keeps selection beams from being drawn on YOUR client; I don't THINK there is a way to change whether YOUR selection beam gets displayed on OTHER peoples' clients.
SuezanneC Baskerville
Forums Rock!
Join date: 22 Dec 2003
Posts: 14,229
02-13-2009 14:20
Do you get a touch beam visible to others if you are touching a HUD?
_____________________
-

So long to these forums, the vBulletin forums that used to be at forums.secondlife.com. I will miss them.

I can be found on the web by searching for "SuezanneC Baskerville", or go to

http://www.google.com/profiles/suezanne

-

http://lindenlab.tribe.net/ created on 11/19/03.

Members: Ben, Catherine, Colin, Cory, Dan, Doug, Jim, Philip, Phoenix, Richard,
Robin, and Ryan

-
Richard Meiklejohn
Registered User
Join date: 15 May 2006
Posts: 45
02-14-2009 07:11
Thanks for the replies...

Suezanne - When I interact with a hud others don't appear to see any kind of selection beam.

Hewee - Are right. Basic preference that I've missed all these year! D'oh. As for the Debug Option to switch off selection beams - great, found that now - ShowSelectionBeam - and unfortunately as you suggest, it is only client side for that client. So there doesn't seem to be a way :-(
WhiteStar Magic
Build it+Script it=RUN!
Join date: 24 Jul 2008
Posts: 36
Extended Description of SL-Viewer Debug Settings
02-14-2009 08:59
Here is a Link to the SL KBase article on the SL-Viewer Debug Settings and what they mean.

!!! USE / MODIFY WITH CAUTION !!!

http://wiki.secondlife.com/wiki/Debug_Settings

In regard to OP Question. I believe that you can change the ALPHA of the Selection Beam to 0.000 which would make it totally transparent. I'm not sure IF that will affect the other avi's viewer, but worth a test.

Hope it Helps.
WhiteStar
SuezanneC Baskerville
Forums Rock!
Join date: 22 Dec 2003
Posts: 14,229
02-14-2009 09:06
It might be workable to have a HUD touchpad, if you want to point at a particular object. Put a copy of the object in a HUD. Touch the hud, the inworld pointer points to the corresponding position on the inworld object. No selection beam.

Just a thought.
_____________________
-

So long to these forums, the vBulletin forums that used to be at forums.secondlife.com. I will miss them.

I can be found on the web by searching for "SuezanneC Baskerville", or go to

http://www.google.com/profiles/suezanne

-

http://lindenlab.tribe.net/ created on 11/19/03.

Members: Ben, Catherine, Colin, Cory, Dan, Doug, Jim, Philip, Phoenix, Richard,
Robin, and Ryan

-
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
02-14-2009 10:09
There's a JIRA entry I posted ages back, requesting a way for us to se t our own particle for magic beams.

http://jira.secondlife.com/browse/VWR-7427

It would allow the setting of the particles to a transparent texture as well.
_____________________

● Inworld Store: http://slurl.eclectic-randomness.com
● Website: http://www.eclectic-randomness.com
● Twitter: @WinterVentura
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
02-14-2009 11:03
I created a little flashing pointer thing for presentations a long time ago. Sort of a laser pointer replacement. When you touch it, it takes your controls and tracks the camera, so that the left and right controls move it left and right from the perspective of the camera, up and down are up and down from the camera's point of view, and likewise for forward and backward. If you have "Always Run" turned on (CTRL-R) it moves faster. Touching it again releases your controls and leaves the pointer stationary.

The movement script:
CODE

float STEP_SIZE = 0.1;
float RUN_MULTIPLIER = 5.0;

default
{
touch_start(integer numDetected)
{
integer i;
for (i = 0; i < numDetected; ++i)
{
if (llDetectedKey(i) == llGetOwner())
{
llRequestPermissions(
llGetOwner(),
PERMISSION_TAKE_CONTROLS | PERMISSION_TRACK_CAMERA);
return;
}
}
}

run_time_permissions(integer perms)
{
if (perms & PERMISSION_TAKE_CONTROLS)
{
state pointing;
}
}
}

state pointing
{
state_entry()
{
llTakeControls(
CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT |
CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT | CONTROL_UP | CONTROL_DOWN,
TRUE,
FALSE);
}

state_exit()
{
llReleaseControls();
}

on_rez(integer startParam)
{
llResetScript();
}

touch_start(integer numDetected)
{
integer i;
for (i = 0; i < numDetected; ++i)
{
if (llDetectedKey(i) == llGetOwner())
{
state default;
}
}
}

run_time_permissions(integer perms)
{
if (!(perms & PERMISSION_TAKE_CONTROLS))
{
state default;
}
}

control(key id, integer levels, integer edges)
{
rotation camRot = llGetCameraRot();
vector xAxis = llRot2Fwd(camRot);
vector yAxis = llRot2Left(camRot);
vector zAxis = llRot2Up(camRot);

float step;
if (llGetAgentInfo(llGetOwner()) & AGENT_ALWAYS_RUN)
{
step = RUN_MULTIPLIER*STEP_SIZE;
} else
{
step = STEP_SIZE;
}

integer forward = levels & CONTROL_FWD;
integer back = levels & CONTROL_BACK;
if (forward && !back)
{
llSetPos(llGetPos()+step*xAxis);
} else if (back && !forward)
{
llSetPos(llGetPos() - step*xAxis);
}

integer left = levels & (CONTROL_LEFT | CONTROL_ROT_LEFT);
integer right = levels & (CONTROL_RIGHT | CONTROL_ROT_RIGHT);
if (left && !right)
{
llSetPos(llGetPos()+step*yAxis);
} else if (right && !left)
{
llSetPos(llGetPos() - step*yAxis);
}

integer up = levels & CONTROL_UP;
integer down = levels & CONTROL_DOWN;
if (up && !down)
{
llSetPos(llGetPos()+step*zAxis);
} else if (down && !up)
{
llSetPos(llGetPos() - step*zAxis);
}
}
}


The flashing particles script:

CODE

particlesOn()
{
vector color = llGetColor(0);

llParticleSystem(
[ PSYS_PART_START_ALPHA, 0.75,
PSYS_PART_END_ALPHA, 0.5,
PSYS_PART_START_COLOR, color,
PSYS_PART_END_COLOR, color,
PSYS_PART_START_SCALE, <0.75, 0.75, 0.75>,
PSYS_PART_END_SCALE, <0.1, 0.1, 0.1>,
PSYS_PART_MAX_AGE, 1.0,
//PSYS_SRC_MAX_AGE, 0.0,
PSYS_SRC_ACCEL, ZERO_VECTOR,
PSYS_SRC_ANGLE_BEGIN, 0.0,
PSYS_SRC_ANGLE_END, PI,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RADIUS, 0.0,
PSYS_SRC_BURST_RATE, 1.0,
PSYS_SRC_BURST_SPEED_MIN, 1.0,
PSYS_SRC_BURST_SPEED_MAX, 1.0,
//PSYS_SRC_OMEGA, ZERO_VECTOR,
//PSYS_SRC_TARGET_KEY, NULL_KEY,
//PSYS_SRC_TEXTURE, "",
PSYS_SRC_PATTERN,
//PSYS_SRC_PATTERN_ANGLE,
//PSYS_SRC_PATTERN_ANGLE_CONE,
//PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY,
PSYS_SRC_PATTERN_DROP,
//PSYS_SRC_PATTERN_EXPLODE,
PSYS_PART_FLAGS,
0
//| PSYS_PART_BOUNCE_MASK
| PSYS_PART_EMISSIVE_MASK
| PSYS_PART_FOLLOW_SRC_MASK
//| PSYS_PART_FOLLOW_VELOCITY_MASK
| PSYS_PART_INTERP_COLOR_MASK
| PSYS_PART_INTERP_SCALE_MASK
//| PSYS_PART_TARGET_LINEAR_MASK
//| PSYS_PART_TARGET_POS_MASK
//| PSYS_PART_WIND_MASK
]);
}

particlesOff()
{
llParticleSystem([]);
}


default
{
state_entry()
{
particlesOn();
}

changed(integer changes)
{
if (changes & CHANGED_COLOR)
{
particlesOn();
}
}
}


Best IMO if put into say a 0.1m sphere, colored red (or some other bright primary color), 50% transparent, with Full Bright turned on.
Richard Meiklejohn
Registered User
Join date: 15 May 2006
Posts: 45
02-16-2009 11:40
Some great stuff coming out here - thanks. I will vote for that Jira I think, and I'm itching to try out that laser pointer code :-) I've posted a video of my efforts so far here http://blog.knowsense.co.uk

Whitestar - I couldn't see how you would change the alpha of the particle beam, only the RGB or HSL. Where can you set that? And do you know if you can script it?

Suezanne - interesting idea, that might work, although the problem would be to keep the HUD copy of the object updated with the content of the actual object (Whiteboard, noteboard) so you know what you were pointing at.