Version: 2022.3

TerrainData.GetInterpolatedHeights

切换到手册
public float[,] GetInterpolatedHeights (float xBase, float yBase, int xCount, int yCount, float xInterval, float yInterval);

参数

xBase 基本 x 坐标。
yBase 基本 y 坐标。
xCount 沿 X 轴的查询数。
yCount 沿 Y 轴的查询数。
xInterval 沿 X 轴的每个查询之间的间隔。
yInterval 沿 Y 轴的每个查询之间的间隔。

描述

使用标准化 x,y 坐标获取地形高度值的数组。

该函数返回大小为 [yCount, xCount] 的二维数组。每个返回值都是四个相邻地形高度样本之间的差值(基于采样点在四个相邻样本组成的四边形中所处的位置)。采样点从 (xBase, yBase) 开始均匀分布。各个点沿 X 轴的间隔为 /xInterval/,沿 Y 轴的间隔为 /yInterval/。所有浮点参数都指定为标准化坐标,其中 0 指示地形的左侧/顶部边框,1 指示地形的右侧/底部边框。如果某个采样点位于 [0,1] 之外,则系统会将它钳制到该范围内。


public void GetInterpolatedHeights (float[,] results, int resultXOffset, int resultYOffset, float xBase, float yBase, int xCount, int yCount, float xInterval, float yInterval);

参数

results 要通过高度值填充的数组。
resultXOffset X 轴上相对于数组开头的偏移,在该位置开始填充高度值。
resultYOffset Y 轴上相对于数组开头的偏移,在该位置开始填充高度值。
xBase 基本 x 坐标。
yBase 基本 y 坐标。
xCount 沿 X 轴的查询数。
yCount 沿 Y 轴的查询数。
xInterval 沿 X 轴的每个查询之间的间隔。
yInterval 沿 Y 轴的每个查询之间的间隔。

描述

使用标准化 x,y 坐标,通过地形高度值填充数组。

该函数采用一个二维数组,并将高度值填充到从 (resultXOffset, resultYOffset) 开始的部分中。与上面的函数重载不同,Unity 不保证在调用 GetInterpolatedHeights 函数期间分配任何内存。