⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 terrain.cpp

📁 本人刚学游戏编程时开发的一个游戏项目《魔幻森林》中的地图编辑器源码
💻 CPP
字号:
#include ".\terrain.h"

CTerrain::CTerrain(SceneManager* mSceneMgr)
{
	m_fRayOriginHeight=500;
	m_pSceneManager=mSceneMgr;
	m_pSceneManager->setWorldGeometry("terrain.cfg");       //加载地形
	m_pRaySceneQuery = m_pSceneManager->createRayQuery(Ray(Vector3(500,500,500), Vector3::NEGATIVE_UNIT_Y));
}

CTerrain::~CTerrain(void)
{
}

float CTerrain::getHeight(float posX, float posZ)
{
    Ray ray;
	ray.setOrigin(Vector3(posX, m_fRayOriginHeight, posZ));       //设置发射源位置
	ray.setDirection(Vector3::NEGATIVE_UNIT_Y);                   //设置发射方向为负Y轴
	m_pRaySceneQuery->setRay(ray);                                //设置查询的射线
	RaySceneQueryResult& qryResult = m_pRaySceneQuery->execute();    //发射射线,并接收返回的结果
	RaySceneQueryResult::iterator i = qryResult.begin();
	if (i != qryResult.end() && i->worldFragment)
	{
		return i->worldFragment->singleIntersection.y; 
	}
	else
	{
        return 0;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -