Changeset 2411


Ignore:
Timestamp:
06/05/07 14:27:14 (17 years ago)
Author:
szirmay
Message:
 
Location:
GTP/trunk/App/Demos/Illum/Ogre/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Illum/Ogre/src/Common/include/FPSPlayer.h

    r2405 r2411  
    3030        bool frameStarted(const FrameEvent& evt); 
    3131        virtual void addWeaponModel(String meshname, String attachBoneName); 
    32         void doAction(); 
     32        void doAction(float dt); 
    3333 
    3434        static unsigned int frameListenerPriority; 
     
    8585        virtual void processMouseInputs(InputReader* inputDevice);       
    8686        void addWeaponModel(String meshname, String attachBoneName); 
    87         Vector3 getPosition(){return mPlayerCharacter->getGlobalPosition();} 
     87        Vector3 getPosition(){return mPlayerNode->getWorldPosition(); 
     88                return mPlayerCharacter->getGlobalPosition();} 
    8889//      Vector3 getOrienation(){return mPlayerCharacter->getGlobalOrientation();} 
    8990 
  • GTP/trunk/App/Demos/Illum/Ogre/src/Common/src/FPSPlayer.cpp

    r2405 r2411  
    2121{ 
    2222public: 
    23         MyCharMoveController(float speed = 1.5){movespeed = speed; mWeaponBound = 0;} 
     23        MyCharMoveController(float speed = 1.5){movespeed = speed;} 
    2424        float movespeed; 
    25         Actor* mWeaponBound; 
    26         Vector3 mWeaponPosition; 
    27         SceneNode* mWeaponDebugNode; 
    2825        void move(NxVec3 &out, NxVec3 &moveVector, NxQuat &direction, NxVec3 &g, float t, Character*) 
    2926        { 
    3027                NxVec3 dir = direction.rot(moveVector); 
    31                 out = ((dir * movespeed) + g) * t; 
    32          
    33                 if(mWeaponBound) 
    34                 { 
    35                         Vector3 addDir(0,0,0); 
    36                         //if(moveVector.z < 0) 
    37                                 addDir = Vector3(dir.x,0,dir.z) * t * movespeed * 1.2; 
    38                          
    39                         Vector3 newPos = mWeaponPosition/* + addDir*/; 
    40                         mWeaponBound->setGlobalPosition(newPos); 
    41                         mWeaponBound->simulate(t); 
    42                         //if(mWeaponDebugNode) 
    43                         //mWeaponDebugNode->setPosition(newPos); 
    44                         //mWeaponBound->moveGlobalPosition(mWeaponPosition); 
    45                         //mWeaponDebugNode->setPosition(mWeaponPosition); 
    46                 } 
     28                out = ((dir * movespeed) + g) * t;               
    4729        } 
    4830}; 
     
    6345        mPlayerNode = mPlayerCharacter->getNode(); 
    6446         
     47        mCharacterController = 0; 
    6548        mCharacterController = new MyCharMoveController(2.0); 
    6649        mPlayerCharacter->setMovementVectorController(mCharacterController); 
     
    7356        } 
    7457 
    75         //mCharacterMesh_AnimState = 0; 
     58        mCharacterMesh_AnimState = 0; 
    7659        mForceAnimChange = false; 
    7760        mWeapon = 0; 
    7861        mWeaponBound = 0; 
    7962        mWeaponBoundDebugNode = 0; 
    80          
    81 //      this->setPriority(frameListenerPriority++); 
    82 //      Root::getSingleton().addFrameListener(this); 
     63        mCharacterMeshEntity = 0; 
     64        mWeaponEntity = 0; 
     65        mWeaponAttachBone = 0; 
     66    mWeaponNode = 0; 
     67        mWeaponBoundNode = 0; 
     68        mWeaponBoundDebugNode = 0; 
     69        mPlayerBoundDebugNode = 0; 
     70        mWeaponBound = 0; 
     71        mWeaponNode2 = 0; 
     72                 
     73        this->setPriority(frameListenerPriority++); 
     74        Root::getSingleton().addFrameListener(this); 
    8375 
    8476        //mPlayerCharacter->setCharacterCollisionGroup(NX_CHARACTER_COL_GROUP_CHARACTER); 
     
    9183        mCameraHeight = cameraHeight - dimensions.y / 2.0; 
    9284        mCamera = cam; 
    93         mCamera->setPosition(Vector3(0, mCameraHeight, 0)); 
    9485        mPlayerNode->attachObject(cam);  
    95  
     86         
    9687        thePlayer = this; 
    9788} 
     
    116107        if(rotateModel) 
    117108        meshNode->rotate(Vector3::UNIT_Y, Degree(180.0)); 
     109        meshNode->_updateBounds(); 
    118110} 
    119111 
     
    171163        mWeaponBound = new MyTrigger(mName + "_WeaponTrigger", mScene, new CubeShape(dimX, dimY, dimZ, "trigger: yes"), Vector3(0,0,0), "mass: 0, density: 0"); 
    172164        mScene->addTrigger((Trigger*)mWeaponBound); 
    173          
    174         mCharacterController->mWeaponBound = mWeaponBound; 
    175          
     165                 
    176166        if(mDebug) 
    177167        { 
     
    179169                mWeaponBoundDebugNode->setScale(dim); 
    180170                mWeaponBoundDebugNode->attachObject(mSceneManager->createEntity(mName+"_WeaponBoundDebug", "cube.mesh")); 
    181                 mCharacterController->mWeaponDebugNode = mWeaponBoundDebugNode; 
    182171        } 
    183172 
     
    224213        mScene->addTrigger((Trigger*)mWeaponBound); 
    225214         
    226         mCharacterController->mWeaponBound = mWeaponBound; 
    227          
    228215        if(mDebug) 
    229216        { 
     
    231218                mWeaponBoundDebugNode->setScale(dim); 
    232219                mWeaponBoundDebugNode->attachObject(mSceneManager->createEntity(mName+"_WeaponBoundDebug", "cube.mesh")); 
    233                 mCharacterController->mWeaponDebugNode = mWeaponBoundDebugNode; 
    234220        } 
    235221 
     
    237223} 
    238224 
    239 void PlayerCharacter::doAction() 
     225void PlayerCharacter::doAction(float dt) 
    240226{ 
    241227        FPSPlayer* thePlayer = FPSPlayer::getPlayer(); 
     
    244230        { 
    245231                Vector3 playerPos = thePlayer->getPosition(); 
    246                 Vector3 myPos = mPlayerCharacter->getGlobalPosition(); 
     232                Vector3 myPos = mPlayerNode->getWorldPosition(); 
    247233                Vector3 dir = playerPos - myPos; 
    248234                dir.y = 0; 
    249                 if( dir.length() > 1.0) 
    250                 { 
     235                //if( dir.length() > 1.0) 
     236                //{ 
    251237                        dir.normalise(); 
    252                         Vector3 right = dir.crossProduct(Vector3::UNIT_Y); 
    253                         Quaternion q;  
    254                         Matrix3 rot; 
    255                         rot.SetColumn(0, right); 
    256                         rot.SetColumn(1, Vector3::UNIT_Y); 
    257                         rot.SetColumn(2, dir); 
    258                         //rot = rot.Transpose(); 
    259  
    260                         q.FromRotationMatrix(rot);                       
     238                        Vector3 right = -dir.crossProduct(Vector3::UNIT_Y); 
     239                        Quaternion q;                    
     240                        q.FromAxes(right,Vector3::UNIT_Y,dir); 
    261241                        mPlayerCharacter->setDirection(q);  
    262                         ((MyCharMoveController*)mCharacterController)->movespeed = 0.2; 
    263                 //      mPlayerCharacter->addMovement(Character::DR_Forward); 
    264                 } 
     242                        if(mCharacterController ) 
     243                        ((MyCharMoveController*)mCharacterController)->movespeed = 1.5; 
     244                        mPlayerCharacter->addMovement(Character::DR_StepRight); 
     245                //} 
    265246 
    266247        } 
     
    272253{ 
    273254//      LogManager::getSingleton().logMessage("CHARACTERPLAYER_FRAMESTARTED"); 
    274         doAction(); 
     255        doAction(evt.timeSinceLastFrame); 
    275256 
    276257        float dt = evt.timeSinceLastFrame; 
     
    325306                if (inputDevice->isKeyDown(KC_LSHIFT)) 
    326307                { 
     308                        if(mCharacterController) 
    327309                        ((MyCharMoveController*)mCharacterController)->movespeed = 4.0; 
    328310                        mRunning = true; 
     
    330312                else 
    331313                { 
     314                        if(mCharacterController) 
    332315                        ((MyCharMoveController*)mCharacterController)->movespeed = 2.0; 
    333316                        mRunning = false; 
     
    389372        } 
    390373 
     374        if(mCharacterMeshEntity) 
    391375        this->mCharacterMeshEntity->_updateAnimation(); 
    392376 
     
    401385                Vector3 translation = mWeaponBoundNode->getWorldPosition(); 
    402386                Quaternion orientation = mWeaponBoundNode->getWorldOrientation(); 
    403  
    404                 mCharacterController->mWeaponPosition  = translation; 
    405387                 
    406388                mWeaponBound->setGlobalOrientation(orientation);                 
    407                 //mWeaponBound->moveGlobalPosition(translation); 
     389                mWeaponBound->setGlobalPosition(translation); 
    408390 
    409391                //mWeaponBound->setGlobalPosition(translation);          
     
    469451void FPSPlayer::setAnimState(PlayerAnimState as) 
    470452{ 
     453        if(!mCharacterMeshEntity) 
     454                return; 
     455 
    471456        switch(as)       
    472457        { 
  • GTP/trunk/App/Demos/Illum/Ogre/src/Moria/include/Moria.h

    r2405 r2411  
    8080    { 
    8181                gFPSPlayer->processKeyInputs(mInputDevice); 
    82  
     82/* 
    8383                static float lastTime = 0; 
    8484                static Timer* t = Root::getSingleton().getTimer(); 
     
    103103                        throwSphere->addForce(mCamera->getDirection()*200); 
    104104         
    105                 } 
    106  
    107                  
    108                 //return ExampleFrameListener::processUnbufferedKeyInput(evt); 
     105                }*/ 
     106 
     107                 
     108        //      return ExampleFrameListener::processUnbufferedKeyInput(evt); 
    109109 
    110110                if( mInputDevice->isKeyDown( KC_ESCAPE) ) 
     
    133133        { 
    134134                gFPSPlayer->processMouseInputs(mInputDevice); 
     135//              return ExampleFrameListener::processUnbufferedMouseInput(evt); 
    135136                return true; 
    136137        } 
     
    214215                                 
    215216                Root::getSingleton()._setCurrentSceneManager(mSceneMgr); 
    216                 mCamera->setPosition(-20,3,0); 
     217                //mCamera->setPosition(-20,3,0); 
    217218                //mCamera->setPosition(0,100,0); 
    218219                //mCamera->lookAt(0,-1,0); 
    219                 mCamera->setFOVy(Radian(Degree(80))); 
    220                 mCamera->setNearClipDistance(0.01); 
     220                mCamera->setFOVy(Radian(Degree(90))); 
     221                mCamera->setNearClipDistance(0.001); 
    221222                mCamera->setFarClipDistance(150); 
    222223                // Set ambient light 
     
    307308            mAnimState->setEnabled(true);*/ 
    308309 
    309 //              PlayerCharacter::frameListenerPriority = 20; 
     310                PlayerCharacter::frameListenerPriority = 20; 
    310311                gFPSPlayer = new FPSPlayer(NXScene, mSceneMgr, Vector3(0.5, 1.8, 0.3), Vector3(5, 10, 15), 1.6, mCamera, false); 
    311312                //gFPSPlayer->addPlayerMesh("FPSarm.mesh", 0.02, true); 
    312313                //gFPSPlayer->addWeaponModel("sword.mesh", "joint28"); 
    313 /* 
     314 
    314315                PlayerCharacter* troll = new PlayerCharacter("troll1", NXScene, mSceneMgr, Vector3(1.5, 3.0, 1.2), Vector3(5, 10, 5), false); 
    315                 troll->addPlayerMesh("troll.mesh", 0.05, false);*/ 
     316                troll->addPlayerMesh("troll.mesh", 0.05, false); 
     317 
    316318                for(float i = 0; i< 7; i++) 
    317319                { 
  • GTP/trunk/App/Demos/Illum/Ogre/src/PRMDemo/include/PRMDemo.h

    r2405 r2411  
    6060           t += dt; 
    6161 
    62            //blueLight->setDirection(sin(t),sin(t),cos(t)); 
    63            blueLight->getParentSceneNode()->setPosition(30 * sin(t), 1, 30 * cos(t)); 
     62           Vector3 pos(30 * sin(t), 1, 30 * cos(t)); 
     63           blueLight->getParentSceneNode()->setPosition(pos); 
     64           Vector3 dir = pos; 
     65           dir.normalise(); 
     66           blueLight->setDirection(dir); 
     67           
    6468           
    6569        return result;      
     
    278282*/ 
    279283                blueLight = mSceneMgr->createLight("BlueLight"); 
    280                 blueLight->setType(Light::LT_POINT); 
     284                blueLight->setType(Light::LT_SPOTLIGHT); 
    281285                blueLight->setCastShadows(true); 
    282286        blueLight->setDiffuseColour(ColourValue(1,1,1,1)); 
     
    288292                blueLight->setPowerScale(200); 
    289293        //      blueLight->setDirection(1, 0, 0); 
    290         //      blueLight->setSpotlightOuterAngle(Radian(Degree(90))); 
    291                 blueLight->setAttenuation(200, 0, 0, 1); 
     294                blueLight->setSpotlightOuterAngle(Radian(Degree(90))); 
     295                blueLight->setSpotlightFalloff(1); 
     296                blueLight->setAttenuation(2000, 0, 0, 1); 
    292297                blueLightNode->attachObject(blueLight);          
    293298 
Note: See TracChangeset for help on using the changeset viewer.