Skip to content
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

Add position and rotation components to Camera entities #3

Closed
cart opened this issue May 6, 2020 · 1 comment
Closed

Add position and rotation components to Camera entities #3

cart opened this issue May 6, 2020 · 1 comment
Labels
C-Feature A new feature, making something new possible

Comments

@cart
Copy link
Member

cart commented May 6, 2020

Currently camera position and rotation must be handled by directly modifying the Transform component.

This should be reconciled with manually setting the Transform (ex: calling look_at()). We don't want position and rotation components overriding manually set transforms.

@cart cart added the C-Feature A new feature, making something new possible label May 6, 2020
@cart cart added this to the Open Source Release milestone May 6, 2020
@cart
Copy link
Member Author

cart commented May 31, 2020

Fixed by 21a79c5, which adds the ability to toggle syncing from pos/rot components to transforms. But this isn't an ideal solution. I would prefer it if changes to LocalToWorld transforms automatically synced to Translation, Rotation, Scale components and vice-versa, but I'm pretty sure we need component change events for that to work properly.

@cart cart closed this as completed May 31, 2020
aclysma added a commit to aclysma/bevy that referenced this issue Aug 29, 2020
* Address some feedback for the bevy_tasks PR
 - Add a general clamp fn to bevy_math
 - Expose num_cpus in bevy_tasks
 - Fill out empty doc comment

* Add comments and clean up pinning in bevy_tasks, fix a couple tests
superdump referenced this issue in superdump/bevy Jun 19, 2021
StandardMaterial flat values
cart pushed a commit that referenced this issue Jul 24, 2021
StandardMaterial flat values
cart pushed a commit that referenced this issue Jul 24, 2021
StandardMaterial flat values
bilsen added a commit to bilsen/bevy that referenced this issue Oct 4, 2021
bors bot pushed a commit that referenced this issue Mar 29, 2022
# Objective
Load skeletal weights and indices from GLTF files. Animate meshes.

## Solution
 - Load skeletal weights and indices from GLTF files.
 - Added `SkinnedMesh` component and ` SkinnedMeshInverseBindPose` asset
 - Added `extract_skinned_meshes` to extract joint matrices.
 - Added queue phase systems for enqueuing the buffer writes.

Some notes:

 -  This ports part of # #2359 to the current main.
 -  This generates new `BufferVec`s and bind groups every frame. The expectation here is that the number of `Query::get` calls during extract is probably going to be the stronger bottleneck, with up to 256 calls per skinned mesh. Until that is optimized, caching buffers and bind groups is probably a non-concern.
 - Unfortunately, due to the uniform size requirements, this means a 16KB buffer is allocated for every skinned mesh every frame. There's probably a few ways to get around this, but most of them require either compute shaders or storage buffers, which are both incompatible with WebGL2.

Co-authored-by: james7132 <[email protected]>
Co-authored-by: François <[email protected]>
Co-authored-by: James Liu <[email protected]>
aevyrie pushed a commit to aevyrie/bevy that referenced this issue Jun 7, 2022
# Objective
Load skeletal weights and indices from GLTF files. Animate meshes.

## Solution
 - Load skeletal weights and indices from GLTF files.
 - Added `SkinnedMesh` component and ` SkinnedMeshInverseBindPose` asset
 - Added `extract_skinned_meshes` to extract joint matrices.
 - Added queue phase systems for enqueuing the buffer writes.

Some notes:

 -  This ports part of # bevyengine#2359 to the current main.
 -  This generates new `BufferVec`s and bind groups every frame. The expectation here is that the number of `Query::get` calls during extract is probably going to be the stronger bottleneck, with up to 256 calls per skinned mesh. Until that is optimized, caching buffers and bind groups is probably a non-concern.
 - Unfortunately, due to the uniform size requirements, this means a 16KB buffer is allocated for every skinned mesh every frame. There's probably a few ways to get around this, but most of them require either compute shaders or storage buffers, which are both incompatible with WebGL2.

Co-authored-by: james7132 <[email protected]>
Co-authored-by: François <[email protected]>
Co-authored-by: James Liu <[email protected]>
bors bot pushed a commit that referenced this issue Nov 3, 2022
ItsDoot pushed a commit to ItsDoot/bevy that referenced this issue Feb 1, 2023
# Objective
Load skeletal weights and indices from GLTF files. Animate meshes.

## Solution
 - Load skeletal weights and indices from GLTF files.
 - Added `SkinnedMesh` component and ` SkinnedMeshInverseBindPose` asset
 - Added `extract_skinned_meshes` to extract joint matrices.
 - Added queue phase systems for enqueuing the buffer writes.

Some notes:

 -  This ports part of # bevyengine#2359 to the current main.
 -  This generates new `BufferVec`s and bind groups every frame. The expectation here is that the number of `Query::get` calls during extract is probably going to be the stronger bottleneck, with up to 256 calls per skinned mesh. Until that is optimized, caching buffers and bind groups is probably a non-concern.
 - Unfortunately, due to the uniform size requirements, this means a 16KB buffer is allocated for every skinned mesh every frame. There's probably a few ways to get around this, but most of them require either compute shaders or storage buffers, which are both incompatible with WebGL2.

Co-authored-by: james7132 <[email protected]>
Co-authored-by: François <[email protected]>
Co-authored-by: James Liu <[email protected]>
Selene-Amanita added a commit to Selene-Amanita/bevy that referenced this issue May 27, 2023
tigregalis pushed a commit to tigregalis/bevy that referenced this issue Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Feature A new feature, making something new possible
Projects
None yet
Development

No branches or pull requests

1 participant