【问题标题】:Irrlicht change terrain size (width + height)Irrlicht改变地形大小(宽度+高度)
【发布时间】:2013-09-10 16:41:35
【问题描述】:

我想更改 Irrlicht 中的地形大小(宽度 + 高度),但我没有找到任何功能。我想要一个带有一个纹理的动态地图。我是否为我的案例使用了错误的模式/类?

目前我有这个:

scene::ITerrainSceneNode* terrain = sceneManager->addTerrainSceneNode("media/terrain-heightmap.bmp", 0, -1,
    core::vector3df(0.f, -4.f, 0.f),     // position
    core::vector3df(0.f, 0.f, 0.f),     // rotation
    core::vector3df(1.f, 0.f, 1.f),  // scale
    video::SColor (255, 255, 255, 255),   // vertexColor
    5,                  // maxLOD
    scene::ETPS_17,             // patchSize
    4                   // smoothFactor
);

terrain->setMaterialFlag(video::EMF_LIGHTING, false);
terrain->setMaterialTexture(0, driver->getTexture("media/terrain-texture.jpg"));
terrain->setMaterialType(video::EMT_DETAIL_MAP);

我试图找到一些设置宽度+高度(大小)的setter,但我没有找到任何方法。

【问题讨论】:

    标签: c++ terrain irrlicht


    【解决方案1】:

    您可以使用 setScale 更改地形(或任何网格)的比例。

    terrain->setScale(vec3df(2.0f, 0.0f, 2.0f));
    

    当你创建地形时,你传递一个比例作为第三个参数。所以调用上面的线会导致你的地形在 X 和 Z 轴上是你的 sn-p 的两倍大(拉伸)。请注意,比例参数中的 0.0f y 值将使您的地形非常平坦,因为它将用于缩放高度图中提供的值。

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      • 2010-11-02
      • 2017-05-26
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      相关资源
      最近更新 更多