标题：Neoaxis
NeoAxis简介
NeoAxis游戏引擎是一个全功能，现代化的立体三维图形仿真，可视化和游戏引擎。 NeoAxis引擎是一个完整的创建，包括3D虚拟世界，AAA级游戏，和现实的交互式三维图形仿真集成开发环境。同时具备实时3D引擎和一个全功能的工具套件组成的系统。
NeoAxis引擎是一个一流的技术，它可以很容易适应，因为它的精心设计和灵活的工具软件的各种项目。我们的许多客户声称他们从来没有见过这种极其有效，易于理解的代码。
引擎的NeoAxis非商业许可证用于非商业应用和学习NeoAxis引擎。
这个SDK包括NeoAxis引擎演示，这展示了几乎所有的NeoAxis功能。还演示包含资源编辑器和地图编辑器，以便您可以开始您的项目发展。
对于游戏
该NeoAxis引擎包括为游戏开发的最要求的所有功能。
它包含了所有现代图形，物理和游戏项目的音频功能。强大的NeoAxis工具将节省您的项目开发的宝贵时间。
的游戏种类繁多，从AAA游戏休闲游戏，可以创建NeoAxis。
完整的游戏框架
NeoAxis引擎包含一个快速和直观的游戏项目的开发范围广泛的基类。
其内容包括：
框架创造新的游戏类型
可扩展的基于网格的路径搜寻系统
水量与实际影响力和飞溅
削减现场经理
单位智力系统
单位，人物，车辆，武器，子弹，爆炸，还有更多
学习NeoAxis
在开始NeoAxis的学习前，你需要做一些事情
1。安装最新版本的Dx9.0c
如果你不确定机器上是不是最新版的，可以去微软下载Dx9最终用户运行时
2。安装.Net Framework2.0，我相信大部分人的机器上都有装，不过如果有人没有的话也可以去微软下载
3。好了，你可以下载和安装NeoAxis了
4。如果你需要学习进一步的开发，我是说到代码级的开发而不是光点点工具玩玩的话，就必须安装C#的开发环境了。这个东西我就不提供开发环境了，推荐使用Microsoft Visual Studio 2008，当然如果你有2005或者2010的话也没问题。这个比较大，大家可以慢慢下载，一时半会儿用不上。
准备工作到此结束，1-3是必须的，当你完成了1-3步后，请继续看下去
安装完NeoAxis，让我们打开目录看一下里面的东西
API Reference是他的API文档，不过没有看的价值，因为人家压根没写完，里面就只有一堆函数名...
比较重要的东西是Resource Editor和Map Editor，他是编辑的核心工具，也是前期初级教学的主要内容
另外你现在可以运行一下Demo.exe，看一下他提供的一些Demo，效果挺棒的。如果你跑不了，就说明你的机器悲剧了
下面，我们瞎做一个小Demo玩吧
打开Map Editor，新建一张地图
第一步，我们给黑漆漆的世界增加一个天空体。在右侧的Entity Types中找到BlueDaySky并选中，然后再黑色的地方点击一下，是不是看到一个半球形的天空体了？
名词解释：天空体
天空体是大部分3D游戏的一个基础。因为3D世界是有空间的，为了不让人看到黑色的区域，所以就把Camera包围在一个天空体中。这样最坏的情况玩家也能看到蓝天白云。
天空体一般有几种形式构成，比如我们现在使用的是半球。还有一些做法是使用盒子，也就是一个六面体。但是其实盒子的底面是基本看不到的（因为我们有地面），所以也有使用5面体来做天空盒的。
加完天空就要加大地了，我们在Types-Base中找到HeightmapTerrain并选中，点击添加看到绿油油的草地了不？这就是基础的高度图地面
名词解释：高度图
在很多有室外景的3D游戏中普遍使用高度图技术作为地形基础。高度图其实就是一张灰度图，用灰度图中每个像素点的灰度值来表示地面上每个点的实际高度，然后经过渲染变成一个高低起伏的地形。
下面我们可以开始编辑地形了，在上面MapEntities中双击HeightmapTerrain，在Properties窗口中就会看到Edit按钮，按下去吧，就会出现一个小的编辑窗。
看到窗口里Tool中的下拉窗，Raise是抬高底面，Lower是降低，其他我就不啰嗦了，自己试试就知道是啥了。下面的Shape是笔刷的形状，Radius是作用半径和影响半径，Strength是调整强度。
你选择Tool中的Paint选项时，就意味着是给底面刷上颜色。现在你看到我们有Base和second两种Layers，也就是可以刷上这两种颜色，尝试着刷一下～～
下面我们看看如何添加自己定义的底面颜色。先关掉edit的编辑窗把，暂时用不到了。在HeightmapTerrain的属性页里，找到Layers这项，按“...”点开窗口，看到了刚才我们使用的Base和second layer了吧，点击添加增加一个layer。然后在属性中添加BaseMap，DetailMap和NormalMap。由于时间关系我直接添加了BaseMap：Maps\TankDemo\Resources\Terrain\Rock_Diffuse.dds和NoramlMap：Maps\TankDemo\Resources\Terrain\Rock_Normal.dds，DetailMap留空。
名词解释：BaseMap，DetailMap和NormalMap
BaseMap是你需要的基色，也就是底色。如果你没有特殊需求的话，添加这个就ok了
DetailMap是细节图，是覆盖在BaseMap上的一层细节纹理
NormalMap可能比较复杂，他是一种利用Shader技术根据法相图重新计算纹理的光照强度，使贴图即使没有很多的面也可以看起来凹凸不平的一门技术，以丰富纹理的细节
确定后再点下Edit，看看是不是已经有了刚才加的东西？
光有底面不好看，我们加一片海吧
找到Types.Special中的WaterPlane，点击添加。看到海了，可是颜色不对，好像和底面重叠了？那是因为底面和海的高度都是0，所以渲染顺序有问题。我们把海抬高一点点吧，双击选中WaterPlane，在属性中找到Position，把高度设为0.5。需要注意的是，NeoAxis的坐标轴是Z轴向上的，所以你需要把z值填喂0.5即可
同时需要设置一个物理高度，把属性中的PhysicsHeight填个1吧
呵呵，下面你可以玩上一会儿了，我也自己画了张，如图
现在怎么样？是不是有点样子了？我们进去跑一跑吧，要运行游戏，你需要添加一个出生点
在Special中找到SpawnPoint，选中后就可以在地图某个地方放上一个黄色小旗子，这就是角色出生的地方了
现在你可以点击上面的箭头运行游戏了，进去逛逛吧
ps，水里面也可以游泳哦，倒退着游可以看到水花
然后你觉得奇怪么？底面颜色黑乎乎的，其实是因为我们场景上还没有光源！
找到Base.Light，点击添加一个。怎么是锥形灯呢？我们需要的应该是一个平行光源（类似太阳光），双击你添加的Light，在属性中找到LightType，改成Directional，然后在Rotation中把y改为300，让光源有一个倾角。
名词解释：Light
对于3D游戏，光源的计算是非常重要的。他同时影响模型的受光和阴影两大要素，也就是影响到游戏画面效果最重要的因素。不过，光源越多，程序的计算量就越大，所以一般我们不赞成同一区域有3个以上的光源影响
光有光源是不够的，我们还需要烘焙一下Lightmap，下一步，添加一个Base.StaticLightingManager，然后选中他，点击Calculater，发现显示光源数为0，原来刚才添加的Light没有开启静态光支持。返回选中刚才的Light，把AllowStaticLighting开启。再次选中StaticLightingManager，你可以点Start开始烘培了。烘培速度有点慢，你可以喝杯茶休息一下。
烘培结束后，点击运行看看，是不是亮了呢？
名词解释：LightMap
LightMap是很多3D游戏都会采用的一门阴影技术。实际上大部分3D游戏的阴影都会分为动态阴影和静态阴影。动态阴影是实时生成的，但是计算量巨大，很影响效率，一般只有运动的物体才会采用这种阴影，比如移动的人物和车辆等。其他静态的物体，使用的都是LightMap，也就是在地面上贴上一张预先渲染好的图。这样在实际运行中就不需要去动态计算诸如建筑，树木这些不会动的物体的阴影了，大大节省效率