Comments (9)
I haven't explorered the nphysics yet but based on my experience on unity 3d i was suggesting this idea.
Look, its not just velocity or angular velocity there is much more about a physical body. Like i want to know velocity at certain point?
Let me explain in detail for a different perspective. I think we should have separate components and respective subsytem for both 2d and 3d.
Talking about the granulity of components incase of 3d physics we should provide components the way most physics engine api is natural to map. Physix, bullet both have to concept of rigidbodies, colliders etc
For kinemetic physics we can just add a property to rigidbody component that this object is not dynamic. (As of know nphysics doest support kinemetic bodies) or if its an unmovable static body etc.
Now that i have discovered this project i will also try to implement a reference set of components and subsystem.
Thanks for consideration.
from amethyst.
Should networking be a target?
For example: Some sort of automatic serialization and transmission of structs over the std library networking functions.
from amethyst.
@jdoneth That is correct, but off-topic. Networking is an engine-level feature and not an ECS (entity-component-system) feature. This issue deals with implementing systems in the ECS sense. Personally, I prefer the term "processors" to eliminate confusion.
from amethyst.
Ah sorry, my bad, I saw systems and thought engine modules. I understand ECS, but this topic doesn't mention ECS.
from amethyst.
Position and velocity shouldnt be separate components. If u use 3rd party physics like nphysics or bullet bindings u get rigidbody access. We need to provide a rigidbody component.
from amethyst.
I think that they should be separated, I don't see any reason why they shouldn't. Having them together means more work for the engine, i.e computing if a object is static (not moving) or dynamic (moving).
::Update:: Now when looking at the nphysics repo which seems the most mature lib for this kind of stuff, it seems that it inside nalgebra, there is support for PositionXd with Point
s. However, how much should amethyst integrate nphysics?
from amethyst.
@ahmedaliadeel yes, while rendering 2D/3D is mostly uniform, physics gets definitely much more complicated, so it kinda makes sense to separate 2D and 3D components for it. Looking forward to see what you'll come up with!
from amethyst.
I think a networking system might definitely be a goal for this. For instance, automatic sync between a server (or maybe P2P?) for specified components.
from amethyst.
Outdated, kind of handled in separate issues like scripting
and physics
.
from amethyst.
Related Issues (20)
- Pong game breaks when using Airpods Pros HOT 5
- Derive proc_macros unnecessarily require the user to import apparently arbitrary types HOT 1
- RenderingBundle has undocumented dependency when used with ApplicationBuilder HOT 2
- RenderToWindow::from_config_path - Parse Errors include filename that couldn't be parsed HOT 2
- Include brew dependencies for MacOS HOT 1
- update amethyst_rendy to use rendy 0.5.1 HOT 1
- Reduce friction to use register_asset_type! macro HOT 1
- Allow use of legion system macros without needing to manually add legion crate HOT 1
- Add example how to add thread local bundle / system with object which can not be send between threads HOT 3
- Most Examples Are breaking, With missing imports HOT 1
- supported platforms? HOT 1
- Examples fail to run second time with error: failed to load manifest for workspace member .assets_db HOT 1
- Custom pipeline properties for rendering (3D-related)
- [Question] is there a way to download all of amethyst for convenient offline use
- the focus screen functionality does not work at all HOT 9
- Amethyst rendy is broken, the build is broken and has been broken for more than a year HOT 4
- Amethyst Roadmaps not updated to reflect project discontinuation
- amethyst was deprecated? if yes, why? HOT 3
- Make tiled windows fullscreen
- Wide layout not resizing with new windows. Requires relaunching.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from amethyst.