using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TerrianTest : MonoBehaviour {
public Terrain m_terrainFrom;
public Terrain m_terrainTo;
// Use this for initialization
void Start () {
//m_terrainTo.terrainData.treePrototypes = null;
m_terrainTo.terrainData.detailPrototypes = new DetailPrototype[0];
m_terrainTo.terrainData.treeInstances = new TreeInstance[0];
Debug.Log(m_terrainFrom.terrainData.treeInstanceCount);
TreePrototype[] bufFrom = m_terrainFrom.terrainData.treePrototypes;
TreeInstance[] bufIns = m_terrainFrom.terrainData.treeInstances;
m_terrainTo.terrainData.treePrototypes = bufFrom;
m_terrainTo.terrainData.detailPrototypes = m_terrainFrom.terrainData.detailPrototypes;
DetailMapCopy (m_terrainFrom, m_terrainTo);
for (int i = 0; i < bufIns.Length; i++)
{
m_terrainTo.AddTreeInstance (bufIns [i]);
}
}
void DetailMapCopy(Terrain t,Terrain to)
{
var map = t.terrainData.GetDetailLayer(0, 0, t.terrainData.detailWidth, t.terrainData.detailHeight, 0);
to.terrainData.SetDetailLayer(0, 0, 0, map);
}
}
unity3d:terrain地形数据拷贝,包含树和草的信息
Unity地形复制技巧
最新推荐文章于 2024-11-18 15:12:55 发布
本文介绍了一个Unity中的地形复制脚本实现方法。通过该脚本,可以将一个地形的所有细节包括树木实例、细节原型等信息复制到另一个地形上,实现快速地形搭建。文中详细展示了如何通过代码操作Unity的Terrain组件来完成这一过程。
该文章已生成可运行项目,
本文章已经生成可运行项目
16万+





