-
Notifications
You must be signed in to change notification settings - Fork 294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FEATURE: Movable SceneModel Objects #1229
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Fix `_subPortionSetMatrix` in `TrianglesDataTextureLayer`
xeolabs
changed the title
Movable SceneModel Objects
[Feature] Movable SceneModel Objects
Nov 20, 2023
xeolabs
changed the title
[Feature] Movable SceneModel Objects
Feature: Movable SceneModel Objects
Nov 20, 2023
xeolabs
changed the title
Feature: Movable SceneModel Objects
FEATURE: Movable SceneModel Objects
Nov 20, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New Classes
This PR extends xeokit's high-performance
SceneModel
model representation with dynamic transform hierarchies.SceneModelMesh
SceneModelEntity
SceneModelEntity
can have multipleSceneModelMeshes
SceneModel#createMesh
SceneModel#meshes
SceneModelEntity#meshes
SceneModelTransform
SceneModel#createTransform
SceneModel#transforms
SceneModelMesh#transform
Caveats
Precision Limts
When a
SceneModelMesh
has anorigin
, then the translation of itsSceneModelTransform
will be relative to thatorigin
. For coordinate accuracy, the translation distance must be less than the maximum magnitude expressible by a single-precision floating-point number. If the translation is too large, then rounding jitter may result when rendering.Use
SceneModel.position
if you need to move aSceneModel
long distances within xeokit's World coordinate system. That property can handle double-precision magnitudes.Usage
The following example shows how to create a
SceneModel
that allows us to dynamically animate the position, size and orientation of its objects.Instead of defining a translation, scale and rotation of each mesh, we define these on
SceneModelTransform
components, which are connected to the meshes. We'll also organize ourSceneModelTransform
components into a hierarchy.