我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 正经梳理一下开发01
2016-12-20 21:12
393 查看
我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 正经梳理一下开发01
原先一直认为我的世界开发起来很简单,不就是那么多方块拼接起来么。但是今年年初尝试了一下就觉得完全不是这么回事,因为当大量方块出现在屏幕上的时候就会出现效率的问题,即便你关闭光源,减少贴图的精度,或者设置什么摄像机裁剪的,也是不行的。
因为:
1 方块是动态生成的,生成的方法简单,因为有地形生成的函数PerlinNoise,有许多地方提供这样的算法的,我目前游戏里面用的就是Unity3D自身的Mathf.PerlinNoise来制作的,在Unity3D的文档里面搜索的话可以找到很好的介绍和例子,而且效率高……说了不相关的一些话,回到主题,方块是动态生成的,所以你设置摄像机的裁剪是基本没用的。摄像机的裁剪是要在已知地图上设置的,动态生成的话意味着一开始场景里面什么都没有;
2 关闭光源就会减少许多游戏机制,怪物可都是在无光源的地方生成的哦!!!
3 减少贴图的精度,这个么……本来已经是很简单的贴图了,16*16,你再怎么减?
所以通常的一些解决方法是没有办法解决的。后来网上查了资料,才找到了解决的关键秘法,就是合并方块。在我的世界游戏里面会有chunk的概念,就是一大块地区的方块合并成一个逻辑意义上的方块,然后渲染的时候把不必要的面省去,就可以得到一个非常简单的方块来处理和渲染。用了这个方法就可以生成超大型地图了,如下:
这样的地形看似复杂,已经很像我的世界了,而渲染的时候帧数却非常高,在editor里面就已经有76帧,通过帧数控制才往下控制到了60帧。
今天先写到这里,如果要看详细的开发日志,请到http://www.igamesoho.com去,那里有最详尽的开发记录。
原先一直认为我的世界开发起来很简单,不就是那么多方块拼接起来么。但是今年年初尝试了一下就觉得完全不是这么回事,因为当大量方块出现在屏幕上的时候就会出现效率的问题,即便你关闭光源,减少贴图的精度,或者设置什么摄像机裁剪的,也是不行的。
因为:
1 方块是动态生成的,生成的方法简单,因为有地形生成的函数PerlinNoise,有许多地方提供这样的算法的,我目前游戏里面用的就是Unity3D自身的Mathf.PerlinNoise来制作的,在Unity3D的文档里面搜索的话可以找到很好的介绍和例子,而且效率高……说了不相关的一些话,回到主题,方块是动态生成的,所以你设置摄像机的裁剪是基本没用的。摄像机的裁剪是要在已知地图上设置的,动态生成的话意味着一开始场景里面什么都没有;
2 关闭光源就会减少许多游戏机制,怪物可都是在无光源的地方生成的哦!!!
3 减少贴图的精度,这个么……本来已经是很简单的贴图了,16*16,你再怎么减?
所以通常的一些解决方法是没有办法解决的。后来网上查了资料,才找到了解决的关键秘法,就是合并方块。在我的世界游戏里面会有chunk的概念,就是一大块地区的方块合并成一个逻辑意义上的方块,然后渲染的时候把不必要的面省去,就可以得到一个非常简单的方块来处理和渲染。用了这个方法就可以生成超大型地图了,如下:
这样的地形看似复杂,已经很像我的世界了,而渲染的时候帧数却非常高,在editor里面就已经有76帧,通过帧数控制才往下控制到了60帧。
今天先写到这里,如果要看详细的开发日志,请到http://www.igamesoho.com去,那里有最详尽的开发记录。
相关文章推荐
- Unity3D MineCraft 我的世界 用Unity3D制作类似MineCraft我的世界的游戏:各种树
- 我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 洞穴算是完成了
- Unity3D MineCraft 我的世界 类似游戏的地形编辑器
- 我的世界 unity3d minecraft 用unity3d制作我的世界的游戏 优化
- Unity3D开发类似保龄球游戏
- 【Unity3D】学习笔记(第2记) 2D游戏开发基本技巧之背景制作
- Unity3D开发类似保龄球游戏
- Unity3D开发类似保龄球游戏
- Unity3D MineCraft 使用Unity3D制作MineCraft 我的世界 存盘和读取问题解决
- unity3d游戏是怎么开发制作出来的?
- Unity3D研究院之2D游戏开发制作原理(二十一)
- unity3d开发2d游戏:制作动画砖块实例代码
- 使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 (二)之地形场景漫游导览制作
- 使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 (三)之UI菜单制作
- 【Unity3D游戏开发】NGUI制作字体的三种方法 (二一)
- Unity3D研究之2D游戏开发制作原理
- Unity3D开发类似保龄球游戏
- [Unity3D]手机3D游戏开发:FPS射击游戏中瞄准镜CrossHair的制作
- Unity3D手机斗地主游戏开发实战(01)_发牌功能实现
- Unity3D+免费工具开发2D游戏之二:制作关卡1的界面