游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1412|回复: 0

一个地形,加上一棵树,在移动时,地形和树的相对位置

[复制链接]

75

主题

385

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2007-9-6 23:17:00 | 显示全部楼层 |阅读模式
但在Camera移动时,地形和树之间的位置会移动, 它们能相对不动吗?
CODE:
void createScene(void)
    {
   mSceneMgr->setAmbientLight(Colourvalue(1.5, 1.5, 1.5));

          mTerrainMgr = new ET::TerrainManager(mSceneMgr);
      mTerrainMgr->setLODErrorMargin(2, mCamera->getViewport()->getActualHeight());
      mTerrainMgr->setUseLODMorphing(true, 0.2, "morphFactor");

         ET::TerrainInfo terrainInfo (129, 129, vector<float>(129*129, 0.5f));
      // set position and size of the terrain
      terrainInfo.setExtents(AxisAlignedBox(0, 0, 0, 1500, 300, 1500));
      // now render it
      mTerrainMgr->createTerrain(terrainInfo);

       mSplatMgr = new ET::SplattingManager("ETSplatting", "ET", 128, 128, 3);
      
      mSplatMgr->setNumTextures(6);

      // create a manual lightmap texture
      TexturePtr lightmapTex = TextureManager::getSingleton().createManual(
        "ETLightmap", "ET", TEX_TYPE_2D, 128, 128, 1, PF_BYTE_RGB);
      Image lightmap;
      ET::createTerrainLightmap(terrainInfo, lightmap, 128, 128, Vector3(1, -1, 1), Colourvalue::White,
        Colourvalue(0.3, 0.3, 0.3));
      lightmapTex->getBuffer(0, 0)->blitFromMemory(lightmap.getPixelBox(0, 0));

      // load the terrain material and assign it
      MaterialPtr material (MaterialManager::getSingleton().getByName("ETTerrainMaterial"));
      mTerrainMgr->setMaterial(material);


Entity *ent =   mSceneMgr->createEntity("head", "taohua3.mesh");
      
  ent->setMaterialName("Examples/taohua");
      mSceneMgr->getRootSceneNode()->createChildSceneNode(Vector3(240, 0, 580))->attachObject(ent);
MaterialPtr mat=MaterialManager::getSingleton().getByName("Examples/taohua");
Pass *pass=mat->getTechnique(0)->getPass(0);
pass->setSceneBlending(SBT_TRANSPARENT_ALPHA);
pass->setDepthCheckEnabled(false);


   SceneNode* camNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
      camNode->setPosition( 40, 300, 580 );
      camNode->attachObject(mCamera);
      mCamera->pitch( Degree(-30) );
      mCamera->yaw( Degree(-45) );


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-18 22:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表