2,572
社区成员
昨天在做一个场景,内容是当前的地形在下个场景中某些部分要更改,例如地面下陷什么的。我就把当前的地形做成预置体,带到下个场景中开发,在这时,我就掉到深坑里了。T-T
上个图方便讲解:
深坑就是复制出来的Terrain是用同一个terraindata,而我在之前并不知道,而且场景不同修改完后并没有马上发现问题,所以只能从头在做一遍旧的地形。
实际效果如下:
怎么解决复制出来的地形不跟原地形用动一份数据呢?我在国内网上找了蛮久也没在相关内容,不知道是不是我太菜才会遇到,哈哈。所以决定写下这个帖子记录一下。
言归正题,先感谢这个帖子https://forum.unity.com/threads/how-to-duplicate-terrain-and-edit-the-copy.981006/,是国外Unity官网上的找到的解决方法。
方法如下:
原理:正因为是用同一份data
,那么分开他们就得了。在window视窗下复制出副本。
回到Terrain组件上换上对应的data,但问题这时Terrain没有更换data的方法,只有Terrain的碰撞器可以更换。
而帖子上说了Unity官方不知道出于什么原因把一些组件上的参数隐藏起来了,所以把Debug模式开起来就看见了。
更换上去后就达到我想要的效果:
到这问题就解决了。希望能帮助到大家,也希望国内关于技术和解决方案的帖子能更多,8
ps:
1:在window下复制出来的terraindata,unity引擎是会自动分配id的,所以放心使用。
2:记得同时要把TerrainCollider也要换成对应的数据啊。
谢谢
真的,太棒了。一直没想通这个问题。
牛逼 , 解决了我从业多年的疑惑
太棒了
给力!
之前也被这个问题困惑,非常感谢
谢谢分享