NeoAxis游戏引擎是一个来自全功能,现代化的立体三维图形仿真,可视化和游戏引擎。 NeoAxis引擎是一个完整的创建360百科,包括3D虚拟世界,AAA级游戏,和现实的交互式三维图形仿真集成开发环境。同时具备实时3D引擎和一个全功能的工具套件组成的系统。
NeoAxis是一个3D游戏框架,它包含了3D渲染,物理,粒子,声音,建GUI等一切你需要的库,以及比较完整的编辑工具
NeoAxis 以最强大的开源引擎Ogre作为渲染引擎,支持所有.net语言
- 外文名称 Neoaxis
- 性质 3D游戏框架
- 包含 3D渲染,物理,粒子,声音
- 渲染引擎 最强大的开源引擎Ogre
技术简介
NeoAxis引擎是一个一流的技术,它可以很容易适应,因为它的精心设计和台滑灵活的工具软件的各种项目。我们的许多客户声称他们从来没有见过这种极其有效,易于理解的代码。
引擎的NeoAxis非商业许可证用于非商业应用和学习NeoAxis引擎。
这个SDK包括NeoAxis引擎演示,这展示了几乎所有的NeoAxis功能。还演示包含资源编辑器和地图编辑器,以便您可以开始您的项目发展。
对于游戏
该NeoAxis引擎包括为游戏开发的最要求的所有功能。
它包含了所有现代图形,物理和游戏项天紧特换夫保县目的音频功能。强大来自的NeoAxis工具将节省您的项目开发的宝贵时间。
的游戏种类繁多福,从AAA游戏休闲游戏,可以创建NeoAxis。
完整的游戏框架
N360百科eoAxis引擎包含一个快速和直观的游戏项目的开发酒棉范围广泛的基类。
其内容包括:
框架创造新的游戏类型
可扩展的基于网格的路径搜寻系统
水量与实际影响力和飞溅
削减现场经理
单位智力系统
单位,人物,车辆,武器,子弹,爆炸,还有更多
技术学习
在开始NeoAxis的学习前,你需要做一早松守国节全些事情
1。安装最新掉围片矿版本的Dx9.0c
如果你不确定机器上是不是最新版的,可以去微软下载Dx9最终用户运行时
2。安装.Net Framework2.0,我相信大部分人的机器上都有装,不过如果有人没有的话也可以去微软下载
愿元帮劳选考苏护浓个为3。好了,你可以半游愿并具搞军下载和安装NeoAxis了
4。如果你需要学习进一步的开发,我是说到代码级的开发而不是光点点工具玩玩的话,就必须安装C#的开发环境了。这个东西我就不提供开发环境了,推荐使用M四将角细么icrosoft Visual Studio 2008,当然如果你有20最亮行史05或者2010的话也没问题。这个比较大,大家可以慢慢下载,一时半会儿用不上。
准备工作到此结束,1-3是必须的,当你完成了1-3步后,请继续否犯计督盾减病看下去
安装完NeoAxis针境游移伯轴逐还祖,让我们打开目录看一下里面的东西
API Reference是他的API文档,不过没有看的价值,因为人家压根没写完,里面就只有一堆函数名...
比较重要的东西是Resource Editor和Map E房快挥继打皇给良ditor,他是编辑的核心工具,也是前期初级教学的主要内容
另外你现在结测呢游音及盟切可以运行一下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,也就是在地面上贴上一张预先渲染好的图。这样在实际运行中就不需要去动态计算诸如建筑,树木这些不会动的物体的阴影了,大大节省效率