Skip to content
This repository has been archived by the owner on Mar 28, 2024. It is now read-only.

[BUG-228564] Feature Request: New object property "Intangible" #6616

Closed
4 tasks
sl-service-account opened this issue Apr 22, 2020 · 0 comments
Closed
4 tasks

Comments

@sl-service-account
Copy link

sl-service-account commented Apr 22, 2020

How would you like the feature to work?

An object set as intangible would not be clickable by the user. The ray cast out by the viewer to determine which object the mouse cursor (or crosshair in mouselook) is over would not collide with intangible objects, effectively allowing the user to "click through" them. An example would be the user looking at a semi-transparent prim wall, behind which an object with a click action is placed. With the wall set to intangible, the user could click directly at the object behind it, triggering its action. The same would apply to right-click actions.

To edit an intangible object, the user would simply have to switch to edit mode by opening the "edit" window. During editing, the user would be able to select intangible objects just the same as usual object, although there would be an additional toggle at the top of the edit window "Select Intangible" to disable this manually for situations in which the user would prefer that.

I see two possible ways of implementing this feature, either as having effect on object-level or on linkset-level. If individual objects (either stand-alone or part of a linkset) can be made intangible, the toggle for intangibility would be in the "Features" category of the edit window. This would allow greater flexibility, however also adding more complexity. For script integration, a new function like "llSetIntangible(...)" would have to be created. (Similar to "llSetPhysicsMaterial(...)", which also modifies an object-level status.)
If only entire linksets (unlinked or all linked objects at once) can be made intangible, the toggle would be under the "Object" tab, right after the "Phantom" toggle. While this would limit flexibility, it would reduce complexity and for script integration, the already existing function "llSetStatus(...)" could be extended through a new status constant "STATUS_INTANGIBLE".

Why is this feature important to you? How would it benefit the community?

The possibility to set objects to be intangible would be of great value for creators and builders alike, and a logical extension to the already existing object features/properties. Previously, wanting to create layered effects would mean sacrificing the ability to click through them, examples would be god rays, plants, or decals placed above / in front of other objects. I'm sure everyone has experienced wanting to interact with an object, only to realize some semi-transparent object is in the way, forcing the user to first adjust the camera, sometimes rather fiddly to get a position where the desired object is not overlayed by something else. This is neither immersive, nor intuitive, and definitely not desirable.

By changing the physics shape type for objects, or setting a linkset to "phantom", it is already possible to exclude an object from interactions with the physics system. I think it is a logical step from there to also allow objects to be excluded from the UI system.

Links

Related

Duplicates

Original Jira Fields
Field Value
Issue BUG-228564
Summary Feature Request: New object property "Intangible"
Type New Feature Request
Priority Unset
Status Closed
Resolution Duplicate
Labels viewer, building, usability, ui
Created at 2020-04-22T23:17:55Z
Updated at 2020-04-29T18:36:19Z
{
  'Build Id': 'unset',
  'Business Unit': ['Platform'],
  'How would you like the feature to work?': 'An object set as intangible would not be clickable by the user. The ray cast out by the viewer to determine which object the mouse cursor (or crosshair in mouselook) is over would not collide with intangible objects, effectively allowing the user to "click through" them. An example would be the user looking at a semi-transparent prim wall, behind which an object with a click action is placed. With the wall set to intangible, the user could click directly at the object behind it, triggering its action. The same would apply to right-click actions. \r\n\r\nTo edit an intangible object, the user would simply have to switch to edit mode by opening the "edit" window. During editing, the user would be able to select intangible objects just the same as usual object, although there would be an additional toggle at the top of the edit window "Select Intangible" to disable this manually for situations in which the user would prefer that.\r\n\r\nI see two possible ways of implementing this feature, either as having effect on object-level or on linkset-level. If individual objects (either stand-alone or part of a linkset) can be made intangible, the toggle for intangibility would be in the "Features" category of the edit window. This would allow greater flexibility, however also adding more complexity. For script integration, a new function like "llSetIntangible(...)" would have to be created. (Similar to "llSetPhysicsMaterial(...)", which also modifies an object-level status.)\r\nIf only entire linksets (unlinked or all linked objects at once) can be made intangible, the toggle would be under the "Object" tab, right after the "Phantom" toggle. While this would limit flexibility, it would reduce complexity and for script integration, the already existing function "llSetStatus(...)" could be extended through a new status constant "STATUS_INTANGIBLE".',
  'ReOpened Count': 0.0,
  'Severity': 'Unset',
  'Target Viewer Version': 'viewer-development',
  'Why is this feature important to you? How would it benefit the community?': 'The possibility to set objects to be intangible would be of great value for creators and builders alike, and a logical extension to the already existing object features/properties. Previously, wanting to create layered effects would mean sacrificing the ability to click through them, examples would be god rays, plants, or decals placed above / in front of other objects. I\'m sure everyone has experienced wanting to interact with an object, only to realize some semi-transparent object is in the way, forcing the user to first adjust the camera, sometimes rather fiddly to get a position where the desired object is not overlayed by something else. This is neither immersive, nor intuitive, and definitely not desirable.\r\n\r\nBy changing the physics shape type for objects, or setting a linkset to "phantom", it is already possible to exclude an object from interactions with the physics system. I think it is a logical step from there to also allow objects to be excluded from the UI system.',
}
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant