zoukankan      html  css  js  c++  java
  • Axiom3D学习日记 2.介绍SceneManager,SceneNode,Entity

    SceneManager(场景管理类)

    所有出现在屏幕里的东西都受SceneManager管理(最好是这样),当你放置对象在场景里,SceneManager就会跟踪他们的位置,当你为场景创建一个相机,

    SceneManager也会追踪他们,等等.

    SceneManager有多种不同类型,如:渲染BSP地图,渲染地形等等.

    Entity(实体类)

    实体是能在场景里渲染的对象中的一种.他可以是一个3DMesh(模型),一个机器人,一条鱼,你的游戏角色所走的地形也是一个大的实体.

    这些就不属于实体,如:灯光,广告板,粒子,相机等等

    特别需要说明的是:在Axiom中,不能将一个entity直接添加到场景中,需要将entity绑定到一个ScreenNode上,这个ScreenNode作为场景节点将包含

    坐标,方向等信息.

    SceneNode(场景节点)

    再次强调,ScreenNode是一个包含位置,方向信息的节点类,它不能被渲染,只有当ScreenNode绑定了Entity,才能正确显示.

    ScreenNode可以绑定多个物体,例如:一个角色周围环绕着多个灯光.他们一起在场景里移动.

    ScreenManager有一个Root节点,而所有ScreenNode的位置都受其父节点影响.

    下面是创建一个基本物体的代码

    _scene.AmbientLight = new ColorEx(1, 1, 1);
    Entity ent = _scene.CreateEntity("Penguin", "penguin.mesh");
    SceneNode node = _scene.RootSceneNode.CreateChildSceneNode("PenguinNode");
    
    node.AttachObject(ent);
    Entity ent2 = _scene.CreateEntity("Penguin2", "penguin.mesh");
    SceneNode node2 = _scene.RootSceneNode.CreateChildSceneNode("Penguin2", new Vector3(100, 0, 0));
    node2.AttachObject(ent2);

    创建一个指定位置的物体.

  • 相关阅读:
    android 颜色值参考,(有颜色图
    Virtual address cache memory, processor and multiprocessor
    VUEJS2.0源码理解--优
    qlserver、Mysql、Oracle三种数据库的优缺点总结
    三层与MVC
    数据结构 常用定义
    c语言 typedef
    C动态内存分配
    c 指针(一)
    stdlib 头文件
  • 原文地址:https://www.cnblogs.com/niconico/p/5007473.html
Copyright © 2011-2022 走看看