游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2570|回复: 1

1.72版本的ogre中地形的射线查询实体

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-12-19 17:20:00 | 显示全部楼层 |阅读模式
1.7以上的版本有对地形和射线查询进行了更改,以前的实体查找是通过:

if (it->movable && it->movable->getName().substr(0, 5) != "tile[")
    {
     if (it->movable->getName()=="spider")
     it->movable->getParentSceneNode()->showBoundingBox(true);
     IsDogChoose=true;
     CurName=it->movable->getName();
     break;
    }

这中方式查找,但是新版本是通过:

Vector3 node=mNode->getPosition();
  Ray ray1;
  ray1.setOrigin(Vector3(node.x, mTerrainPos.y + 1000, node.z));
  ray1.setDirection(Vector3::NEGATIVE_UNIT_Y);
  TerrainGroup::RayResult rayResult1 = mTerrainGroup->rayIntersects(ray1);
  if (rayResult1.hit)
  {
   mNode->setPosition(Vector3(node.x,rayResult1.position.y-2,node.z));
  }

这种方式查找,这个可以查询位置,但是怎么查找在场景中的某个实体呢?一直没找到办法,希望哪位高手用过的,或者知道的帮帮我……
[em17]

5

主题

60

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2011-1-6 15:45:00 | 显示全部楼层

Re:1.72版本的ogre中地形的射线查询实体

实体一般有自己特有实体名,可以直接通过API获得实体。如果没有实体名,知道实体具体坐标值应该也可以遍历查询得到。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-3 05:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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