unity3d模拟树叶飘动_Unity3D独立游戏开发日记(一):动态生成树木

目前写的独立游戏是一个沙盒类型的游戏。游戏DEMO视频如下:

提到沙盒类型的游戏,就有人给出了这样的定义:

游戏世界离现实世界越近,自由度、随机度越高才叫沙盒游戏。所谓自由度,就是你在游戏里想干啥就干啥,想开车就开车,想走路就走路。想盖房子就盖房子,没有城管来找你麻烦。那么随机度,就是每天发生的事情不能一样,做的任务也不会就一条线路可走。

在我的沙盒游戏里,地形上的树木,岩石等都是随机生成的,这样不同的人玩的地图都会不一样。当然如果最后能做到地形也随机生成那就更完美了。

下面我就讲下树木随机生成在地图上的原理。

在unity3d里要想动态生成一个GameObject,那需要使用Instantiate函数加载树木的模型组件到指定的坐标位置上。

我们的实现步骤如下:

1.在unity3d里的Assets目录下创建Prefabs文件夹,然后在其中创建Resources(重要:不然无法用代码动态加载)子文件夹,再把树木的模型预制件放入其中。

2.使用Instantiate函数动态加载树木预制件

var itemResource = Resources.Load("Tree"+i);   //I是可变随机数

GameObject itemObj = Instantiate(itemResource, new Vector3(X, Y, Z), Quaternion.identity) as GameObject;

3.使用循环改变i的值,以及改变X,Y,Z的值。

要注意的是i的值范围,要和树木预制件的编号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值