转载

MineCraft? Nope, My Craft!!!

这是一个Minecraft-Like Style的记录。均以图片展示:

reference:TechCraft

http://techcraft.codeplex.com/

说明:这个项目的下面的介绍给的图片看起来做的还不错,但是实际上里面的代码的效果却(还是看图吧):

techcraft项目的效果图(左),代码编译后的实际效果(右)

MineCraft? Nope, My Craft!!! MineCraft? Nope, My Craft!!!

明明就是两个完全不一样的东西嘛,这差得还真是蛮多的。

查看代码发现:这个项目构建区块(一个16x128x16)耗时长久,而且,所显示的范围十分狭小(只有5x1x5),但是从这里面了解基本minecraft中Cube的处理方式

找了一些资料尤其以这个:

https://github.com/fogleman/Craft

http://www.michaelfogleman.com/craft/

这个资料说到了AO的简便实现方式,还蛮有效果的:

下面是我到目前为止实现的效果:

MineCraft? Nope, My Craft!!!

加入AO

MineCraft? Nope, My Craft!!!

MineCraft? Nope, My Craft!!!

这个改到这里发现techCraft的代码实在是改不动了,太慢了(主要是IO),便直接扔掉,重新又从头开了一个新project:

这个动态生成地形:也就是无限大小的(uint最大值2^32-1是多少来着?4000万)(techcraft的小地形真是受够了)

直接纹理映射:

MineCraft? Nope, My Craft!!!

加入了AO:

MineCraft? Nope, My Craft!!!

MineCraft? Nope, My Craft!!!

来个洞:

MineCraft? Nope, My Craft!!!

可编辑(删除/添加)

MineCraft? Nope, My Craft!!!

(TODO:流体,光影,存储) 

大家不要抱怨为啥视距这么小,因为我实在win8平板上写的代码的(不是surface),性能的话(60fps好像没问题), 而且显示范围大了,生成地图也要时间。

最后:

如果想知道细节实现的话,可以去上面提到的的链接上看(再写一遍):

https://github.com/fogleman/Craft

下了代码,头都晕了,我也就看了他说的如何实现的。

正文到此结束
Loading...