0
내 게임, 특히 주 플레이어와 충돌을 구현하는 데 문제가 있습니다 (설정 한 상자와 충돌하면 훨씬 뒤쪽으로 튀어 오름). 이 설정에 대한 코드를 뷰어입니다 :JBullet RigidBodies
CollisionShape myCol = new CylinderShape(new javax.vecmath.Vector3f(0.4f, 0.9f, 0.4f)); DefaultMotionState motion = new DefaultMotionState(new Transform(new Matrix4f(new Quat4f(0, 0, 0, 1), new javax.vecmath.Vector3f(0, 33, 0), 1f))); javax.vecmath.Vector3f fallInertia = new javax.vecmath.Vector3f(0, 0, 0); //myCol.calculateLocalInertia(0, fallInertia); RigidBodyConstructionInfo cInfo = new RigidBodyConstructionInfo(1, motion, myCol, fallInertia); self_Col = new RigidBody(cInfo); self_Col.setFriction(1f); self_Col.setRestitution(1f); self_Col.setDamping(0.04f, 0.1f);
그리고 이것은 물리학의 세계 설정입니다 :
AxisSweep3 pairCache = new AxisSweep3(new javax.vecmath.Vector3f(-10000, -10000, -10000), new javax.vecmath.Vector3f(10000, 10000, 10000)); DefaultCollisionConfiguration collisionConfiguration = new DefaultCollisionConfiguration(); CollisionDispatcher dispatcher = new CollisionDispatcher(collisionConfiguration); SequentialImpulseConstraintSolver solver = new SequentialImpulseConstraintSolver(); detectionWorld = new DiscreteDynamicsWorld(dispatcher, pairCache, solver, collisionConfiguration); detectionWorld.setGravity(new javax.vecmath.Vector3f(0, -2f, 0));
내가 신청 한 후 플레이어를 이동하기 위해 애 쓰고 새로운 위치를 충돌 상자에 추가 한 다음 물리 단계를 수행하고 새 충돌 상자 위치로 위치를 설정하십시오. 그래서 기본적으로 나는 두 개의 벡터를 가지고 있습니다.
편집 : 아무나? 나는 여전히이 문제를 겪고 있습니다.