目前写的独立游戏是一个沙盒类型的游戏。游戏DEMO视频如下:
提到沙盒类型的游戏,就有人给出了这样的定义:
游戏世界离现实世界越近,自由度、随机度越高才叫沙盒游戏。所谓自由度,就是你在游戏里想干啥就干啥,想开车就开车,想走路就走路。想盖房子就盖房子,没有城管来找你麻烦。那么随机度,就是每天发生的事情不能一样,做的任务也不会就一条线路可走。
在我的沙盒游戏里,地形上的树木,岩石等都是随机生成的,这样不同的人玩的地图都会不一样。当然如果最后能做到地形也随机生成那就更完美了。
下面我就讲下树木随机生成在地图上的原理。
在unity3d里要想动态生成一个GameObject,那需要使用Instantiate函数加载树木的模型组件到指定的坐标位置上。
我们的实现步骤如下:
1.在unity3d里的Assets目录下创建Prefabs文件夹,然后在其中创建Resources(重要:不然无法用代码动态加载)子文件夹,再把树木的模型预制件放入其中。
2.使用Instantiate函数动态加载树木预制件
var itemResource = Resources.Load("Tree"+i); //I是可变随机数
GameObject itemObj = Instantiate