Ignore:
Timestamp:
Aug 12, 2012, 11:07:23 PM (10 years ago)
Author:
touky
Message:

So Character Controller works with a lazy camera logic.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/Physics/LolPhysics.h

    r1698 r1724  
    4646        {
    4747                // Build the broadphase
    48                 m_broadphase = new btDbvtBroadphase();
     48                if (1)
     49                {
     50                        m_Sweep_broadphase = new btAxisSweep3(LOL2BT_VEC3(m_world_min), LOL2BT_VEC3(m_world_max));
     51                        m_Sweep_broadphase->getOverlappingPairCache()->setInternalGhostPairCallback(new btGhostPairCallback());
     52                        m_broadphase = m_Sweep_broadphase;
     53                }
     54                else
     55                        m_broadphase = new btDbvtBroadphase();
    4956 
    5057                // Set up the collision configuration and dispatcher
     
    99106        }
    100107
     108        void CustomSetWorldLimit(vec3 &NewWorldMin, vec3 &NewWorldMax)
     109        {
     110        }
     111
    101112        void CustomSetTimestep(float NewTimestep) { }
    102113
    103114        //broadphase
    104115        btBroadphaseInterface*                                  m_broadphase;
     116        btAxisSweep3*                                                   m_Sweep_broadphase;
    105117        // Set up the collision configuration and dispatc
    106118        btDefaultCollisionConfiguration*                m_collision_configuration;
     
    120132        void CustomSetContinuousDetection(bool ShouldUseCCD) { }
    121133        void CustomSetGravity(vec3 &NewGravity) { }
     134        void CustomSetWorldLimit(vec3 &NewWorldMin, vec3 &NewWorldMax) { }
    122135        void CustomSetTimestep(float NewTimestep) { }
    123136
     
    141154                m_gravity = NewGravity;
    142155                CustomSetGravity(NewGravity);
     156        }
     157
     158        //Sets the simulation gravity.
     159        void SetWorldLimit(vec3 &NewWorldMin, vec3 &NewWorldMax)
     160        {
     161                m_world_min = NewWorldMin;
     162                m_world_max = NewWorldMax;
     163                CustomSetWorldLimit(NewWorldMin, NewWorldMax);
    143164        }
    144165
     
    173194        bool                                                                    m_using_CCD;
    174195        vec3                                                                    m_gravity;
     196        vec3                                                                    m_world_min;
     197        vec3                                                                    m_world_max;
    175198};
    176199
Note: See TracChangeset for help on using the changeset viewer.