Open sl-service-account opened 1 year ago
Extrude Ragu commented at 2022-11-17T19:02:50Z
Honestly I was surprised being able to focus the camera on an object wasn't a thing already. I was so sure the feature already existed that I was planning to use it for some games I had in mind. +1
Lucia Nightfire commented at 2022-11-17T19:25:16Z
Related to https://jira.secondlife.com/browse/BUG-6325
nagachief.darkstone commented at 2022-11-17T22:40:37Z
Interesting that the related was accepted but never actioned on. I suppose this makes the only new suggestion in mine the easing param.
Darksider Alex commented at 2022-11-18T00:30:41Z
LSL camera functions don't really work well right now. Being able to focus the camera on specific objects and transition it smoothly would allow me to improve the gameplay elements of my scripted weapons and other objects.
Spidey Linden commented at 2022-11-30T19:18:21Z
Issue accepted. We have no estimate when it may be implemented. Please see future release notes for this fix.
How would you like the feature to work?
CAMERA_FOCUS_KEY, key target -Set's camera's focus to track [target] -Can be Object or Agent -NULL_KEY returns focus to script owner -Can use the same camera parameters as non-locked cameras (Behindness, Distance, Lag, Offset, Threshold, ect.)
CAMERA_POSITION_KEY, key target -Sets the camera's position to track [target]. -Can be Object or Agent -NULL_KEY returns scripted camera to normal behavior
CAMERA_EASING_TYPE, integer easing_type -Defaults to CAMERA_EASING_TYPE_NONE (Current Behavior) -Used with Locked Camera (CAMERA_FOCUS/POSITION_LOCKED) -Smooths the transition between last requested focus/position to new focus/position -Open-Sourced suggestions for easing types: https://easings.net
CAMERA_EASING_TIME, float seconds -Defaults to 0.5000 -How many seconds to animate the camera easing -Does nothing unless CAMERA_EASING_TYPE is set to anything but NONE.
Why is this feature important to you? How would it benefit the community?
Currently, Scripted Camera is very limited in use due as you can either have it track your avatar smoothly or have it track an arbitrary point with no smoothing at all. There are partial solutions to this, but they require hammering the simulator with llSetCameraParam() requests in a while loop and the use of llGetTime(), which is detrimental to the simulator, prevents the script from doing anything else, and due to the limitations of LSL, reduces the performance of other scripts within the object to get around this busy script.
This feature request would seek to remedy the shortcomings of the Scripted Camera by giving us the ability to not only track arbitrary objects and agents, but to improve the behavior of the Locked Camera state by allowing it to ease between it's last and new focus and position points.
I've personally dropped a few projects because the Locked Camera was too jerky to be used for tracking other objects.
Links
Related
Original Jira Fields
| Field | Value | | ------------- | ------------- | | Issue | BUG-232941 | | Summary | llSetCameraParams() Expansion: Object tracking and Easing | | Type | New Feature Request | | Priority | Unset | | Status | Accepted | | Resolution | Accepted | | Created at | 2022-11-17T18:15:54Z | | Updated at | 2022-11-30T19:18:20Z | ``` { 'Build Id': 'unset', 'Business Unit': ['Platform'], 'Date of First Response': '2022-11-17T13:02:49.502-0600', 'How would you like the feature to work?': "CAMERA_FOCUS_KEY, key target\r\n-Set's camera's focus to track [target]\r\n-Can be Object or Agent\r\n-NULL_KEY returns focus to script owner\r\n-Can use the same camera parameters as non-locked cameras (Behindness, Distance, Lag, Offset, Threshold, ect.)\r\n\r\nCAMERA_POSITION_KEY, key target\r\n-Sets the camera's position to track [target].\r\n-Can be Object or Agent\r\n-NULL_KEY returns scripted camera to normal behavior\r\n\r\nCAMERA_EASING_TYPE, integer easing_type\r\n-Defaults to CAMERA_EASING_TYPE_NONE (Current Behavior)\r\n-Used with Locked Camera (CAMERA_FOCUS/POSITION_LOCKED)\r\n-Smooths the transition between last requested focus/position to new focus/position\r\n-Open-Sourced suggestions for easing types: https://easings.net\r\n\r\nCAMERA_EASING_TIME, float seconds\r\n-Defaults to 0.5000\r\n-How many seconds to animate the camera easing\r\n-Does nothing unless CAMERA_EASING_TYPE is set to anything but NONE.", 'ReOpened Count': 0.0, 'Severity': 'Unset', 'Target Viewer Version': 'viewer-development', 'Why is this feature important to you? How would it benefit the community?': "Currently, Scripted Camera is very limited in use due as you can either have it track your avatar smoothly or have it track an arbitrary point with no smoothing at all. There are partial solutions to this, but they require hammering the simulator with llSetCameraParam() requests in a while loop and the use of llGetTime(), which is detrimental to the simulator, prevents the script from doing anything else, and due to the limitations of LSL, reduces the performance of other scripts within the object to get around this busy script.\r\n\r\nThis feature request would seek to remedy the shortcomings of the Scripted Camera by giving us the ability to not only track arbitrary objects and agents, but to improve the behavior of the Locked Camera state by allowing it to ease between it's last and new focus and position points.\r\n\r\nI've personally dropped a few projects because the Locked Camera was too jerky to be used for tracking other objects.", } ```