基于C# 和Irrlicht的3D漫游开发浅谈

                                                  基于Irrlicht1.41的3D漫游开发浅谈

          不久前开始研究这个引擎,功能前大就不用多说了,显而易见,开始的时候比较迷茫,使用的结构性东西很不明朗,现在搞懂了,分享给大家。

         Irrlicht下共有Irrlicht Irrlicht.Core Irrlicht.GUI Irrlicht.IO Irrlicht.Scence Irrlicht.Vedio,其中Irrlicht下的IrrlichtDevice是正个开发的核心。Sence以及Vedio的创建都必须与一个IrrlichtDevice实例相联系,例如:

                   ISceneManager smgr = device.SceneManager;
                   IVideoDriver driver = device.VideoDriver;

           另外在Irrlicht开发中的另一个不可忽视的就是Node ,不同类型的Node通过ISceneMangger的实例来添加,具体node的作用可以参看帮助文档 。(本例中的就是通过smgr来添见node)

           例如:

                  node = smgr.AddCubeSceneNode(10, null, 0, new Vector3D(0, 0, 30), new Vector3D(), new Vector3D(1, 1, 1));            

            ISceneNode n = smgr.AddTestSceneNode(10, null, 0, new Vector3D(), new Vector3D(), new Vector3D(1, 1, 1));     

         道理很简单,这样我们我们才能将我们的3维坐标和场景联系,同样每一个Mesh的导入也必须通过smgr(ISceneMangger的实例)。然后node与Mesh通过smgr相联系。例如:

            IAnimatedMeshSceneNode anms = smgr.AddAnimatedMeshSceneNode(
    smgr.GetMesh(path + "sydney.md2"), null, 0);  

            当所有的我们需要的模型导入后就剩下绘制了。

     device.VideoDriver.BeginScene(true, true, new Color(0, 200, 200, 200));
     device.SceneManager.DrawAll();
     device.VideoDriver.EndScene();  

      其实不是很难得,只要明白了他们之间的联系,开发起来还是很容易的,别忘了添加Camera,不同的Camera,使用起来是不一样的,有的时候还是比较给人惊喜的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值