Problem
Right now the collision with the world (chunkstore) is mostly given by static block collision. This could be improved to include dynamic block collision. Example: doors opening, trapdor opening, etc. This could be both a switch on/off of the block collision or, rather, a dynamic/kinematic collision movement.
This would increase both the granularity of the physics integration and also our understanding of the plugin api and the physics integration in the hytale server.
Proposed solution
chunkstore blockentities with optional components aside the standard world collision behavaiour.
As an analogy with the EntityStore side we could implement the PhysicsAuthority concept for the chunkstore:
enum PhysicsBodyAuthority {
ENTITY_STORE,
CHUNK_STORE,
PHYSICS_WORLD
}
an optional body role in the chunkstore space
enum ChunkPhysicsBodyRole {
SECTION_TERRAIN,
BLOCK_ACTOR,
BLOCK_ASSEMBLY
}
identiy related handles:
record ChunkPhysicsBodyKey(/* world/chunk/block/local part identity */) {}
and a spawn plan that can be translated into the physics commandbuffer:
record ChunkPhysicsBodyPlan(
ChunkPhysicsBodyKey key,
SpaceId spaceId,
PhysicsBodyType bodyType,
PhysicsShapeSpec shape,
RigidBodySpawnSettings settings
) {}
This issue is also related with possible data driven material integration (#1) and multi body bodies/moving chunks (#14)
Area
plugin API
Suggested validation
No response
Problem
Right now the collision with the world (chunkstore) is mostly given by static block collision. This could be improved to include dynamic block collision. Example: doors opening, trapdor opening, etc. This could be both a switch on/off of the block collision or, rather, a dynamic/kinematic collision movement.
This would increase both the granularity of the physics integration and also our understanding of the plugin api and the physics integration in the hytale server.
Proposed solution
chunkstore blockentities with optional components aside the standard world collision behavaiour.
As an analogy with the EntityStore side we could implement the PhysicsAuthority concept for the chunkstore:
an optional body role in the chunkstore space
identiy related handles:
and a spawn plan that can be translated into the physics commandbuffer:
This issue is also related with possible data driven material integration (#1) and multi body bodies/moving chunks (#14)
Area
plugin API
Suggested validation
No response