internal DynamicWorldImp() { //Debug.WriteLine("DynamicWorldImp"); //Default // collision configuration contains default setup for memory, collision setup BtCollisionConf = new DefaultCollisionConfiguration(); BtDispatcher = new CollisionDispatcher(BtCollisionConf); BtBroadphase = new DbvtBroadphase(); BtSolver = new SequentialImpulseConstraintSolver(); // BtCollisionShapes = new AlignedCollisionShapeArray(); BtWorld = new DiscreteDynamicsWorld(BtDispatcher, BtBroadphase, BtSolver, BtCollisionConf) { Gravity = new Vector3(0, -9.81f, 0) }; BtWorld.SolverInfo.NumIterations = 5; BtWorld.PerformDiscreteCollisionDetection(); //GImpactCollisionAlgorithm.RegisterAlgorithm(BtDispatcher); // BtWorld.SetInternalTickCallback(MyTickCallBack); //BtWorld.SetInternalTickCallback(TickTack); //ManifoldPoint.ContactAdded += OnContactAdded; //PersistentManifold.ContactDestroyed += OnContactDestroyed; //PersistentManifold.ContactProcessed += OnContactProcessed; }
public DiscreteDynamicsWorldMultiThreaded(Dispatcher dispatcher, BroadphaseInterface pairCache, ConstraintSolver constraintSolver, CollisionConfiguration collisionConfiguration) : base(btDiscreteDynamicsWorldMt_new(dispatcher != null ? dispatcher._native : IntPtr.Zero, pairCache != null ? pairCache._native : IntPtr.Zero, constraintSolver != null ? constraintSolver._native : IntPtr.Zero, collisionConfiguration != null ? collisionConfiguration._native : IntPtr.Zero), dispatcher, pairCache) { }
/// <summary> /// gRally /// </summary> /// <param name="worldCreated"></param> /// <param name="dispatcher"></param> /// <param name="pairCache"></param> /// <param name="constraintSolver"></param> /// <param name="collisionConfiguration"></param> public DiscreteDynamicsWorld(IntPtr worldCreated, Dispatcher dispatcher, BroadphaseInterface pairCache, ConstraintSolver constraintSolver, CollisionConfiguration collisionConfiguration) : base(IntPtr.Zero) { _native = worldCreated; _constraintSolver = constraintSolver; Dispatcher = dispatcher; Broadphase = pairCache; }
public DiscreteDynamicsWorld(Dispatcher dispatcher, BroadphaseInterface pairCache, ConstraintSolver constraintSolver, CollisionConfiguration collisionConfiguration) : this(btDiscreteDynamicsWorld_new(dispatcher != null ? dispatcher.Native : IntPtr.Zero, pairCache != null ? pairCache.Native : IntPtr.Zero, constraintSolver != null ? constraintSolver.Native : IntPtr.Zero, collisionConfiguration != null ? collisionConfiguration.Native : IntPtr.Zero), dispatcher, pairCache) { _constraintSolver = constraintSolver; }
public BulletPhysicWorld(Vector3 gravity,Dispatcher dispatcher, BroadphaseInterface pairCache, ConstraintSolver constraintSolver, CollisionConfiguration collisionConfiguration) { objs = new List<IPhysicObject>(); ctns = new List<IPhysicConstraint>(); world = new DiscreteDynamicsWorld(dispatcher, pairCache, constraintSolver, collisionConfiguration); world.Gravity = gravity; }
public DiscreteDynamicsWorld(Dispatcher dispatcher, BroadphaseInterface pairCache, ConstraintSolver constraintSolver, CollisionConfiguration collisionConfiguration) : base(btDiscreteDynamicsWorld_new(dispatcher != null ? dispatcher._native : IntPtr.Zero, pairCache != null ? pairCache._native : IntPtr.Zero, constraintSolver != null ? constraintSolver._native : IntPtr.Zero, collisionConfiguration != null ? collisionConfiguration._native : IntPtr.Zero)) { _constraintSolver = constraintSolver; Dispatcher = dispatcher; Broadphase = pairCache; }
/// <summary> /// コンストラクター /// </summary> public PhysicsSimulator() { var cc = new DefaultCollisionConfiguration (); this.dispatcher = new CollisionDispatcher (cc); this.broadphase = new DbvtBroadphase (); this.solver = new SequentialImpulseConstraintSolver (); this.wld = new DiscreteDynamicsWorld (dispatcher, broadphase, solver, cc); this.wld.Gravity = new BulletSharp.Vector3 (0, -9.8f, 0); // 重力は-Y方向 }
public DiscreteDynamicsWorld(Dispatcher dispatcher, BroadphaseInterface pairCache, ConstraintSolver constraintSolver, CollisionConfiguration collisionConfiguration) { IntPtr native = btDiscreteDynamicsWorld_new( dispatcher != null ? dispatcher.Native : IntPtr.Zero, pairCache != null ? pairCache.Native : IntPtr.Zero, constraintSolver != null ? constraintSolver.Native : IntPtr.Zero, collisionConfiguration != null ? collisionConfiguration.Native : IntPtr.Zero); InitializeUserOwned(native); InitializeMembers(dispatcher, pairCache, constraintSolver); }
public BulletPhysicWorld(Vector3 gravity) { collisionConf = new DefaultCollisionConfiguration(); Dispatcher = new CollisionDispatcher(collisionConf); Broadphase = new DbvtBroadphase(); constraintSolver = new SequentialImpulseConstraintSolver(); objs = new List<IPhysicObject>(); ctns = new List<IPhysicConstraint>(); world = new DiscreteDynamicsWorld(Dispatcher, Broadphase ,constraintSolver, collisionConf); world.Gravity = gravity; }
void Awake () { if (BtWorld.main == null || gameObject.tag.Equals ("main")) BtWorld.main = this; // TODO: expose in editor? broadphase = new BulletSharp.DbvtBroadphase (); collisionConfiguration = new BulletSharp.DefaultCollisionConfiguration (); dispatcher = new BulletSharp.CollisionDispatcher (collisionConfiguration); solver = new BulletSharp.SequentialImpulseConstraintSolver (); world = new BulletSharp.DiscreteDynamicsWorld (dispatcher, broadphase, solver, collisionConfiguration); world.Gravity = new BulletSharp.Vector3 (gravity.x, gravity.y, gravity.z); world.DebugDrawer = new UnityDebugDrawer (); world.DebugDrawer.DebugMode = BulletSharp.DebugDrawModes.None; foreach (BulletSharp.DebugDrawModes drawMode in debugDrawModes) { world.DebugDrawer.DebugMode |= drawMode; } }
/// <inheritdoc/> void System.IDisposable.Dispose() { if (wld != null) { dispatcher.Dispose (); broadphase.Dispose (); solver.Dispose (); wld.Dispose (); this.dispatcher = null; this.broadphase = null; this.solver = null; this.wld = null; } }
protected internal void InitializeMembers(Dispatcher dispatcher, BroadphaseInterface pairCache, ConstraintSolver constraintSolver) { InitializeMembers(dispatcher, pairCache); _constraintSolver = constraintSolver; }
public BulletSharpPhysicsComponent(Game game, BulletSharpPhysics.CollisionConfiguration collisionConf, BulletSharpPhysics.ConstraintSolver solver, Vector3 gravity) : base(game) { BulletSharpPhysics.CollisionDispatcher Dispatcher = new BulletSharpPhysics.CollisionDispatcher(collisionConf); World = new BulletSharpPhysics.DiscreteDynamicsWorld(Dispatcher, new BulletSharpPhysics.DbvtBroadphase(), solver, collisionConf); //World = new BulletSharpPhysics.DiscreteDynamicsWorld(Dispatcher, new BulletSharpPhysics.AxisSweep3(new Vector3(-1000),new Vector3(1000),16384), solver, collisionConf); World.Gravity = gravity; }