You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue addresses commentary annotations in a 3D space. Specifically, the common use case of comments that describe and are associated with a specific point on the surface of the 3D model.
TL;DR - I propose that some fairly common issues with positioning of commentary annotations in 3D could be solved by including a vector describing the orientation of the annotation body relative to the point on the model that it references.
I couldn't find any current draft manifest code for commentary annotations, but from TSG discussions my understanding was that the proposed spec for these annotations would include placement in 3D space but not orientation. I think this will be limiting in a couple of ways, described below.
Placing of comments in a non-obscuring/optimal way
Determining placement of a point-relative comment annotation is fairly simple, with many 3d applications and viewers (ex. , Voyager) allowing you to select this position by simply clicking the point on the surface of the model that will be referenced. For certain implementations of the actual commentary annotation though, a position alone is not enough. Placing the visual annotation body at a point directly on the surface of the model can result in occlusion and intersecting geometries. Nearby commentary annotations can overlap and become unreadable. This issue can easily be solved by providing the annotation with an offset from the surface of the model. This can be achieved by moving the annotation away from the model along a local orientation vector. Including this vector in the spec would not only allow developers to easily and efficiently create these offsets, but it also accounts for unique scenarios where one may want the offset to happen in a non-normal direction.
The images below show an example of an occluded annotation, and the same annotation revealed by providing an offset along a defined vector.
Automatically hiding/showing annotations relative to camera position
An orientation vector can also be valuable for hiding commenting annotations when the points they reference are not visible to the user. This is often done for html screen-space style annotations that would otherwise never be occluded by the model. This technique could be implemented in a rudimentary without a defined orientation vector, but does not account for model-specific behavior. For instance, in the images above there is a semi-transparent annotation titled "Padding" that is visible. This annotation is actually referencing an unseen point on the inside of the helmet model, but is visible because the surface it is attached to is technically still pointing at the camera. With a definable orientation vector, we could fix this scenario by adjusting the orientation such that it is only visible when the underside of the model is facing the camera.
The text was updated successfully, but these errors were encountered:
This issue addresses commentary annotations in a 3D space. Specifically, the common use case of comments that describe and are associated with a specific point on the surface of the 3D model.
TL;DR - I propose that some fairly common issues with positioning of commentary annotations in 3D could be solved by including a vector describing the orientation of the annotation body relative to the point on the model that it references.
I couldn't find any current draft manifest code for commentary annotations, but from TSG discussions my understanding was that the proposed spec for these annotations would include placement in 3D space but not orientation. I think this will be limiting in a couple of ways, described below.
Determining placement of a point-relative comment annotation is fairly simple, with many 3d applications and viewers (ex. , Voyager) allowing you to select this position by simply clicking the point on the surface of the model that will be referenced. For certain implementations of the actual commentary annotation though, a position alone is not enough. Placing the visual annotation body at a point directly on the surface of the model can result in occlusion and intersecting geometries. Nearby commentary annotations can overlap and become unreadable. This issue can easily be solved by providing the annotation with an offset from the surface of the model. This can be achieved by moving the annotation away from the model along a local orientation vector. Including this vector in the spec would not only allow developers to easily and efficiently create these offsets, but it also accounts for unique scenarios where one may want the offset to happen in a non-normal direction.
The images below show an example of an occluded annotation, and the same annotation revealed by providing an offset along a defined vector.
An orientation vector can also be valuable for hiding commenting annotations when the points they reference are not visible to the user. This is often done for html screen-space style annotations that would otherwise never be occluded by the model. This technique could be implemented in a rudimentary without a defined orientation vector, but does not account for model-specific behavior. For instance, in the images above there is a semi-transparent annotation titled "Padding" that is visible. This annotation is actually referencing an unseen point on the inside of the helmet model, but is visible because the surface it is attached to is technically still pointing at the camera. With a definable orientation vector, we could fix this scenario by adjusting the orientation such that it is only visible when the underside of the model is facing the camera.
The text was updated successfully, but these errors were encountered: