我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 正经梳理一下开发01
来源:互联网 发布:npoi 导出excel java 编辑:程序博客网 时间:2024/04/30 00:01
我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 正经梳理一下开发01
原先一直认为我的世界开发起来很简单,不就是那么多方块拼接起来么。但是今年年初尝试了一下就觉得完全不是这么回事,因为当大量方块出现在屏幕上的时候就会出现效率的问题,即便你关闭光源,减少贴图的精度,或者设置什么摄像机裁剪的,也是不行的。
因为:
1 方块是动态生成的,生成的方法简单,因为有地形生成的函数PerlinNoise,有许多地方提供这样的算法的,我目前游戏里面用的就是Unity3D自身的Mathf.PerlinNoise来制作的,在Unity3D的文档里面搜索的话可以找到很好的介绍和例子,而且效率高……说了不相关的一些话,回到主题,方块是动态生成的,所以你设置摄像机的裁剪是基本没用的。摄像机的裁剪是要在已知地图上设置的,动态生成的话意味着一开始场景里面什么都没有;
2 关闭光源就会减少许多游戏机制,怪物可都是在无光源的地方生成的哦!!!
3 减少贴图的精度,这个么……本来已经是很简单的贴图了,16*16,你再怎么减?
所以通常的一些解决方法是没有办法解决的。后来网上查了资料,才找到了解决的关键秘法,就是合并方块。在我的世界游戏里面会有chunk的概念,就是一大块地区的方块合并成一个逻辑意义上的方块,然后渲染的时候把不必要的面省去,就可以得到一个非常简单的方块来处理和渲染。用了这个方法就可以生成超大型地图了,如下:
这样的地形看似复杂,已经很像我的世界了,而渲染的时候帧数却非常高,在editor里面就已经有76帧,通过帧数控制才往下控制到了60帧。
今天先写到这里,如果要看详细的开发日志,请到http://www.igamesoho.com去,那里有最详尽的开发记录。
- 我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 正经梳理一下开发01
- Unity3D MineCraft 我的世界 用Unity3D制作类似MineCraft我的世界的游戏:各种树
- 我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 洞穴算是完成了
- 我的世界 unity3d minecraft 用unity3d来制作类似我的世界的游戏 优化树和草
- Unity3D MineCraft 我的世界 类似游戏的地形编辑器
- 我的世界 unity3d minecraft 用unity3d制作我的世界的游戏 优化
- Unity3D MineCraft 使用Unity3D制作MineCraft 我的世界 存盘和读取问题解决
- Minecraft我的世界开服教程
- Unity3D MineCraft 我的世界 UGUI屏幕自适应以及按钮事件传输
- Unity实现类似我的世界(Minecraft)的创建物体以及销毁物体的功能
- Minecraft (我的世界)服务器搭建经验分享
- 【云计算的1024种玩法】自己搭游戏服务器:我的世界Minecraft
- 【云计算的1024种玩法】自己搭游戏服务器:我的世界Minecraft
- 我的世界(Minecraft)1.8 mod 制作——为你的mod添加自定义音效
- Unity Minecraft 我的世界 核心渲染机制的简单实现 一个面的渲染
- Minecraft:随时随地创造你的世界
- OpenGL编写Minecraft 《my我的世界》 总结及演示程序
- Minecraft的世界生成过程(一)生成地形之前
- RecyclerView+SwipeRefreshLayou封装下拉刷新,上拉加载功能
- 一直在用的一篇ctex模板
- JavaScript模块化编程 - CommonJS, AMD 和 RequireJS之间的关系
- POJ 1785 : Binary Search Heap Construction
- STM32跑马灯例程总结
- 我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 正经梳理一下开发01
- 算法第一弹:时间复杂度和空间复杂度
- VMware下安装Ubuntu遇到VMware Easy Install
- 网络流24题1 飞行员配对方案问题
- fastjson解析转化json串
- Qt操作excel
- 蛇形填数
- 在博客中用latex写公式
- 密码学常见基本概念-序列密码,一次一密