unity怎么导入系统的树_unity3d 随机添加树木

本文介绍了在Unity3D中如何创建开放世界的随机地图,包括使用Terrain API来动态生成和设置树木。通过调整treePrototypes和treeInstances属性实现树木的种类、位置、大小和颜色的随机化。遇到树木没有碰撞体的问题,解决方案是通过重新加载TerrainCollider使其生效。文章提供了详细的代码示例,并分享了从百度搜索到的解决办法。
摘要由CSDN通过智能技术生成

开放世界随机地图才是最重要的..

随机生成树木

Terrain.terrainData //获取地形设置

terrainData.treePrototypes {get;set;} //获取或设置树木列表

{

GameObject prefab//树木实例

float bendFactor//设置大于0

}

terrainData.treeInstances {get;set;} //获取或设置地形上的树木

TreeInstance{

Vector3 position //树木位置

float widthScale //宽度大小

float heightScale //高度大小

float rotation //旋转y轴

Color32 color //大概的颜色

Color32 lightmapColor //不知道是什么鬼,反正我是设置白色,如有知道请留言 多谢

int prototypeIndex //对应树木所在索引

}

设置好后执行

terrainData.RefreshPrototypes();

2018-3-12

补充

新添加好的树木测试发现没有碰撞体,API完全没有提示 懵逼中

最后还是在百度上找到了

TerrainCollider tc = ATerrain.GetComponent();

tc.enabled = false;

tc.enabled = true;

居然要重新加载一次,完全没有想到..

来至:http://blog.sina.com.cn/s/blog_471132920101fzod.html

里面介绍非常详细,受益匪浅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值