autodisable terrain colliders
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
This commit is contained in:
parent
d8a9d660aa
commit
cf9371461b
@ -1170,6 +1170,7 @@ Fix reentrant locking bug
|
|||||||
Convert server physics cell generation to executor service
|
Convert server physics cell generation to executor service
|
||||||
Simplifying physics cases
|
Simplifying physics cases
|
||||||
Allow variable collision bits for collidable entities
|
Allow variable collision bits for collidable entities
|
||||||
|
Autodisable terrain colliders
|
||||||
|
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
|
|||||||
@ -497,6 +497,7 @@ public class PhysicsEntityUtils {
|
|||||||
*/
|
*/
|
||||||
public static void clientAttachTriGeomRigidBody(Entity terrain, TriGeomData data){
|
public static void clientAttachTriGeomRigidBody(Entity terrain, TriGeomData data){
|
||||||
DBody terrainBody = CollisionBodyCreation.generateBodyFromTerrainData(Globals.clientSceneWrapper.getCollisionEngine(), data, Collidable.TYPE_STATIC_BIT);
|
DBody terrainBody = CollisionBodyCreation.generateBodyFromTerrainData(Globals.clientSceneWrapper.getCollisionEngine(), data, Collidable.TYPE_STATIC_BIT);
|
||||||
|
CollisionBodyCreation.setAutoDisable(Globals.clientSceneWrapper.getCollisionEngine(), terrainBody, true, LINEAR_THRESHOLD, ANGULAR_THRESHOLD, STEP_THRESHOLD);
|
||||||
Collidable collidable = new Collidable(terrain,Collidable.TYPE_STATIC, false);
|
Collidable collidable = new Collidable(terrain,Collidable.TYPE_STATIC, false);
|
||||||
Globals.clientSceneWrapper.getCollisionEngine().registerCollisionObject(terrainBody, collidable);
|
Globals.clientSceneWrapper.getCollisionEngine().registerCollisionObject(terrainBody, collidable);
|
||||||
PhysicsEntityUtils.setDBody(terrain,terrainBody);
|
PhysicsEntityUtils.setDBody(terrain,terrainBody);
|
||||||
@ -511,10 +512,11 @@ public class PhysicsEntityUtils {
|
|||||||
* @return The rigid body created (note, attachment has already been performed)
|
* @return The rigid body created (note, attachment has already been performed)
|
||||||
*/
|
*/
|
||||||
public static DBody serverAttachTriGeomRigidBody(Entity terrain, TriGeomData data){
|
public static DBody serverAttachTriGeomRigidBody(Entity terrain, TriGeomData data){
|
||||||
Realm terrainRealm = Globals.realmManager.getEntityRealm(terrain);
|
Realm realm = Globals.realmManager.getEntityRealm(terrain);
|
||||||
DBody terrainBody = CollisionBodyCreation.generateBodyFromTerrainData(terrainRealm.getCollisionEngine(),data,Collidable.TYPE_STATIC_BIT);
|
DBody terrainBody = CollisionBodyCreation.generateBodyFromTerrainData(realm.getCollisionEngine(),data,Collidable.TYPE_STATIC_BIT);
|
||||||
|
CollisionBodyCreation.setAutoDisable(realm.getCollisionEngine(), terrainBody, true, LINEAR_THRESHOLD, ANGULAR_THRESHOLD, STEP_THRESHOLD);
|
||||||
|
|
||||||
terrainRealm.getCollisionEngine().registerCollisionObject(terrainBody, new Collidable(terrain,Collidable.TYPE_STATIC, false));
|
realm.getCollisionEngine().registerCollisionObject(terrainBody, new Collidable(terrain,Collidable.TYPE_STATIC, false));
|
||||||
PhysicsEntityUtils.setDBody(terrain,terrainBody);
|
PhysicsEntityUtils.setDBody(terrain,terrainBody);
|
||||||
|
|
||||||
return terrainBody;
|
return terrainBody;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user