Jump to content

How can I repeat exactly the same camera settings over time?


You are about to reply to a thread that has been inactive for 425 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

There might be viewer-specific possibilities, but the easiest solution would be to sit on something that has defined camera position prim properties. (FOV isn't changeable by script though :/)

// usage instructions:
// - put the script in a prim, and make sure it is set to running, then sit on the prim.
// - move your camera to somewhere of interest.
// - say "setCam" (one word, with a capital C, no quotes)
// - stand up, then sit back down on the prim.
// - for as long as you are sat on the prim, pressing 'escape' willrestore your camera to where it was when you said "setCam".
integer ghListen;
default
{   state_entry()
    {   llSetClickAction(CLICK_ACTION_SIT);
        llSitTarget(<0,0,0.25>,ZERO_ROTATION);
    }
    changed(integer c)
    {   if(c&CHANGED_LINK)
        {   key av=llAvatarOnSitTarget();
            if(av)
            {   llRequestPermissions(av,PERMISSION_TRACK_CAMERA|PERMISSION_TRIGGER_ANIMATION);
                ghListen = llListen(0,"",av,"setCam");
            }else
            {   llListenRemove(ghListen);
            }
        }
    }
    run_time_permissions(integer perms)
    {   if(perms&PERMISSION_TRIGGER_ANIMATION) llStopAnimation("sit");
    }
    listen(integer Channel, string Name, key ID, string Text) // 
    {   if(llGetTime()>3.0)
        {   if(llGetPermissions()&PERMISSION_TRACK_CAMERA)
            {   vector myPos = llGetPos();
                rotation myRot = llGetRot();
                vector camPos = llGetCameraPos();
                rotation camRot = llGetCameraRot();
                llSetCameraEyeOffset((camPos-myPos)/myRot);
                llSetCameraAtOffset(((camPos+llRot2Fwd(camRot))-myPos)/myRot);
                llRegionSayTo(ID,0,"Camera changed. Try unsiting, then re-sit and press escape.");
            }
        }
    }
}

 

  • Thanks 4
Link to comment
Share on other sites

This is a free HUD that will do what I think you want.  

https://marketplace.secondlife.com/p/Camera-View-SaveSetup-HUD/5647480

Edit:

If you move your camera after saving and/or loading a position, make sure to press the "esc" key or it will not move to the next location. Press the arrow on either side of the hud to turn it off or on.

 

Edited by Istelathis
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 2/23/2023 at 12:13 AM, Quistess Alpha said:

There might be viewer-specific possibilities, but the easiest solution would be to sit on something that has defined camera position prim properties. (FOV isn't changeable by script though :/)

// usage instructions:
// - put the script in a prim, and make sure it is set to running, then sit on the prim.
// - move your camera to somewhere of interest.
// - say "setCam" (one word, with a capital C, no quotes)
// - stand up, then sit back down on the prim.
// - for as long as you are sat on the prim, pressing 'escape' willrestore your camera to where it was when you said "setCam".
integer ghListen;
default
{   state_entry()
    {   llSetClickAction(CLICK_ACTION_SIT);
        llSitTarget(<0,0,0.25>,ZERO_ROTATION);
    }
    changed(integer c)
    {   if(c&CHANGED_LINK)
        {   key av=llAvatarOnSitTarget();
            if(av)
            {   llRequestPermissions(av,PERMISSION_TRACK_CAMERA|PERMISSION_TRIGGER_ANIMATION);
                ghListen = llListen(0,"",av,"setCam");
            }else
            {   llListenRemove(ghListen);
            }
        }
    }
    run_time_permissions(integer perms)
    {   if(perms&PERMISSION_TRIGGER_ANIMATION) llStopAnimation("sit");
    }
    listen(integer Channel, string Name, key ID, string Text) // 
    {   if(llGetTime()>3.0)
        {   if(llGetPermissions()&PERMISSION_TRACK_CAMERA)
            {   vector myPos = llGetPos();
                rotation myRot = llGetRot();
                vector camPos = llGetCameraPos();
                rotation camRot = llGetCameraRot();
                llSetCameraEyeOffset((camPos-myPos)/myRot);
                llSetCameraAtOffset(((camPos+llRot2Fwd(camRot))-myPos)/myRot);
                llRegionSayTo(ID,0,"Camera changed. Try unsiting, then re-sit and press escape.");
            }
        }
    }
}

 

This can be very useful, since it doesn't require a hud. Thank you!!

  • Like 1
Link to comment
Share on other sites

8 minutes ago, Bagnu said:

This can be very useful, since it doesn't require a hud. Thank you!!

I also made a HUD a while back, but the UI wasn't very friendly. If you own the land, keeping something rezzed nearby seems more intuitive than finding a HUD in your inventory, and then remembering which button is for the location you're capturing. I believe there's an option to remove HUDs when taking a snapshot, but it can be disabled in certain RLV situations.

  • Like 1
Link to comment
Share on other sites

Just now, Quistess Alpha said:

I also made a HUD a while back, but the UI wasn't very friendly. If you own the land, keeping something rezzed nearby seems more intuitive than finding a HUD in your inventory, and then remembering which button is for the location you're capturing. I believe there's an option to remove HUDs when taking a snapshot, but it can be disabled in certain RLV situations.

I rarely take posed pics, so your prim method is the fastest.  I have Lumipro, but I use it so rarely that I have to go through the manual. The last posed pic I took was for the Christmas Card with Caitlin and me. Our FS camera will remove all HUDs even RLV locked HUDS when that option is activated. Unfortunately, there is no video record option, and I know of no way to remove the RLV locked HUDs so the screen would be fully "clean" for recording with a third party prog. I just started a thread about that.

Link to comment
Share on other sites

2 hours ago, Bagnu said:

Unfortunately, there is no video record option, and I know of no way to remove the RLV locked HUDs so the screen would be fully "clean" for recording with a third party prog. I just started a thread about that.

Can you leave them attached, but move them off the screen?

Link to comment
Share on other sites

On 3/4/2023 at 7:54 AM, Bagnu said:

I rarely take posed pics, so your prim method is the fastest.  I have Lumipro, but I use it so rarely that I have to go through the manual. The last posed pic I took was for the Christmas Card with Caitlin and me. Our FS camera will remove all HUDs even RLV locked HUDS when that option is activated. Unfortunately, there is no video record option, and I know of no way to remove the RLV locked HUDs so the screen would be fully "clean" for recording with a third party prog. I just started a thread about that.

@Bagnu  Just started a thread... and no link  aaaaaaaahhhhh!

To clear the screen for 3rd party screen capture use Ctrl-Alt-F1.

Edited by Nalates Urriah
  • Like 1
Link to comment
Share on other sites

3 hours ago, Nalates Urriah said:

@Bagnu  Just started a thread... and no link  aaaaaaaahhhhh!

To clear the screen for 3rd party screen capture use Ctrl-Alt-F1.

I did. That's for the UI only.. alt shift h clears all huds except for RLV locked ones. The FS docs say RLV locked ones won't hide. 

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 425 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...