UnityEngine.TerrainData.GetInterpolatedNormal C# (CSharp) Method

GetInterpolatedNormal() public method

Get an interpolated normal at a given location.

public GetInterpolatedNormal ( float x, float y ) : Vector3
x float
y float
return Vector3
        public Vector3 GetInterpolatedNormal(float x, float y)
        {
            Vector3 vector;
            INTERNAL_CALL_GetInterpolatedNormal(this, x, y, out vector);
            return vector;
        }

Usage Example

コード例 #1
0
    /// <summary>
    /// </summary>
    /// <param name="terrainData"></param>
    /// <param name="position">Location in the XZ plane (not the XY plane!)</param>
    /// <param name="sphereRadius"></param>
    /// <returns></returns>
    private static Vector3 AdjustSpawnPositionForTerrainShape(TerrainData terrainData, Vector2 position, float sphereRadius)
    {
        var height = terrainData.GetInterpolatedHeight(position.x, position.y);
        var normal = terrainData.GetInterpolatedNormal(position.x, position.y);

        var offsetAlongNormal = normal * sphereRadius;
        var positionOnTerrain = new Vector3(position.x, height, position.y);
        return positionOnTerrain + offsetAlongNormal;
    }
All Usage Examples Of UnityEngine.TerrainData::GetInterpolatedNormal