游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2738|回复: 2

??????????????

[复制链接]

14

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2007-11-29 16:55:00 | 显示全部楼层 |阅读模式
??????????????????3DMax????????????????????Z??????????0.0, 0, 160.0????0.0, 0, 0.0????????????????????????0.0, 0, 160.0????????Z?????????????0, 0, 0??????????????????????????????????
??????????????Line3D????http://www.ogre3d.org/wiki/index.php/Line3D?
void XDemoApp::createScene(void)
{
        mGUIRenderer = new CEGUI::OgreCEGUIRenderer(mWindow,
                Ogre::RENDER_QUEUE_OVERLAY, false, 3000, mSceneMgr);
        mGUISystem = new CEGUI::System(mGUIRenderer);
        CEGUI:ogger::getSingleton().setLoggingLevel(CEGUI::Informative);

        CEGUI::SchemeManager::getSingleton().loadScheme(
                (CEGUI::utf8*)"TaharezLookSkin.scheme");
        mGUISystem->setDefaultMouseCursor(
                (CEGUI::utf8*)"TaharezLook", (CEGUI::utf8*)"MouseArrow");
        mGUISystem->setDefaultFont((CEGUI::utf8*)"BlueHighway-12");
        CEGUI::MouseCursor::getSingleton().setImage("TaharezLook", "MouseArrow");
        CEGUI::MouseCursor::getSingleton().show( );
        setupEventHandlers();
        // ??????
        mSceneMgr->setAmbientLight(ColourValue(1, 1, 1));
        Entity *ent = mSceneMgr->createEntity("Wall", "wall.mesh");
        SceneNode *node = mSceneMgr->getRootSceneNode()->createChildSceneNode("WallNode");
        node->attachObject(ent);
        // ????
        Line3D *myLine = new Line3D();
        myLine->addPoint(Vector3(0.0, 0, 160.0));
        myLine->addPoint(Vector3(0.0, 0, 0.0));
        myLine->drawLines();
        SceneNode *myNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
        myNode->attachObject(myLine);
        // ???????
        mCamera->setPosition(Vector3(0, 20, 200));
        mCamera->lookAt(Vector3(0, 0, 0));
        // Overlay
        overlay = OverlayManager::getSingleton().getByName("Example1/VolTexOverlay");   
        overlay->show();

        Vector3 intersectPoint;
        // ??????(0.0, 0, 160.0)????????Z??????
        RaySceneQuery* raySceneQuery = mSceneMgr->createRayQuery(Ray(Vector3(0.0, 0, 160.0), Vector3::NEGATIVE_UNIT_Z));
        raySceneQuery->setSortByDistance(true);
        RaySceneQueryResult& qryResult = raySceneQuery->execute();

        RaySceneQueryResult::iterator it;
        it = qryResult.begin();
        // ??????Overlay??????
        if(it != qryResult.end() && it->worldFragment)
        {
                intersectPoint = it->worldFragment->singleIntersection;
                OverlayManager::getSingleton().getOverlayElement("Example1/Info/Para1")->setCaption(StringConverter::toString(intersectPoint));
        }
        // ????Overlay???????????Size
        else
        {
                OverlayManager::getSingleton().getOverlayElement("Example1/Info/Para1")->setCaption(StringConverter::toString(qryResult.size()));
        }
}
??????????
sf_20071129165435.jpg

22

主题

75

帖子

112

积分

注册会员

Rank: 2

积分
112
QQ
发表于 2007-11-30 10:55:00 | 显示全部楼层

Re:??????????????

worldFragment??Terrain???????Entity??????movable????distance???Ray????????????????????????????????SubEntity????????????????OpCode + OgreOpCode?

14

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
 楼主| 发表于 2007-11-30 14:10:00 | 显示全部楼层

Re: ??????????????

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

本版积分规则

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

GMT+8, 2025-12-17 13:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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